@@ -621,9 +621,9 @@ def immutable_copy(self):
621621 TypeClass .IntegerTypeClass : IntegerType , TypeClass .FloatTypeClass : FloatType ,
622622 TypeClass .PointerTypeClass : PointerType , TypeClass .ArrayTypeClass : ArrayType ,
623623 TypeClass .FunctionTypeClass : FunctionType , TypeClass .WideCharTypeClass : WideCharType ,
624- # TypeClass.StructureTypeClass:StructureType,
625- # TypeClass.EnumerationTypeClass:EnumerationType,
626- # TypeClass.NamedTypeReferenceClass:NamedTypeReferenceType,
624+ TypeClass .StructureTypeClass : StructureType ,
625+ TypeClass .EnumerationTypeClass : EnumerationType ,
626+ TypeClass .NamedTypeReferenceClass : NamedTypeReferenceType ,
627627 }
628628 return Types [self .type_class ](self .finalized , self .platform , self .confidence )
629629
@@ -1450,14 +1450,6 @@ def create(
14501450 assert type_builder_handle is not None , "core.BNCreateStructureTypeBuilderWithBuilder returned None"
14511451 return cls (type_builder_handle , structure_builder_handle , platform , confidence )
14521452
1453- def immutable_copy (self ) -> 'StructureType' :
1454- assert self .builder_handle is not None
1455- structure_handle = core .BNFinalizeStructureBuilder (self .builder_handle )
1456- assert structure_handle is not None , "core.BNFinalizeStructureBuilder returned None"
1457- handle = core .BNCreateStructureType (structure_handle )
1458- assert handle is not None , "core.BNCreateStructureType returned None"
1459- return StructureType (handle , self .platform , self .confidence )
1460-
14611453 @property
14621454 def members (self ) -> List [StructureMember ]:
14631455 """Structure member list (read-only)"""
@@ -1683,14 +1675,6 @@ def create(
16831675 assert type_builder_handle is not None , "core.BNCreateEnumerationTypeBuilderWithBuilder returned None"
16841676 return cls (type_builder_handle , enum_builder_handle , platform , confidence )
16851677
1686- def immutable_copy (self ) -> 'EnumerationType' :
1687- enum_handle = core .BNFinalizeEnumerationBuilder (self .enum_builder_handle )
1688- assert enum_handle is not None , "core.BNFinalizeEnumerationBuilder returned None"
1689- _signed = BoolWithConfidence .get_core_struct (self .signed )
1690- handle = core .BNCreateEnumerationType (None , enum_handle , self .width , _signed )
1691- assert handle is not None , "core.BNCreateEnumerationType returned None"
1692- return EnumerationType (handle , self .platform , self .confidence )
1693-
16941678 @property
16951679 def members (self ) -> List [EnumerationMember ]:
16961680 """Enumeration member list (read-only)"""
@@ -1808,17 +1792,6 @@ def create(
18081792 assert type_builder_handle is not None , "core.BNCreateNamedTypeReferenceBuilderWithBuilder returned None"
18091793 return cls (type_builder_handle , ntr_builder_handle , platform , confidence )
18101794
1811- def immutable_copy (self ) -> 'NamedTypeReferenceType' :
1812- ntr_handle = core .BNFinalizeNamedTypeReferenceBuilder (self .ntr_builder_handle )
1813- assert ntr_handle is not None , "core.BNFinalizeEnumerationBuilder returned None"
1814-
1815- _const = BoolWithConfidence .get_core_struct (self .const )
1816- _volatile = BoolWithConfidence .get_core_struct (self .volatile )
1817-
1818- handle = core .BNCreateNamedTypeReference (ntr_handle , self .width , self .alignment , _const , _volatile )
1819- assert handle is not None , "core.BNCreateEnumerationType returned None"
1820- return NamedTypeReferenceType (handle , self .platform , self .confidence )
1821-
18221795 @property
18231796 def name (self ) -> QualifiedName :
18241797 return QualifiedName ._from_core_struct (core .BNGetTypeReferenceBuilderName (self .ntr_builder_handle ))
@@ -2603,6 +2576,7 @@ def mutable_copy(self) -> 'StructureBuilder':
26032576 assert structure_handle is not None , "core.BNGetTypeStructure returned None"
26042577 structure_builder_handle = core .BNCreateStructureBuilderFromStructure (structure_handle )
26052578 assert structure_builder_handle is not None , "core.BNCreateStructureBuilderFromStructure returned None"
2579+ core .BNSetStructureBuilder (type_builder_handle , structure_builder_handle )
26062580 return StructureBuilder (type_builder_handle , structure_builder_handle , self .platform , self .confidence )
26072581
26082582 @classmethod
@@ -2912,6 +2886,7 @@ def mutable_copy(self) -> 'EnumerationBuilder':
29122886 assert enumeration_handle is not None , "core.BNGetTypeEnumeration returned None"
29132887 enumeration_builder_handle = core .BNCreateEnumerationBuilderFromEnumeration (enumeration_handle )
29142888 assert enumeration_builder_handle is not None , "core.BNCreateEnumerationBuilderFromEnumeration returned None"
2889+ core .BNSetEnumerationBuilder (type_builder_handle , enumeration_builder_handle )
29152890 return EnumerationBuilder (type_builder_handle , enumeration_builder_handle , self .platform , self .confidence )
29162891
29172892 def generate_named_type_reference (self , guid : str , name : QualifiedNameType ):
@@ -3253,6 +3228,7 @@ def mutable_copy(self):
32533228 self .named_type_class , self .type_id , self .name ._to_core_struct ()
32543229 )
32553230 assert ntr_builder_handle is not None , "core.BNCreateNamedTypeBuilder returned None"
3231+ core .BNSetNamedTypeReferenceBuilder (type_builder_handle , ntr_builder_handle )
32563232 return NamedTypeReferenceBuilder (type_builder_handle , ntr_builder_handle , self .platform , self .confidence )
32573233
32583234 @classmethod
0 commit comments