enum name and variant names more readable
This commit is contained in:
parent
8d2f0ab142
commit
fad2175aa2
14
src/lib.rs
14
src/lib.rs
|
@ -433,8 +433,13 @@ pub mod sdk {
|
||||||
.enumerate()
|
.enumerate()
|
||||||
// canonicalize the names into valid rust
|
// canonicalize the names into valid rust
|
||||||
.map(|(value, name)| {
|
.map(|(value, name)| {
|
||||||
let name = name.get_name().unwrap_or("AnonymousVariant".to_string());
|
let name = &name.get_name().unwrap_or("AnonymousVariant".to_string());
|
||||||
let name = canonicalize_name(&name).to_string();
|
|
||||||
|
// ignore everything preceeding the last double colon
|
||||||
|
let name = canonicalize_name(
|
||||||
|
name.rsplit_once("::").map(|(_, name)| name).unwrap_or(name),
|
||||||
|
)
|
||||||
|
.to_string();
|
||||||
(value, name)
|
(value, name)
|
||||||
})
|
})
|
||||||
// store conflicts next to each other
|
// store conflicts next to each other
|
||||||
|
@ -456,7 +461,7 @@ pub mod sdk {
|
||||||
// sort by value
|
// sort by value
|
||||||
let mut variants = BTreeMap::new();
|
let mut variants = BTreeMap::new();
|
||||||
values.into_iter().for_each(|(name, values)| {
|
values.into_iter().for_each(|(name, values)| {
|
||||||
if values.len() > 0 {
|
if values.len() > 1 {
|
||||||
for (i, value) in values.into_iter().enumerate() {
|
for (i, value) in values.into_iter().enumerate() {
|
||||||
variants.insert(value, format!("{name}{i}"));
|
variants.insert(value, format!("{name}{i}"));
|
||||||
}
|
}
|
||||||
|
@ -467,7 +472,7 @@ pub mod sdk {
|
||||||
|
|
||||||
let name = enm
|
let name = enm
|
||||||
.as_uobject()
|
.as_uobject()
|
||||||
.get_full_name()
|
.get_name()
|
||||||
.context("enum name could not be found")?;
|
.context("enum name could not be found")?;
|
||||||
let name = canonicalize_name(&name).to_string();
|
let name = canonicalize_name(&name).to_string();
|
||||||
|
|
||||||
|
@ -504,6 +509,7 @@ pub mod sdk {
|
||||||
|
|
||||||
impl<T> FoldIntoPackages for T where T: Iterator<Item = UObject> {}
|
impl<T> FoldIntoPackages for T where T: Iterator<Item = UObject> {}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct Sdk {
|
pub struct Sdk {
|
||||||
pub packages: HashMap<UObject, ProcessedPackage>,
|
pub packages: HashMap<UObject, ProcessedPackage>,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue