3 interfaces inheriting from IMethodReference
Microsoft.CodeAnalysis (3)
PEWriter\Members.cs (3)
512internal interface IMethodDefinition : ITypeDefinitionMember, IMethodReference 895internal interface ISpecializedMethodReference : IMethodReference 956internal interface IGenericMethodInstanceReference : IMethodReference
4 implementations of IMethodReference
Microsoft.CodeAnalysis (1)
CodeGen\ArrayMembers.cs (1)
288internal 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,
158 references to IMethodReference
Microsoft.CodeAnalysis (88)
CodeGen\ILBuilderEmit.cs (1)
92var initializeArray = module.GetInitArrayHelper();
CodeGen\PermissionSetAttribute.cs (1)
57public Cci.IMethodReference Constructor(EmitContext context, bool reportDiagnostics)
CodeGen\PrivateImplementationDetails.cs (9)
381var encodingUtf8 = getWellKnownTypeMember(compilation, WellKnownMember.System_Text_Encoding__get_UTF8); 382var encodingGetString = getWellKnownTypeMember(compilation, WellKnownMember.System_Text_Encoding__GetString); 397static Cci.IMethodReference getWellKnownTypeMember( 403return (Cci.IMethodReference)symbol.GetCciAdapter(); 1164Cci.IMethodReference encodingGetString, 1179Cci.IMethodReference encodingUtf8, 1180Cci.IMethodReference encodingGetString, 1221Cci.IMethodReference encodingGetString) 1224private readonly Cci.IMethodReference _encodingGetString = encodingGetString;
CodeGen\ReferenceDependencyWalker.cs (3)
30var methodReference = reference as Cci.IMethodReference; 101private static void VisitMethodReference(Cci.IMethodReference methodReference, EmitContext context)
Emit\CommonPEModuleBuilder.cs (6)
36internal Cci.IMethodReference? PEEntryPoint; 37internal Cci.IMethodReference? DebugEntryPoint; 156internal abstract Cci.IMethodReference Translate(IMethodSymbolInternal symbol, DiagnosticBag diagnostics, bool needDeclaration); 169public abstract Cci.IMethodReference GetInitArrayHelper(); 787internal abstract Cci.IMethodReference Translate(TMethodSymbol symbol, DiagnosticBag diagnostics, bool needDeclaration); 799internal sealed override Cci.IMethodReference Translate(IMethodSymbolInternal symbol, DiagnosticBag diagnostics, bool needDeclaration)
Emit\EditAndContinue\DeletedSourceGenericParameter.cs (1)
63IMethodReference IGenericMethodParameterReference.DefiningMethod => ((IGenericMethodParameterReference)OldDefinition).DefiningMethod;
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 (6)
262bool Cci.IMethodReference.AcceptsExtraArguments => AcceptsExtraArguments; 264ushort Cci.IMethodReference.GenericParameterCount => (ushort)_typeParameters.Length; 266Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 271ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 280Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference => null; 282Cci.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)
235Cci.IMethodReference Cci.IGenericMethodParameterReference.DefiningMethod
Emit\NoPia\EmbeddedTypesManager.cs (2)
54where TMethodSymbol : class, TSymbol, Cci.IMethodReference 223internal Cci.IMethodReference EmbedMethodIfNeedTo(TMethodSymbol methodSymbol, TSyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
Emit\NoPia\VtblGap.cs (6)
195bool Cci.IMethodReference.AcceptsExtraArguments 200ushort Cci.IMethodReference.GenericParameterCount 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; } 742IEnumerable<IMethodReference> GetAccessors(EmitContext context); 756IMethodReference? Getter { get; } 781IMethodReference? Setter { get; } 903IMethodReference UnspecializedVersion { get; } 967IMethodReference GetGenericMethod(EmitContext context);
PEWriter\MetadataVisitor.cs (4)
54IMethodReference constructor = customAttribute.Constructor(Context, reportDiagnostics: false); 334public void Visit(IEnumerable<IMethodReference> methodReferences) 336foreach (IMethodReference methodReference in methodReferences) 342public virtual void Visit(IMethodReference methodReference)
PEWriter\MetadataWriter.cs (15)
723private EntityHandle GetCustomAttributeTypeCodedIndex(IMethodReference methodReference) 939if (memberRef is IMethodReference methodRef) 963internal EntityHandle GetMethodDefinitionOrReferenceHandle(IMethodReference methodReference) 1092IMethodReference methodReference => this.GetMethodSignatureHandle(methodReference), 1097internal BlobHandle GetMethodSignatureHandle(IMethodReference methodReference) 1107internal byte[] GetMethodSignature(IMethodReference methodReference) 1114private BlobHandle GetMethodSignatureHandleAndBlob(IMethodReference methodReference, out ImmutableArray<byte> signatureBlob) 1162internal EntityHandle GetMethodHandle(IMethodReference methodReference) 1190Debug.Assert(!(signature is IMethodReference)); 1880IMethodReference entryPoint = module.PEEntryPoint; 1884IMethodReference debugEntryPoint = module.DebugEntryPoint; 2141IMethodReference constructor = customAttribute.Constructor(Context, reportDiagnostics: true); 2656foreach (IMethodReference accessorMethod in propertyDef.GetAccessors(Context)) 2682foreach (IMethodReference accessorMethod in eventDef.GetAccessors(Context)) 3124IMethodReference methodReference => GetMethodHandle(methodReference),
PEWriter\ReferenceIndexer.cs (3)
90var methodReference = reference as IMethodReference; 168protected override void ReserveMethodToken(IMethodReference methodReference)
PEWriter\ReferenceIndexerBase.cs (2)
137public override void Visit(IMethodReference methodReference) 182protected abstract void ReserveMethodToken(IMethodReference methodReference);
PEWriter\TypeReferenceIndexer.cs (1)
62protected override void ReserveMethodToken(IMethodReference methodReference)
PEWriter\Types.cs (3)
203IMethodReference DefiningMethod { get; } 357public readonly Cci.IMethodReference ImplementedMethod; 359public MethodImplementation(Cci.IMethodDefinition ImplementingMethod, Cci.IMethodReference ImplementedMethod)
Microsoft.CodeAnalysis.CSharp (69)
CodeGen\CodeGenerator.cs (1)
351var methodRef = _module.Translate(method, syntaxNode, _diagnostics.DiagnosticBag, optArgList, needDeclaration: encodeAsRawDefinitionToken);
CodeGen\EmitStatement.cs (9)
1371var indexerRef = GetIndexerRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1372var lengthMethodRef = GetLengthMethodRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1475void emitMethodRef(Microsoft.Cci.IMethodReference lengthMethodRef) 1531Cci.IMethodReference stringEqualityMethodRef = null; 1533Cci.IMethodReference sequenceEqualsMethodRef = null; 1534Cci.IMethodReference asSpanMethodRef = null; 1559Microsoft.Cci.IMethodReference lengthMethodRef = GetLengthMethodRef(syntaxNode, keyType, isReadOnlySpan, isSpanOrReadOnlySpan); 1631private Cci.IMethodReference? GetLengthMethodRef(SyntaxNode syntaxNode, TypeSymbol keyType, bool isReadOnlySpan, bool isSpanOrReadOnlySpan) 1655private 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)
27IEnumerable<Cci.IMethodReference> Cci.IEventDefinition.GetAccessors(EmitContext context) 46Cci.IMethodReference Cci.IEventDefinition.Adder 57Cci.IMethodReference Cci.IEventDefinition.Remover 86Cci.IMethodReference? Cci.IEventDefinition.Caller
Emitter\Model\ExpandedVarargsMethodReference.cs (13)
22private readonly Cci.IMethodReference _underlyingMethod; 25public ExpandedVarargsMethodReference(Cci.IMethodReference underlyingMethod, ImmutableArray<Cci.IParameterTypeInformation> argListParams) 34bool Cci.IMethodReference.AcceptsExtraArguments 39ushort Cci.IMethodReference.GenericParameterCount 44Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 49ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 57Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference 71Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference 132if (((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null) 136else if (((Cci.IMethodReference)this).AsSpecializedMethodReference != null) 142visitor.Visit((Cci.IMethodReference)this); 163Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context) 168Cci.IMethodReference Cci.ISpecializedMethodReference.UnspecializedVersion
Emitter\Model\GenericMethodInstanceReference.cs (1)
41Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context)
Emitter\Model\MethodReference.cs (4)
34bool Cci.IMethodReference.AcceptsExtraArguments 42ushort Cci.IMethodReference.GenericParameterCount 58Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 63ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters
Emitter\Model\MethodSymbolAdapter.cs (15)
35Cci.IGenericMethodInstanceReference Cci.IMethodReference.AsGenericMethodInstanceReference 51Cci.ISpecializedMethodReference Cci.IMethodReference.AsSpecializedMethodReference 101Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 106Debug.Assert(((Cci.IMethodReference)this).AsSpecializedMethodReference != null); 115Debug.Assert(((Cci.IMethodReference)this).GetResolvedMethod(visitor.Context) != null); 120visitor.Visit((Cci.IMethodReference)this); 130bool Cci.IMethodReference.AcceptsExtraArguments 138ushort Cci.IMethodReference.GenericParameterCount 154Cci.IMethodDefinition Cci.IMethodReference.GetResolvedMethod(EmitContext context) 174ImmutableArray<Cci.IParameterTypeInformation> Cci.IMethodReference.ExtraParameters 251Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 262Cci.IMethodReference Cci.IGenericMethodInstanceReference.GetGenericMethod(EmitContext context) 264Debug.Assert(((Cci.IMethodReference)this).AsGenericMethodInstanceReference != null); 283Cci.IMethodReference Cci.ISpecializedMethodReference.UnspecializedVersion 287Debug.Assert(((Cci.IMethodReference)this).AsSpecializedMethodReference != null);
Emitter\Model\PEModuleBuilder.cs (13)
839public sealed override Cci.IMethodReference GetInitArrayHelper() 1203internal sealed override Cci.IMethodReference Translate(MethodSymbol symbol, DiagnosticBag diagnostics, bool needDeclaration) 1208internal Cci.IMethodReference Translate( 1218Cci.IMethodReference unexpandedMethodRef = Translate(methodSymbol, syntaxNodeOpt, diagnostics, needDeclaration); 1242private Cci.IMethodReference Translate( 1249Cci.IMethodReference methodRef; 1267return (Cci.IMethodReference)GetCciAdapter(methodSymbol); 1278return (Cci.IMethodReference)reference; 1299methodRef = (Cci.IMethodReference)_genericInstanceMap.GetOrAdd(methodSymbol, methodRef); 1318internal Cci.IMethodReference TranslateOverriddenMethodReference( 1323Cci.IMethodReference methodRef; 1334methodRef = (Cci.IMethodReference)reference; 1339methodRef = (Cci.IMethodReference)_genericInstanceMap.GetOrAdd(methodSymbol, methodRef);
Emitter\Model\PropertySymbolAdapter.cs (4)
31IEnumerable<IMethodReference> IPropertyDefinition.GetAccessors(EmitContext context) 67IMethodReference IPropertyDefinition.Getter 122IMethodReference IPropertyDefinition.Setter 277private 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)
217Cci.IMethodReference Cci.IGenericMethodParameterReference.DefiningMethod
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\Source\MethodTests.cs (1)
1835var explicitOverrideImplementedMethod = explicitOverride.ImplementedMethod;