3 interfaces inheriting from IMethodReference
Microsoft.CodeAnalysis (3)
PEWriter\Members.cs (3)
506internal interface IMethodDefinition : ITypeDefinitionMember, IMethodReference 885internal interface ISpecializedMethodReference : IMethodReference 956internal interface IGenericMethodInstanceReference : IMethodReference
6 implementations of IMethodReference
Microsoft.CodeAnalysis (1)
CodeGen\ArrayMembers.cs (1)
287internal abstract class ArrayMethod : Cci.IMethodReference
Microsoft.CodeAnalysis.CSharp (3)
Emitter\Model\ExpandedVarargsMethodReference.cs (1)
18Cci.IMethodReference,
Emitter\Model\MethodReference.cs (1)
15internal abstract class MethodReference : TypeMemberReference, Cci.IMethodReference
Emitter\Model\MethodSymbolAdapter.cs (1)
26Cci.IMethodReference,
Microsoft.CodeAnalysis.VisualBasic (2)
Emit\MethodReference.vb (1)
13Implements Cci.IMethodReference
Emit\MethodSymbolAdapter.vb (1)
20Implements Cci.IMethodReference
212 references to IMethodReference
Microsoft.CodeAnalysis (92)
CodeGen\ILBuilderEmit.cs (1)
100var initializeArray = module.GetInitArrayHelper();
CodeGen\ITokenDeferral.cs (1)
22Cci.IMethodReference GetInitArrayHelper();
CodeGen\PermissionSetAttribute.cs (1)
57public Cci.IMethodReference Constructor(EmitContext context, bool reportDiagnostics)
CodeGen\ReferenceDependencyWalker.cs (3)
30var methodReference = reference as Cci.IMethodReference; 101private static void VisitMethodReference(Cci.IMethodReference methodReference, EmitContext context)
Emit\CommonPEModuleBuilder.cs (6)
34internal Cci.IMethodReference? PEEntryPoint; 35internal Cci.IMethodReference? DebugEntryPoint; 106internal abstract Cci.IMethodReference Translate(IMethodSymbolInternal symbol, DiagnosticBag diagnostics, bool needDeclaration); 697internal abstract Cci.IMethodReference Translate(TMethodSymbol symbol, DiagnosticBag diagnostics, bool needDeclaration); 709internal sealed override Cci.IMethodReference Translate(IMethodSymbolInternal symbol, DiagnosticBag diagnostics, bool needDeclaration) 999public abstract Cci.IMethodReference GetInitArrayHelper();
Emit\EditAndContinue\DeletedCustomAttribute.cs (1)
24public IMethodReference Constructor(EmitContext context, bool reportDiagnostics)
Emit\EditAndContinue\DeletedEventDefinition.cs (4)
28public IMethodReference Adder => _adder; 30public IMethodReference? Caller => _caller; 36public IMethodReference Remover => _remover; 54public IEnumerable<IMethodReference> GetAccessors(EmitContext context)
Emit\EditAndContinue\DeletedGenericParameter.cs (1)
60IMethodReference IGenericMethodParameterReference.DefiningMethod => ((IGenericMethodParameterReference)OldDefinition).DefiningMethod;
Emit\EditAndContinue\DeletedPropertyDefinition.cs (5)
18private readonly IMethodReference? _getter; 19private readonly IMethodReference? _setter; 33public IMethodReference? Getter => _getter; 43public IMethodReference? Setter => _setter; 71public IEnumerable<IMethodReference> GetAccessors(EmitContext context)
Emit\NoPia\CommonEmbeddedEvent.cs (4)
94Cci.IMethodReference Cci.IEventDefinition.Adder 99Cci.IMethodReference Cci.IEventDefinition.Remover 104Cci.IMethodReference Cci.IEventDefinition.Caller 109IEnumerable<Cci.IMethodReference> Cci.IEventDefinition.GetAccessors(EmitContext context)
Emit\NoPia\CommonEmbeddedMethod.cs (7)
255bool Cci.IMethodReference.AcceptsExtraArguments => AcceptsExtraArguments; 257ushort Cci.IMethodReference.GenericParameterCount => (ushort)_typeParameters.Length; 259bool Cci.IMethodReference.IsGeneric => _typeParameters.Length > 0; 261Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 266ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 275Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference => null; 277Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference => null;
Emit\NoPia\CommonEmbeddedProperty.cs (3)
78Cci.IMethodReference Cci.IPropertyDefinition.Getter 83Cci.IMethodReference Cci.IPropertyDefinition.Setter 88IEnumerable<Cci.IMethodReference> Cci.IPropertyDefinition.GetAccessors(EmitContext context)
Emit\NoPia\CommonEmbeddedTypeParameter.cs (1)
222Cci.IMethodReference Cci.IGenericMethodParameterReference.DefiningMethod
Emit\NoPia\EmbeddedTypesManager.cs (2)
55where TMethodSymbol : class, TSymbol, Cci.IMethodReference 222internal Cci.IMethodReference EmbedMethodIfNeedTo(TMethodSymbol methodSymbol, TSyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
Emit\NoPia\VtblGap.cs (7)
190bool Cci.IMethodReference.AcceptsExtraArguments 195ushort Cci.IMethodReference.GenericParameterCount 200bool Cci.IMethodReference.IsGeneric 205Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 210ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 215Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference 220Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference
IReferenceOrISignature.cs (1)
28public IReferenceOrISignature(IMethodReference item) => _item = item;
PEWriter\ICustomAttribute.cs (1)
24IMethodReference Constructor(EmitContext context, bool reportDiagnostics);
PEWriter\MemberRefComparer.cs (6)
48var xm = x as IMethodReference; 49var ym = y as IMethodReference; 69var methodRef = memberRef as IMethodReference;
PEWriter\Members.cs (9)
135IEnumerable<IMethodReference> GetAccessors(EmitContext context); 140IMethodReference Adder { get; } 145IMethodReference? Caller { get; } 160IMethodReference Remover { get; } 732IEnumerable<IMethodReference> GetAccessors(EmitContext context); 746IMethodReference? Getter { get; } 771IMethodReference? Setter { get; } 893IMethodReference UnspecializedVersion { get; } 967IMethodReference GetGenericMethod(EmitContext context);
PEWriter\MetadataVisitor.cs (4)
53IMethodReference constructor = customAttribute.Constructor(Context, reportDiagnostics: false); 319public void Visit(IEnumerable<IMethodReference> methodReferences) 321foreach (IMethodReference methodReference in methodReferences) 327public virtual void Visit(IMethodReference methodReference)
PEWriter\MetadataWriter.cs (15)
718private EntityHandle GetCustomAttributeTypeCodedIndex(IMethodReference methodReference) 950if (memberRef is IMethodReference methodRef) 974internal EntityHandle GetMethodDefinitionOrReferenceHandle(IMethodReference methodReference) 1103IMethodReference methodReference => this.GetMethodSignatureHandle(methodReference), 1108internal BlobHandle GetMethodSignatureHandle(IMethodReference methodReference) 1113internal byte[] GetMethodSignature(IMethodReference methodReference) 1120private BlobHandle GetMethodSignatureHandleAndBlob(IMethodReference methodReference, out ImmutableArray<byte> signatureBlob) 1168internal EntityHandle GetMethodHandle(IMethodReference methodReference) 1191Debug.Assert(!(signature is IMethodReference)); 1862IMethodReference entryPoint = module.PEEntryPoint; 1866IMethodReference debugEntryPoint = module.DebugEntryPoint; 2118IMethodReference constructor = customAttribute.Constructor(Context, reportDiagnostics: true); 2589foreach (IMethodReference accessorMethod in propertyDef.GetAccessors(Context)) 2615foreach (IMethodReference accessorMethod in eventDef.GetAccessors(Context)) 3062IMethodReference methodReference => GetMethodHandle(methodReference),
PEWriter\ReferenceIndexer.cs (3)
90var methodReference = reference as IMethodReference; 174protected override void ReserveMethodToken(IMethodReference methodReference)
PEWriter\ReferenceIndexerBase.cs (2)
123public override void Visit(IMethodReference methodReference) 168protected abstract void ReserveMethodToken(IMethodReference methodReference);
PEWriter\TypeReferenceIndexer.cs (1)
62protected override void ReserveMethodToken(IMethodReference methodReference)
PEWriter\Types.cs (3)
198IMethodReference DefiningMethod { get; } 352public readonly Cci.IMethodReference ImplementedMethod; 354public MethodImplementation(Cci.IMethodDefinition ImplementingMethod, Cci.IMethodReference ImplementedMethod)
Microsoft.CodeAnalysis.CSharp (72)
CodeGen\CodeGenerator.cs (1)
351var methodRef = _module.Translate(method, syntaxNode, _diagnostics.DiagnosticBag, optArgList, needDeclaration: encodeAsRawDefinitionToken);
CodeGen\EmitStatement.cs (9)
1346var indexerRef = GetIndexerRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1347var lengthMethodRef = GetLengthMethodRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1444void emitMethodRef(Microsoft.Cci.IMethodReference lengthMethodRef) 1502Cci.IMethodReference stringEqualityMethodRef = null; 1504Cci.IMethodReference sequenceEqualsMethodRef = null; 1505Cci.IMethodReference asSpanMethodRef = null; 1530Microsoft.Cci.IMethodReference lengthMethodRef = GetLengthMethodRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1601private Cci.IMethodReference? GetLengthMethodRef(SyntaxNode syntaxNode, TypeSymbol keyType, bool isReadOnlySpan, bool isSpanOrReadOnlySpan) 1625private Microsoft.Cci.IMethodReference? GetIndexerRef(SyntaxNode syntaxNode, TypeSymbol keyType, bool isReadOnlySpan, bool isSpanOrReadOnlySpan)
Emitter\Model\AttributeDataAdapter.cs (2)
36Cci.IMethodReference Cci.ICustomAttribute.Constructor(EmitContext context, bool reportDiagnostics) 53return (Cci.IMethodReference)moduleBeingBuilt.Translate(this.AttributeConstructor, (CSharpSyntaxNode)context.SyntaxNode, context.Diagnostics);
Emitter\Model\EventSymbolAdapter.cs (4)
24IEnumerable<Cci.IMethodReference> Cci.IEventDefinition.GetAccessors(EmitContext context) 43Cci.IMethodReference Cci.IEventDefinition.Adder 54Cci.IMethodReference Cci.IEventDefinition.Remover 83Cci.IMethodReference? Cci.IEventDefinition.Caller
Emitter\Model\ExpandedVarargsMethodReference.cs (14)
22private readonly Cci.IMethodReference _underlyingMethod; 25public ExpandedVarargsMethodReference(Cci.IMethodReference underlyingMethod, ImmutableArray<Cci.IParameterTypeInformation> argListParams) 34bool Cci.IMethodReference.AcceptsExtraArguments 39ushort Cci.IMethodReference.GenericParameterCount 44bool Cci.IMethodReference.IsGeneric 49Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 54ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 62Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference 76Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference 137if (((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null) 141else if (((Cci.IMethodReference)this).AsSpecializedMethodReference != null) 147visitor.Visit((Cci.IMethodReference)this); 168Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context) 173Cci.IMethodReference Cci.ISpecializedMethodReference.UnspecializedVersion
Emitter\Model\GenericMethodInstanceReference.cs (1)
41Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context)
Emitter\Model\MethodReference.cs (5)
34bool Cci.IMethodReference.AcceptsExtraArguments 42ushort Cci.IMethodReference.GenericParameterCount 50bool Cci.IMethodReference.IsGeneric 66Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 71ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters
Emitter\Model\MethodSymbolAdapter.cs (16)
32Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference 48Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference 98Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 103Debug.Assert(((Cci.IMethodReference)this).AsSpecializedMethodReference != null); 112Debug.Assert(((Cci.IMethodReference)this).GetResolvedMethod(visitor.Context) != null); 117visitor.Visit((Cci.IMethodReference)this); 127bool Cci.IMethodReference.AcceptsExtraArguments 135ushort Cci.IMethodReference.GenericParameterCount 143bool Cci.IMethodReference.IsGeneric 159Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 179ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 256Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 267Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context) 269Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 288Cci.IMethodReference Cci.ISpecializedMethodReference.UnspecializedVersion 292Debug.Assert(((Cci.IMethodReference)this).AsSpecializedMethodReference != null);
Emitter\Model\PEModuleBuilder.cs (13)
820public sealed override Cci.IMethodReference GetInitArrayHelper() 1260internal sealed override Cci.IMethodReference Translate(MethodSymbol symbol, DiagnosticBag diagnostics, bool needDeclaration) 1265internal Cci.IMethodReference Translate( 1275Cci.IMethodReference unexpandedMethodRef = Translate(methodSymbol, syntaxNodeOpt, diagnostics, needDeclaration); 1299private Cci.IMethodReference Translate( 1306Cci.IMethodReference methodRef; 1324return (Cci.IMethodReference)GetCciAdapter(methodSymbol); 1335return (Cci.IMethodReference)reference; 1356methodRef = (Cci.IMethodReference)_genericInstanceMap.GetOrAdd(methodSymbol, methodRef); 1375internal Cci.IMethodReference TranslateOverriddenMethodReference( 1380Cci.IMethodReference methodRef; 1391methodRef = (Cci.IMethodReference)reference; 1396methodRef = (Cci.IMethodReference)_genericInstanceMap.GetOrAdd(methodSymbol, methodRef);
Emitter\Model\PropertySymbolAdapter.cs (4)
28IEnumerable<IMethodReference> IPropertyDefinition.GetAccessors(EmitContext context) 64IMethodReference IPropertyDefinition.Getter 119IMethodReference IPropertyDefinition.Setter 274private IMethodReference GetSynthesizedSealedAccessor(MethodKind targetMethodKind)
Emitter\Model\SpecializedGenericMethodInstanceReference.cs (1)
42Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context)
Emitter\Model\SpecializedMethodReference.cs (1)
31Cci.IMethodReference Cci.ISpecializedMethodReference.UnspecializedVersion
Emitter\Model\TypeParameterSymbolAdapter.cs (1)
214Cci.IMethodReference Cci.IGenericMethodParameterReference.DefiningMethod
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\Source\MethodTests.cs (1)
1834var explicitOverrideImplementedMethod = explicitOverride.ImplementedMethod;
Microsoft.CodeAnalysis.VisualBasic (47)
Emit\AttributeDataAdapter.vb (1)
20Private Function Constructor1(context As EmitContext, reportDiagnostics As Boolean) As Cci.IMethodReference Implements Cci.ICustomAttribute.Constructor
Emit\EventSymbolAdapter.vb (4)
18Private Iterator Function IEventDefinitionAccessors(context As EmitContext) As IEnumerable(Of Cci.IMethodReference) Implements Cci.IEventDefinition.GetAccessors 39Private ReadOnly Property IEventDefinitionAdder As Cci.IMethodReference Implements Cci.IEventDefinition.Adder 49Private ReadOnly Property IEventDefinitionRemover As Cci.IMethodReference Implements Cci.IEventDefinition.Remover 75Private ReadOnly Property IEventDefinitionCaller As Cci.IMethodReference Implements Cci.IEventDefinition.Caller
Emit\GenericMethodInstanceReference.vb (1)
33Private Function IGenericMethodInstanceReferenceGetGenericMethod(context As EmitContext) As Cci.IMethodReference Implements Cci.IGenericMethodInstanceReference.GetGenericMethod
Emit\MethodReference.vb (8)
28Private ReadOnly Property IMethodReferenceAcceptsExtraArguments As Boolean Implements Cci.IMethodReference.AcceptsExtraArguments 34Private ReadOnly Property IMethodReferenceGenericParameterCount As UShort Implements Cci.IMethodReference.GenericParameterCount 39Private ReadOnly Property IMethodReferenceIsGeneric As Boolean Implements Cci.IMethodReference.IsGeneric 45Private ReadOnly Property IMethodReferenceParameterCount As UShort Implements Cci.IMethodReference.ParameterCount 50Private Function IMethodReferenceGetResolvedMethod(context As EmitContext) As Cci.IMethodDefinition Implements Cci.IMethodReference.GetResolvedMethod 54Private ReadOnly Property IMethodReferenceExtraParameters As ImmutableArray(Of Cci.IParameterTypeInformation) Implements Cci.IMethodReference.ExtraParameters 97Public Overridable ReadOnly Property AsGenericMethodInstanceReference As Cci.IGenericMethodInstanceReference Implements Cci.IMethodReference.AsGenericMethodInstanceReference 103Public Overridable ReadOnly Property AsSpecializedMethodReference As Cci.ISpecializedMethodReference Implements Cci.IMethodReference.AsSpecializedMethodReference
Emit\MethodSymbolAdapter.vb (16)
26Private ReadOnly Property IMethodReferenceAsGenericMethodInstanceReference As Cci.IGenericMethodInstanceReference Implements Cci.IMethodReference.AsGenericMethodInstanceReference 38Private ReadOnly Property IMethodReferenceAsSpecializedMethodReference As Cci.ISpecializedMethodReference Implements Cci.IMethodReference.AsSpecializedMethodReference 75Debug.Assert((DirectCast(Me, Cci.IMethodReference)).AsGenericMethodInstanceReference IsNot Nothing) 78Debug.Assert((DirectCast(Me, Cci.IMethodReference)).AsSpecializedMethodReference IsNot Nothing) 84Debug.Assert((DirectCast(Me, Cci.IMethodReference)).GetResolvedMethod(visitor.Context) IsNot Nothing) 87visitor.Visit(DirectCast(Me, Cci.IMethodReference)) 98Private ReadOnly Property IMethodReferenceAcceptsExtraArguments As Boolean Implements Cci.IMethodReference.AcceptsExtraArguments 104Private ReadOnly Property IMethodReferenceGenericParameterCount As UShort Implements Cci.IMethodReference.GenericParameterCount 110Private ReadOnly Property IMethodReferenceIsGeneric As Boolean Implements Cci.IMethodReference.IsGeneric 122Private Function IMethodReferenceGetResolvedMethod(context As EmitContext) As Cci.IMethodDefinition Implements Cci.IMethodReference.GetResolvedMethod 140Private ReadOnly Property IMethodReferenceExtraParameters As ImmutableArray(Of Cci.IParameterTypeInformation) Implements Cci.IMethodReference.ExtraParameters 206Debug.Assert((DirectCast(Me, Cci.IMethodReference)).AsGenericMethodInstanceReference IsNot Nothing) 212Private Function IGenericMethodInstanceReferenceGetGenericMethod(context As EmitContext) As Cci.IMethodReference Implements Cci.IGenericMethodInstanceReference.GetGenericMethod 213Debug.Assert((DirectCast(Me, Cci.IMethodReference)).AsGenericMethodInstanceReference IsNot Nothing) 230Private ReadOnly Property ISpecializedMethodReferenceUnspecializedVersion As Cci.IMethodReference Implements Cci.ISpecializedMethodReference.UnspecializedVersion 232Debug.Assert((DirectCast(Me, Cci.IMethodReference)).AsSpecializedMethodReference IsNot Nothing)
Emit\PEModuleBuilder.vb (1)
610Public NotOverridable Overrides Function GetInitArrayHelper() As Cci.IMethodReference
Emit\PropertySymbolAdapter.vb (3)
20Private Iterator Function IPropertyDefinitionAccessors(context As EmitContext) As IEnumerable(Of IMethodReference) Implements IPropertyDefinition.GetAccessors 41Private ReadOnly Property IPropertyDefinitionGetter As IMethodReference Implements IPropertyDefinition.Getter 81Private ReadOnly Property IPropertyDefinitionSetter As IMethodReference Implements IPropertyDefinition.Setter
Emit\SpecializedGenericMethodInstanceReference.vb (1)
29Public Function GetGenericMethod(context As EmitContext) As Cci.IMethodReference Implements Cci.IGenericMethodInstanceReference.GetGenericMethod
Emit\SpecializedMethodReference.vb (1)
33Private ReadOnly Property ISpecializedMethodReferenceUnspecializedVersion As Microsoft.Cci.IMethodReference Implements Microsoft.Cci.ISpecializedMethodReference.UnspecializedVersion
Emit\SymbolTranslator.vb (10)
359Friend Overloads Overrides Function Translate(symbol As MethodSymbol, diagnostics As DiagnosticBag, needDeclaration As Boolean) As IMethodReference 368) As Microsoft.Cci.IMethodReference 393Return DirectCast(GetCciAdapter(methodSymbol), Microsoft.Cci.IMethodReference) 401Dim methodRef As Microsoft.Cci.IMethodReference 404Return DirectCast(reference, Microsoft.Cci.IMethodReference) 419methodRef = DirectCast(_genericInstanceMap.GetOrAdd(methodSymbol, methodRef), Microsoft.Cci.IMethodReference) 431Friend Overloads Function TranslateOverriddenMethodReference(methodSymbol As MethodSymbol, syntaxNodeOpt As VisualBasicSyntaxNode, diagnostics As DiagnosticBag) As Microsoft.Cci.IMethodReference 432Dim methodRef As Microsoft.Cci.IMethodReference 440methodRef = DirectCast(reference, Microsoft.Cci.IMethodReference) 443methodRef = DirectCast(_genericInstanceMap.GetOrAdd(methodSymbol, methodRef), Microsoft.Cci.IMethodReference)
Emit\TypeParameterSymbolAdapter.vb (1)
180Private ReadOnly Property IGenericMethodParameterReferenceDefiningMethod As IMethodReference Implements IGenericMethodParameterReference.DefiningMethod