@@ -30,7 +30,7 @@ public static void ConfigureHierarchy(AssemblyAnalysisContext asmCtx)
3030 var il2CppTypeDef = typeCtx . Definition ;
3131 var typeDefinition = typeCtx . GetExtraData < TypeDefinition > ( "AsmResolverType" ) ?? throw new ( $ "AsmResolver type not found in type analysis context for { typeCtx . FullName } ") ;
3232
33- var importer = typeDefinition . Module ! . Assembly ! . GetImporter ( ) ;
33+ var importer = typeDefinition . Module ! . DefaultImporter ;
3434
3535 //Type generic params.
3636 if ( il2CppTypeDef != null )
@@ -57,7 +57,7 @@ private static void PopulateGenericParamsForType(Il2CppTypeDefinition cppTypeDef
5757 if ( cppTypeDefinition . GenericContainer == null )
5858 return ;
5959
60- var importer = ilTypeDefinition . Module ! . Assembly ! . GetImporter ( ) ;
60+ var importer = ilTypeDefinition . Module ! . DefaultImporter ;
6161
6262 foreach ( var param in cppTypeDefinition . GenericContainer . GenericParameters )
6363 {
@@ -234,7 +234,7 @@ private static CustomAttributeNamedArgument FromAnalyzedAttributeProperty(Assemb
234234 }
235235#endif
236236
237- var importedCtor = assemblyDefinition . GetImporter ( ) . ImportMethod ( ctor ) ;
237+ var importedCtor = assemblyDefinition . ManifestModule ! . DefaultImporter . ImportMethod ( ctor ) ;
238238
239239 var newAttribute = new CustomAttribute ( ( ICustomAttributeType ) importedCtor , signature ) ;
240240 return newAttribute ;
@@ -340,7 +340,7 @@ public static void CopyDataFromIl2CppToManaged(AssemblyAnalysisContext asmContex
340340
341341 private static void CopyIl2CppDataToManagedType ( TypeAnalysisContext typeContext , TypeDefinition ilTypeDefinition )
342342 {
343- var importer = ilTypeDefinition . Module ! . Assembly ! . GetImporter ( ) ;
343+ var importer = ilTypeDefinition . Module ! . DefaultImporter ;
344344
345345 CopyFieldsInType ( importer , typeContext , ilTypeDefinition ) ;
346346
@@ -357,7 +357,7 @@ private static void CopyFieldsInType(ReferenceImporter importer, TypeAnalysisCon
357357 {
358358 var fieldInfo = fieldContext . BackingData ;
359359
360- var fieldTypeSig = importer . ImportTypeSignature ( fieldContext . ToTypeSignature ( importer . TargetModule ) ) ;
360+ var fieldTypeSig = fieldContext . ToTypeSignature ( importer . TargetModule ) ;
361361
362362 var managedField = new FieldDefinition ( fieldContext . FieldName , ( FieldAttributes ) fieldContext . Attributes , fieldTypeSig ) ;
363363
@@ -388,15 +388,15 @@ private static void CopyMethodsInType(ReferenceImporter importer, TypeAnalysisCo
388388 {
389389 var methodDef = methodCtx . Definition ;
390390
391- var returnType = importer . ImportTypeSignature ( methodCtx . ReturnTypeContext . ToTypeSignature ( importer . TargetModule ) ) ;
391+ var returnType = methodCtx . ReturnTypeContext . ToTypeSignature ( importer . TargetModule ) ;
392392
393393 var paramData = methodCtx . Parameters ;
394394 var parameterTypes = new TypeSignature [ paramData . Count ] ;
395395 var parameterDefinitions = new ParameterDefinition [ paramData . Count ] ;
396396 foreach ( var parameterAnalysisContext in methodCtx . Parameters )
397397 {
398398 var i = parameterAnalysisContext . ParamIndex ;
399- parameterTypes [ i ] = importer . ImportTypeSignature ( parameterAnalysisContext . ParameterTypeContext . ToTypeSignature ( importer . TargetModule ) ) ;
399+ parameterTypes [ i ] = parameterAnalysisContext . ParameterTypeContext . ToTypeSignature ( importer . TargetModule ) ;
400400
401401 var sequence = ( ushort ) ( i + 1 ) ; //Add one because sequence 0 is the return type
402402 parameterDefinitions [ i ] = new ( sequence , parameterAnalysisContext . Name , ( ParameterAttributes ) parameterAnalysisContext . ParameterAttributes ) ;
@@ -471,23 +471,17 @@ private static void CopyPropertiesInType(ReferenceImporter importer, TypeAnalysi
471471 {
472472 foreach ( var propertyCtx in typeContext . Properties )
473473 {
474- var propertyDef = propertyCtx . Definition ;
475-
476- var propertyTypeSig = importer . ImportTypeSignature ( AsmResolverUtils . GetTypeSignatureFromIl2CppType ( importer . TargetModule , propertyDef . RawPropertyType ! ) ) ;
477- var propertySignature = propertyDef . IsStatic
474+ var propertyTypeSig = propertyCtx . ToTypeSignature ( importer . TargetModule ) ;
475+ var propertySignature = propertyCtx . IsStatic
478476 ? PropertySignature . CreateStatic ( propertyTypeSig )
479477 : PropertySignature . CreateInstance ( propertyTypeSig ) ;
480478
481- var managedProperty = new PropertyDefinition ( propertyCtx . Name , ( PropertyAttributes ) propertyDef . attrs , propertySignature ) ;
479+ var managedProperty = new PropertyDefinition ( propertyCtx . Name , ( PropertyAttributes ) propertyCtx . PropertyAttributes , propertySignature ) ;
482480
483481 var managedGetter = propertyCtx . Getter ? . GetExtraData < MethodDefinition > ( "AsmResolverMethod" ) ;
484482 var managedSetter = propertyCtx . Setter ? . GetExtraData < MethodDefinition > ( "AsmResolverMethod" ) ;
485483
486- if ( managedGetter != null )
487- managedProperty . Semantics . Add ( new ( managedGetter , MethodSemanticsAttributes . Getter ) ) ;
488-
489- if ( managedSetter != null )
490- managedProperty . Semantics . Add ( new ( managedSetter , MethodSemanticsAttributes . Setter ) ) ;
484+ managedProperty . SetSemanticMethods ( managedGetter , managedSetter ) ;
491485
492486 //Indexer parameters
493487 if ( managedGetter != null && managedGetter . Parameters . Count > 0 )
@@ -517,24 +511,15 @@ private static void CopyEventsInType(ReferenceImporter importer, TypeAnalysisCon
517511 {
518512 foreach ( var eventCtx in cppTypeDefinition . Events )
519513 {
520- var eventDef = eventCtx . Definition ;
521-
522- var eventType = importer . ImportTypeIfNeeded ( AsmResolverUtils . ImportReferenceFromIl2CppType ( ilTypeDefinition . Module ! , eventDef . RawType ! ) ) ;
514+ var eventType = eventCtx . ToTypeSignature ( importer . TargetModule ) . ToTypeDefOrRef ( ) ;
523515
524- var managedEvent = new EventDefinition ( eventCtx . Name , ( EventAttributes ) eventDef . EventAttributes , eventType ) ;
516+ var managedEvent = new EventDefinition ( eventCtx . Name , ( EventAttributes ) eventCtx . EventAttributes , eventType ) ;
525517
526518 var managedAdder = eventCtx . Adder ? . GetExtraData < MethodDefinition > ( "AsmResolverMethod" ) ;
527519 var managedRemover = eventCtx . Remover ? . GetExtraData < MethodDefinition > ( "AsmResolverMethod" ) ;
528520 var managedInvoker = eventCtx . Invoker ? . GetExtraData < MethodDefinition > ( "AsmResolverMethod" ) ;
529521
530- if ( managedAdder != null )
531- managedEvent . Semantics . Add ( new ( managedAdder , MethodSemanticsAttributes . AddOn ) ) ;
532-
533- if ( managedRemover != null )
534- managedEvent . Semantics . Add ( new ( managedRemover , MethodSemanticsAttributes . RemoveOn ) ) ;
535-
536- if ( managedInvoker != null )
537- managedEvent . Semantics . Add ( new ( managedInvoker , MethodSemanticsAttributes . Fire ) ) ;
522+ managedEvent . SetSemanticMethods ( managedAdder , managedRemover , managedInvoker ) ;
538523
539524 eventCtx . PutExtraData ( "AsmResolverEvent" , managedEvent ) ;
540525
@@ -546,7 +531,7 @@ public static void AddExplicitInterfaceImplementations(AssemblyAnalysisContext a
546531 {
547532 var managedAssembly = asmContext . GetExtraData < AssemblyDefinition > ( "AsmResolverAssembly" ) ?? throw new ( "AsmResolver assembly not found in assembly analysis context for " + asmContext ) ;
548533
549- var importer = managedAssembly . GetImporter ( ) ;
534+ var importer = managedAssembly . ManifestModule ! . DefaultImporter ;
550535
551536 foreach ( var typeContext in asmContext . Types )
552537 {
0 commit comments