Skip to content

Commit

Permalink
don't generate unused polymorphic builders
Browse files Browse the repository at this point in the history
The removed builders aren't publicly exported and aren't used internally
  • Loading branch information
Timbals committed Jul 24, 2024
1 parent f3fa872 commit a93fb51
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 909 deletions.
38 changes: 28 additions & 10 deletions generator/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1463,14 +1463,36 @@ impl Parser {
struct_meta.insert(name, self.compute_meta(name, s));
}

let polymorphic_whitelist = [
"XrCompositionLayerBaseHeader",
"XrCompositionLayerProjection",
"XrCompositionLayerQuad",
"XrCompositionLayerCylinderKHR",
"XrCompositionLayerCubeKHR",
"XrCompositionLayerEquirectKHR",
"XrHapticBaseHeader",
"XrHapticVibration",
"XrHapticPcmVibrationFB",
]
.iter()
.cloned()
.collect::<HashSet<&str>>();
let polymorphic_builders = self.base_headers.iter().filter_map(|(name, children)| {
if name == "XrSwapchainImageBaseHeader"
|| name == "XrEventDataBaseHeader"
|| name == "XrLoaderInitInfoBaseHeaderKHR"
{
return None;
if polymorphic_whitelist.contains(&name[..]) {
let children = children
.iter()
.filter(|name| polymorphic_whitelist.contains(&name[..]))
.cloned()
.collect::<Vec<_>>();
Some(self.generate_polymorphic_builders(
&struct_meta,
&simple_structs,
name,
&children,
))
} else {
None
}
Some(self.generate_polymorphic_builders(&struct_meta, &simple_structs, name, children))
});

let whitelist = [
Expand Down Expand Up @@ -1663,10 +1685,6 @@ impl Parser {

let (type_params, type_args, marker, marker_init) = base_meta.type_params();
let builders = children.iter().map(|name| {
if name == "XrCompositionLayerPassthroughHTC" {
// XrCompositionLayerPassthroughHTC has problems with its setters so we skip for now.
return quote! {};
}
let ident = xr_ty_name(name);
let s = self.structs.get(name).unwrap();
let conds = conditions(name, s.extension.as_ref().map(|x| &x[..]));
Expand Down
Loading

0 comments on commit a93fb51

Please sign in to comment.