@@ -468,7 +468,6 @@ use crate::llr::{
468468 TypeResolutionContext as _,
469469} ;
470470use crate :: object_tree:: Document ;
471- use crate :: parser:: syntax_nodes;
472471use cpp_ast:: * ;
473472use itertools:: { Either , Itertools } ;
474473use std:: cell:: Cell ;
@@ -922,7 +921,7 @@ pub fn generate_types(used_types: &[Type], config: &Config) -> File {
922921 for ty in used_types {
923922 match ty {
924923 Type :: Struct ( s) if s. node ( ) . is_some ( ) => {
925- generate_struct ( & mut file, & s. name , & s. fields , s . node ( ) . unwrap ( ) ) ;
924+ generate_struct ( & mut file, & s. name , & s. fields ) ;
926925 }
927926 Type :: Enumeration ( en) => {
928927 generate_enum ( & mut file, en) ;
@@ -1157,13 +1156,11 @@ fn embed_resource(
11571156 }
11581157}
11591158
1160- fn generate_struct (
1161- file : & mut File ,
1162- name : & StructName ,
1163- fields : & BTreeMap < SmolStr , Type > ,
1164- node : & syntax_nodes:: ObjectType ,
1165- ) {
1166- let name = name. cpp_type ( ) . expect ( "internal error: Cannot generate anonymous struct" ) ;
1159+ fn generate_struct ( file : & mut File , name : & StructName , fields : & BTreeMap < SmolStr , Type > ) {
1160+ let StructName :: User { name : user_name, node } = name else {
1161+ panic ! ( "internal error: Cannot generate anonymous struct" ) ;
1162+ } ;
1163+ let name = ident ( user_name) ;
11671164 let mut members = node
11681165 . ObjectTypeMember ( )
11691166 . map ( |n| crate :: parser:: identifier_text ( & n) . unwrap ( ) )
0 commit comments