@@ -1483,17 +1483,17 @@ bool ProcessLazyAttributes ()
14831483 string attributeFullName = customAttribute . Constructor . DeclaringType . FullName ;
14841484 switch ( attributeFullName ) {
14851485 case "System.Diagnostics.DebuggerDisplayAttribute" : {
1486- TypeDefinition ? targetType = GetDebuggerAttributeTargetType ( assemblyLevelAttribute . Attribute , ( AssemblyDefinition ) assemblyLevelAttribute . Provider ) ;
1487- if ( targetType != null )
1488- MarkTypeWithDebuggerDisplayAttribute ( targetType , customAttribute , assemblyOrigin ) ;
1489- break ;
1490- }
1486+ TypeDefinition ? targetType = GetDebuggerAttributeTargetType ( assemblyLevelAttribute . Attribute , ( AssemblyDefinition ) assemblyLevelAttribute . Provider ) ;
1487+ if ( targetType != null )
1488+ MarkTypeWithDebuggerDisplayAttribute ( targetType , customAttribute , assemblyOrigin ) ;
1489+ break ;
1490+ }
14911491 case "System.Diagnostics.DebuggerTypeProxyAttribute" : {
1492- TypeDefinition ? targetType = GetDebuggerAttributeTargetType ( assemblyLevelAttribute . Attribute , ( AssemblyDefinition ) assemblyLevelAttribute . Provider ) ;
1493- if ( targetType != null )
1494- MarkTypeWithDebuggerTypeProxyAttribute ( targetType , customAttribute , assemblyOrigin ) ;
1495- break ;
1496- }
1492+ TypeDefinition ? targetType = GetDebuggerAttributeTargetType ( assemblyLevelAttribute . Attribute , ( AssemblyDefinition ) assemblyLevelAttribute . Provider ) ;
1493+ if ( targetType != null )
1494+ MarkTypeWithDebuggerTypeProxyAttribute ( targetType , customAttribute , assemblyOrigin ) ;
1495+ break ;
1496+ }
14971497 }
14981498 }
14991499
@@ -3595,47 +3595,47 @@ protected virtual void MarkInstruction (Instruction instruction, MethodDefinitio
35953595 break ;
35963596
35973597 case OperandType . InlineMethod : {
3598- ( DependencyKind dependencyKind , bool markForReflectionAccess ) = instruction . OpCode . Code switch {
3599- Code . Jmp => ( DependencyKind . DirectCall , false ) ,
3600- Code . Call => ( DependencyKind . DirectCall , false ) ,
3601- Code . Callvirt => ( DependencyKind . VirtualCall , false ) ,
3602- Code . Newobj => ( DependencyKind . Newobj , false ) ,
3603- Code . Ldvirtftn => ( DependencyKind . Ldvirtftn , true ) ,
3604- Code . Ldftn => ( DependencyKind . Ldftn , true ) ,
3605- _ => throw new InvalidOperationException ( $ "unexpected opcode { instruction . OpCode } ")
3606- } ;
3607-
3608- MethodReference methodReference = ( MethodReference ) instruction . Operand ;
3609-
3610- requiresReflectionMethodBodyScanner |=
3611- ReflectionMethodBodyScanner . RequiresReflectionMethodBodyScannerForCallSite ( Context , methodReference ) ;
3612-
3613- origin = new MessageOrigin ( origin , instruction . Offset ) ;
3614- if ( markForReflectionAccess ) {
3615- MarkMethodVisibleToReflection ( methodReference , new DependencyInfo ( dependencyKind , method ) , origin ) ;
3616- } else {
3617- MarkMethod ( methodReference , new DependencyInfo ( dependencyKind , method ) , origin ) ;
3598+ ( DependencyKind dependencyKind , bool markForReflectionAccess ) = instruction . OpCode . Code switch {
3599+ Code . Jmp => ( DependencyKind . DirectCall , false ) ,
3600+ Code . Call => ( DependencyKind . DirectCall , false ) ,
3601+ Code . Callvirt => ( DependencyKind . VirtualCall , false ) ,
3602+ Code . Newobj => ( DependencyKind . Newobj , false ) ,
3603+ Code . Ldvirtftn => ( DependencyKind . Ldvirtftn , true ) ,
3604+ Code . Ldftn => ( DependencyKind . Ldftn , true ) ,
3605+ _ => throw new InvalidOperationException ( $ "unexpected opcode { instruction . OpCode } ")
3606+ } ;
3607+
3608+ MethodReference methodReference = ( MethodReference ) instruction . Operand ;
3609+
3610+ requiresReflectionMethodBodyScanner |=
3611+ ReflectionMethodBodyScanner . RequiresReflectionMethodBodyScannerForCallSite ( Context , methodReference ) ;
3612+
3613+ origin = new MessageOrigin ( origin , instruction . Offset ) ;
3614+ if ( markForReflectionAccess ) {
3615+ MarkMethodVisibleToReflection ( methodReference , new DependencyInfo ( dependencyKind , method ) , origin ) ;
3616+ } else {
3617+ MarkMethod ( methodReference , new DependencyInfo ( dependencyKind , method ) , origin ) ;
3618+ }
3619+ break ;
36183620 }
3619- break ;
3620- }
36213621
36223622 case OperandType . InlineTok : {
3623- object token = instruction . Operand ;
3624- Debug . Assert ( instruction . OpCode . Code == Code . Ldtoken ) ;
3625- var reason = new DependencyInfo ( DependencyKind . Ldtoken , method ) ;
3626- origin = new MessageOrigin ( origin , instruction . Offset ) ;
3627-
3628- if ( token is TypeReference typeReference ) {
3629- // Error will be reported as part of MarkType
3630- if ( Context . TryResolve ( typeReference ) is TypeDefinition type )
3631- MarkTypeVisibleToReflection ( typeReference , type , reason , origin ) ;
3632- } else if ( token is MethodReference methodReference ) {
3633- MarkMethodVisibleToReflection ( methodReference , reason , origin ) ;
3634- } else {
3635- MarkFieldVisibleToReflection ( ( FieldReference ) token , reason , origin ) ;
3623+ object token = instruction . Operand ;
3624+ Debug . Assert ( instruction . OpCode . Code == Code . Ldtoken ) ;
3625+ var reason = new DependencyInfo ( DependencyKind . Ldtoken , method ) ;
3626+ origin = new MessageOrigin ( origin , instruction . Offset ) ;
3627+
3628+ if ( token is TypeReference typeReference ) {
3629+ // Error will be reported as part of MarkType
3630+ if ( Context . TryResolve ( typeReference ) is TypeDefinition type )
3631+ MarkTypeVisibleToReflection ( typeReference , type , reason , origin ) ;
3632+ } else if ( token is MethodReference methodReference ) {
3633+ MarkMethodVisibleToReflection ( methodReference , reason , origin ) ;
3634+ } else {
3635+ MarkFieldVisibleToReflection ( ( FieldReference ) token , reason , origin ) ;
3636+ }
3637+ break ;
36363638 }
3637- break ;
3638- }
36393639
36403640 case OperandType . InlineType :
36413641 var operand = ( TypeReference ) instruction . Operand ;
0 commit comments