8 interfaces inheriting from ITypeReference
Microsoft.CodeAnalysis (8)
PEWriter\Types.cs (8)
30internal interface IArrayTypeReference : ITypeReference 176internal interface IGenericParameterReference : ITypeReference, INamedEntity, IParameterListEntry 209internal interface IGenericTypeInstanceReference : ITypeReference 250internal interface INamedTypeReference : ITypeReference, INamedEntity 377internal interface IModifiedTypeReference : ITypeReference 393internal interface IPointerTypeReference : ITypeReference 404internal interface IFunctionPointerTypeReference : ITypeReference 449internal interface ITypeDefinition : IDefinition, ITypeReference
379 references to ITypeReference
Microsoft.CodeAnalysis (375)
CodeGen\ArrayMembers.cs (8)
151public override Cci.ITypeReference GetType(EmitContext context) 165public override Cci.ITypeReference GetType(EmitContext context) 179public override Cci.ITypeReference GetType(EmitContext context) 195public override Cci.ITypeReference GetType(EmitContext context) 259public virtual Cci.ITypeReference GetType(EmitContext context) 281public override Cci.ITypeReference GetType(EmitContext context) 300public abstract Cci.ITypeReference GetType(EmitContext context); 345public Cci.ITypeReference GetContainingType(EmitContext context)
CodeGen\ILBuilder.cs (1)
1116internal void OpenLocalScope(ScopeType scopeType = ScopeType.Variable, Cci.ITypeReference? exceptionType = null)
CodeGen\LocalConstantDefinition.cs (1)
42public Cci.ITypeReference Type => CompileTimeValue.Type;
CodeGen\LocalDefinition.cs (3)
26private readonly Cci.ITypeReference _type; 64Cci.ITypeReference type, 136public Cci.ITypeReference Type => _type;
CodeGen\LocalScopeManager.cs (7)
37internal ScopeInfo OpenScope(ScopeType scopeType, Cci.ITypeReference exceptionType) 205Microsoft.Cci.ITypeReference exceptionType, 327Cci.ITypeReference exceptionType, 548private readonly Microsoft.Cci.ITypeReference _exceptionType; 559public ExceptionHandlerScope(ExceptionHandlerContainerScope containingScope, ScopeType type, Microsoft.Cci.ITypeReference exceptionType) 573public Microsoft.Cci.ITypeReference ExceptionType => _exceptionType; 696Microsoft.Cci.ITypeReference exceptionType,
CodeGen\LocalSlotManager.cs (5)
38private readonly Cci.ITypeReference _type; 41internal LocalSignature(Cci.ITypeReference valType, LocalSlotConstraints constraints) 120Cci.ITypeReference type, 165Cci.ITypeReference type, 188Cci.ITypeReference type,
CodeGen\MetadataConstant.cs (2)
14public Cci.ITypeReference Type { get; } 17public MetadataConstant(Cci.ITypeReference type, object? value)
CodeGen\MetadataCreateArray.cs (3)
19public Cci.ITypeReference ElementType { get; } 22public MetadataCreateArray(Cci.IArrayTypeReference arrayType, Cci.ITypeReference elementType, ImmutableArray<Cci.IMetadataExpression> initializers) 29Cci.ITypeReference Cci.IMetadataExpression.Type => ArrayType;
CodeGen\MetadataNamedArgument.cs (3)
17private readonly Cci.ITypeReference _type; 20public MetadataNamedArgument(ISymbolInternal entity, Cci.ITypeReference type, Cci.IMetadataExpression value) 48Cci.ITypeReference Cci.IMetadataExpression.Type => _type;
CodeGen\MetadataTypeOf.cs (6)
12private readonly Cci.ITypeReference _typeToGet; 13private readonly Cci.ITypeReference _systemType; 15public MetadataTypeOf(Cci.ITypeReference typeToGet, Cci.ITypeReference systemType) 24public Cci.ITypeReference TypeToGet 37Cci.ITypeReference Cci.IMetadataExpression.Type
CodeGen\MethodBody.cs (3)
44private readonly ImmutableArray<Cci.ITypeReference?> _stateMachineAwaiterSlots; 71ImmutableArray<Cci.ITypeReference?> stateMachineAwaiterSlots, 153ImmutableArray<Cci.ITypeReference?> Cci.IMethodBody.StateMachineAwaiterSlots
CodeGen\PermissionSetAttribute.cs (5)
66Cci.ITypeReference stringType = context.Module.GetPlatformType(Cci.PlatformType.SystemString, context); 159public Cci.ITypeReference GetType(EmitContext context) => _sourceAttribute.GetType(context); 165private readonly Cci.ITypeReference _type; 168public HexPropertyMetadataNamedArgument(Cci.ITypeReference type, Cci.IMetadataExpression value) 178Cci.ITypeReference Cci.IMetadataExpression.Type { get { return _type; } }
CodeGen\PrivateImplementationDetails.cs (41)
53internal readonly Cci.ITypeReference SystemObject; //base type 54private readonly Cci.ITypeReference _systemValueType; //base for nested structs 56private readonly Cci.ITypeReference _systemInt8Type; //for metadata init of byte arrays 57private readonly Cci.ITypeReference _systemInt16Type; //for metadata init of short arrays 58private readonly Cci.ITypeReference _systemInt32Type; //for metadata init of int arrays 59private readonly Cci.ITypeReference _systemInt64Type; //for metadata init of long arrays 98private readonly ConcurrentDictionary<(uint Size, ushort Alignment), Cci.ITypeReference> _dataFieldTypes = new ConcurrentDictionary<(uint Size, ushort Alignment), Cci.ITypeReference>(); 112Cci.ITypeReference systemObject, 113Cci.ITypeReference systemValueType, 114Cci.ITypeReference systemInt8Type, 115Cci.ITypeReference systemInt16Type, 116Cci.ITypeReference systemInt32Type, 117Cci.ITypeReference systemInt64Type, 247private Cci.ITypeReference GetOrAddDataFieldType(int length, ushort alignment) 301Cci.ITypeReference type = @this.GetOrAddDataFieldType(data.Length, alignment); 407internal Cci.IFieldReference GetModuleVersionId(Cci.ITypeReference mvidType) 419internal Cci.IFieldReference GetModuleCancellationToken(Cci.ITypeReference cancellationTokenType) 431internal Cci.IFieldReference GetOrAddInstrumentationPayloadRoot(int analysisKind, Cci.ITypeReference payloadRootType) 527public override Cci.ITypeReference GetBaseClass(EmitContext context) => SystemObject; 691private readonly Cci.ITypeReference _sysValueType; 693internal ExplicitSizeStruct(uint size, ushort alignment, PrivateImplementationDetails containingType, Cci.ITypeReference sysValueType) 705public override Cci.ITypeReference GetBaseClass(EmitContext context) => _sysValueType; 792public override Cci.ITypeReference GetBaseClass(EmitContext context) => _containingType.SystemObject; 804public override Cci.ITypeReference GetType(EmitContext context) 818private readonly Cci.ITypeReference _type; 820internal SynthesizedStaticField(string name, Cci.INamedTypeDefinition containingType, Cci.ITypeReference type) 828internal Cci.ITypeReference Type => _type; 832public override Cci.ITypeReference GetType(EmitContext context) => _type; 882public Cci.ITypeReference GetContainingType(EmitContext context) => _containingType; 903public abstract Cci.ITypeReference GetType(EmitContext context); 933internal ModuleVersionIdField(Cci.INamedTypeDefinition containingType, Cci.ITypeReference type) 945internal sealed class ModuleCancellationTokenField(Cci.INamedTypeDefinition containingType, Cci.ITypeReference type) 954internal InstrumentationPayloadRootField(Cci.INamedTypeDefinition containingType, int analysisIndex, Cci.ITypeReference payloadType) 970internal MappedField(string name, Cci.INamedTypeDefinition containingType, Cci.ITypeReference type, ImmutableArray<byte> block) 986internal CachedArrayField(string name, Cci.INamedTypeDefinition containingType, Cci.ITypeReference type) 1011public Cci.ITypeReference GetContainingType(EmitContext context) => ContainingTypeDefinition; 1122public abstract Cci.ITypeReference GetBaseClass(EmitContext context); 1218public override Cci.ITypeReference GetType(EmitContext context) => context.Module.GetPlatformType(Cci.PlatformType.SystemString, context); 1228public override Cci.ITypeReference GetType(EmitContext context) 1242public override Cci.ITypeReference GetType(EmitContext context) => context.Module.GetPlatformType(Cci.PlatformType.SystemInt32, context);
CodeGen\ReferenceDependencyWalker.cs (5)
23var typeReference = reference as Cci.ITypeReference; 45private static void VisitTypeReference(Cci.ITypeReference typeReference, EmitContext context) 89foreach (var arg in genericInstance.GetGenericArguments(context)) 112foreach (var arg in genericInstance.GetGenericArguments(context))
CodeGen\SignatureOnlyLocalDefinition.cs (1)
76public Cci.ITypeReference Type
CodeGen\VariableSlotAllocator.cs (3)
19Cci.ITypeReference type, 36Cci.ITypeReference currentType, 54public abstract bool TryGetPreviousAwaiterSlotIndex(Cci.ITypeReference currentType, DiagnosticBag diagnostics, out int slotIndex);
Emit\CommonPEModuleBuilder.cs (12)
155internal abstract Cci.ITypeReference Translate(ITypeSymbolInternal symbol, SyntaxNode syntaxOpt, DiagnosticBag diagnostics); 164internal abstract Cci.ITypeReference EncTranslateType(ITypeSymbolInternal type, DiagnosticBag diagnostics); 213public abstract Cci.ITypeReference GetPlatformType(Cci.PlatformType platformType, EmitContext context); 214public abstract bool IsPlatformType(Cci.ITypeReference typeRef, Cci.PlatformType platformType); 697internal sealed override Cci.ITypeReference EncTranslateType(ITypeSymbolInternal type, DiagnosticBag diagnostics) 702internal virtual Cci.ITypeReference EncTranslateLocalVariableType(TTypeSymbol type, DiagnosticBag diagnostics) 786internal abstract Cci.ITypeReference Translate(TTypeSymbol symbol, TSyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics); 794internal sealed override Cci.ITypeReference Translate(ITypeSymbolInternal symbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 823internal Cci.IFieldReference GetModuleVersionId(Cci.ITypeReference mvidType, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics) 831internal Cci.IFieldReference GetModuleCancellationToken(Cci.ITypeReference cancellationTokenType, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics) 834internal Cci.IFieldReference GetInstrumentationPayloadRoot(int analysisKind, Cci.ITypeReference payloadType, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics) 1165public sealed override Cci.ITypeReference GetPlatformType(Cci.PlatformType platformType, EmitContext context)
Emit\EditAndContinue\AddedOrChangedMethodInfo.cs (4)
26public readonly ImmutableArray<Cci.ITypeReference?> StateMachineAwaiterSlotsOpt; 36ImmutableArray<Cci.ITypeReference?> stateMachineAwaiterSlotsOpt, 81var typeRef = map.MapReference(info.Type); 94var typeRef = map.MapReference(info.Type);
Emit\EditAndContinue\DefinitionMap.cs (6)
203out IReadOnlyDictionary<Cci.ITypeReference, int> awaiterMap, 229IReadOnlyDictionary<Cci.ITypeReference, int>? awaiterMap = null; 495ImmutableArray<Cci.ITypeReference?> hoistedAwaiters, 497out IReadOnlyDictionary<Cci.ITypeReference, int> awaiterMap) 500var awaiters = new Dictionary<Cci.ITypeReference, int>(Cci.SymbolEquivalentEqualityComparer.Instance); 516var slot = hoistedAwaiters[slotIndex];
Emit\EditAndContinue\DeletedMethodBody.cs (1)
52public ImmutableArray<Cci.ITypeReference> StateMachineAwaiterSlots => default;
Emit\EditAndContinue\DeletedPEMethodDefinition.cs (2)
164public Cci.ITypeReference GetContainingType(EmitContext context) 176public Cci.ITypeReference GetType(EmitContext context)
Emit\EditAndContinue\DeletedSourceDefinition.cs (2)
57protected ITypeReference? WrapType(ITypeReference? typeReference)
Emit\EditAndContinue\DeletedSourceMethodDefinition.cs (2)
114public ITypeReference GetContainingType(EmitContext context) 136public ITypeReference GetType(EmitContext context)
Emit\EditAndContinue\DeletedSourceParameterDefinition.cs (1)
50public ITypeReference GetType(EmitContext context)
Emit\EditAndContinue\DeletedSourceTypeDefinition.cs (1)
107public ITypeReference? GetBaseClass(EmitContext context)
Emit\EditAndContinue\DeltaMetadataWriter.cs (9)
65private readonly InstanceAndStructuralReferenceIndex<ITypeReference> _typeSpecIndex; 124_typeSpecIndex = new InstanceAndStructuralReferenceIndex<ITypeReference>(this, new TypeSpecComparer(this), lastRowId: sizes[(int)TableIndex.TypeSpec]); 461protected override bool TryGetTypeReferenceHandle(ITypeReference reference, out TypeReferenceHandle handle) 469protected override TypeReferenceHandle GetOrAddTypeReferenceHandle(ITypeReference reference) 474protected override IReadOnlyList<ITypeReference> GetTypeRefs() 479protected override TypeSpecificationHandle GetOrAddTypeSpecificationHandle(ITypeReference reference) 484protected override IReadOnlyList<ITypeReference> GetTypeSpecs() 841foreach (var typeRef in GetTypeRefs()) 926ITypeReference translatedType = localDef.Type;
Emit\EditAndContinue\EncHoistedLocalInfo.cs (2)
16public readonly Cci.ITypeReference? Type; 24public EncHoistedLocalInfo(LocalSlotDebugInfo slotInfo, Cci.ITypeReference type)
Emit\EditAndContinue\EncHoistedLocalMetadata.cs (2)
12public readonly Cci.ITypeReference Type; 15public EncHoistedLocalMetadata(string name, Cci.ITypeReference type, SynthesizedLocalKind synthesizedKind)
Emit\EditAndContinue\EncLocalInfo.cs (2)
16public readonly Cci.ITypeReference? Type; 32public EncLocalInfo(LocalSlotDebugInfo slotInfo, Cci.ITypeReference type, LocalSlotConstraints constraints, byte[]? signature)
Emit\EditAndContinue\EncVariableSlotAllocator.cs (8)
36private readonly IReadOnlyDictionary<Cci.ITypeReference, int>? _awaiterMap; 58IReadOnlyDictionary<Cci.ITypeReference, int>? awaiterMap, 144Cci.ITypeReference currentType, 164var previousType = _symbolMap.MapReference(currentType); 196Cci.ITypeReference currentType, 215var previousType = _symbolMap.MapReference(currentType); 232public override bool TryGetPreviousAwaiterSlotIndex(Cci.ITypeReference currentType, DiagnosticBag diagnostics, out int slotIndex) 241var typeRef = _symbolMap.MapReference(currentType);
Emit\EditAndContinue\SymbolMatcher.cs (2)
17public abstract Cci.ITypeReference? MapReference(Cci.ITypeReference reference);
Emit\ErrorType.cs (14)
69bool Cci.ITypeReference.IsEnum 77bool Cci.ITypeReference.IsValueType 85Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 90Cci.PrimitiveTypeCode Cci.ITypeReference.TypeCode 98TypeDefinitionHandle Cci.ITypeReference.TypeDef 106Cci.IGenericMethodParameterReference Cci.ITypeReference.AsGenericMethodParameterReference 114Cci.IGenericTypeInstanceReference Cci.ITypeReference.AsGenericTypeInstanceReference 122Cci.IGenericTypeParameterReference Cci.ITypeReference.AsGenericTypeParameterReference 130Cci.INamespaceTypeDefinition Cci.ITypeReference.AsNamespaceTypeDefinition(EmitContext context) 135Cci.INamespaceTypeReference Cci.ITypeReference.AsNamespaceTypeReference 143Cci.INestedTypeDefinition Cci.ITypeReference.AsNestedTypeDefinition(EmitContext context) 148Cci.INestedTypeReference Cci.ITypeReference.AsNestedTypeReference 156Cci.ISpecializedNestedTypeReference Cci.ITypeReference.AsSpecializedNestedTypeReference 164Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\CommonEmbeddedEvent.cs (3)
65protected abstract Cci.ITypeReference GetType(TPEModuleBuilder moduleBuilder, TSyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics); 143Cci.ITypeReference Cci.IEventDefinition.GetType(EmitContext context) 169Cci.ITypeReference Cci.ITypeMemberReference.GetContainingType(EmitContext context)
Emit\NoPia\CommonEmbeddedField.cs (2)
176Cci.ITypeReference Cci.ITypeMemberReference.GetContainingType(EmitContext context) 199Cci.ITypeReference Cci.IFieldReference.GetType(EmitContext context)
Emit\NoPia\CommonEmbeddedMethod.cs (4)
159ImmutableArray<Cci.ITypeReference> Cci.IMethodBody.StateMachineAwaiterSlots => 160default(ImmutableArray<Cci.ITypeReference>); 245Cci.ITypeReference Cci.ITypeMemberReference.GetContainingType(EmitContext context) 301Cci.ITypeReference Cci.ISignature.GetType(EmitContext context)
Emit\NoPia\CommonEmbeddedParameter.cs (1)
253Cci.ITypeReference Cci.IParameterTypeInformation.GetType(EmitContext context)
Emit\NoPia\CommonEmbeddedProperty.cs (2)
171Cci.ITypeReference Cci.ISignature.GetType(EmitContext context) 197Cci.ITypeReference Cci.ITypeMemberReference.GetContainingType(EmitContext context)
Emit\NoPia\CommonEmbeddedType.cs (16)
70protected abstract Cci.ITypeReference GetBaseClass(TPEModuleBuilder moduleBuilder, TSyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics); 239Cci.ITypeReference Cci.ITypeDefinition.GetBaseClass(EmitContext context) 564bool Cci.ITypeReference.IsEnum 572bool Cci.ITypeReference.IsValueType 580Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 585Cci.PrimitiveTypeCode Cci.ITypeReference.TypeCode 593TypeDefinitionHandle Cci.ITypeReference.TypeDef 601Cci.IGenericMethodParameterReference Cci.ITypeReference.AsGenericMethodParameterReference 609Cci.IGenericTypeInstanceReference Cci.ITypeReference.AsGenericTypeInstanceReference 617Cci.IGenericTypeParameterReference Cci.ITypeReference.AsGenericTypeParameterReference 625Cci.INamespaceTypeDefinition Cci.ITypeReference.AsNamespaceTypeDefinition(EmitContext context) 630Cci.INamespaceTypeReference Cci.ITypeReference.AsNamespaceTypeReference 638Cci.INestedTypeDefinition Cci.ITypeReference.AsNestedTypeDefinition(EmitContext context) 643Cci.INestedTypeReference Cci.ITypeReference.AsNestedTypeReference 651Cci.ISpecializedNestedTypeReference Cci.ITypeReference.AsSpecializedNestedTypeReference 659Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\CommonEmbeddedTypeParameter.cs (14)
131bool Cci.ITypeReference.IsEnum 136bool Cci.ITypeReference.IsValueType 141Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 146Cci.PrimitiveTypeCode Cci.ITypeReference.TypeCode 154TypeDefinitionHandle Cci.ITypeReference.TypeDef 159Cci.IGenericMethodParameterReference Cci.ITypeReference.AsGenericMethodParameterReference 164Cci.IGenericTypeInstanceReference Cci.ITypeReference.AsGenericTypeInstanceReference 169Cci.IGenericTypeParameterReference Cci.ITypeReference.AsGenericTypeParameterReference 174Cci.INamespaceTypeDefinition Cci.ITypeReference.AsNamespaceTypeDefinition(EmitContext context) 179Cci.INamespaceTypeReference Cci.ITypeReference.AsNamespaceTypeReference 184Cci.INestedTypeDefinition Cci.ITypeReference.AsNestedTypeDefinition(EmitContext context) 189Cci.INestedTypeReference Cci.ITypeReference.AsNestedTypeReference 194Cci.ISpecializedNestedTypeReference Cci.ITypeReference.AsSpecializedNestedTypeReference 199Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\VtblGap.cs (2)
168Cci.ITypeReference Cci.ITypeMemberReference.GetContainingType(EmitContext context) 255Cci.ITypeReference Cci.ISignature.GetType(EmitContext context)
NativePdbWriter\PdbWriter.cs (2)
344internal string GetOrCreateSerializedTypeName(ITypeReference typeReference) 364private string SerializeVisualBasicImportTypeReference(ITypeReference typeReference)
PEWriter\ExceptionHandlerRegion.cs (4)
68public virtual ITypeReference? ExceptionType 121private readonly ITypeReference _exceptionType; 128ITypeReference exceptionType) 139public override ITypeReference ExceptionType
PEWriter\ExportedType.cs (2)
15public readonly ITypeReference Type; 29public ExportedType(ITypeReference type, int parentIndex, bool isForwarder)
PEWriter\Expressions.cs (1)
22ITypeReference Type { get; }
PEWriter\FullMetadataWriter.cs (7)
36private readonly InstanceAndStructuralReferenceIndex<ITypeReference> _typeSpecIndex; 109_typeSpecIndex = new InstanceAndStructuralReferenceIndex<ITypeReference>(this, new TypeSpecComparer(this)); 276protected override bool TryGetTypeReferenceHandle(ITypeReference reference, out TypeReferenceHandle handle) 284protected override TypeReferenceHandle GetOrAddTypeReferenceHandle(ITypeReference reference) 289protected override IReadOnlyList<ITypeReference> GetTypeRefs() 294protected override TypeSpecificationHandle GetOrAddTypeSpecificationHandle(ITypeReference reference) 299protected override IReadOnlyList<ITypeReference> GetTypeSpecs()
PEWriter\ICustomAttribute.cs (1)
50ITypeReference GetType(EmitContext context);
PEWriter\InheritedTypeParameter.cs (2)
265ITypeReference IGenericTypeParameterReference.DefiningType 291public ITypeReference UnspecializedVersion
PEWriter\ITypeReferenceExtensions.cs (5)
15internal static void GetConsolidatedTypeArguments(this ITypeReference typeReference, ArrayBuilder<ITypeReference> consolidatedTypeArguments, EmitContext context) 27internal static ITypeReference GetUninstantiatedGenericType(this ITypeReference typeReference, EmitContext context) 44internal static bool IsTypeSpecification(this ITypeReference typeReference)
PEWriter\Members.cs (7)
165ITypeReference GetType(EmitContext context); 259ITypeReference GetType(EmitContext context); 353ITypeReference Type { get; } 485ImmutableArray<ITypeReference?> StateMachineAwaiterSlots { get; } 829ITypeReference GetType(EmitContext context); 858ITypeReference GetContainingType(EmitContext context); 961IEnumerable<ITypeReference> GetGenericArguments(EmitContext context);
PEWriter\MetadataVisitor.cs (5)
418var exceptionType = exceptionRegion.ExceptionType; 583public void Visit(IEnumerable<ITypeReference> typeReferences) 585foreach (ITypeReference typeReference in typeReferences) 600public virtual void Visit(ITypeReference typeReference) 611protected void DispatchAsReference(ITypeReference typeReference)
PEWriter\MetadataWriter.cs (44)
350protected abstract bool TryGetTypeReferenceHandle(ITypeReference reference, out TypeReferenceHandle handle); 357protected abstract TypeReferenceHandle GetOrAddTypeReferenceHandle(ITypeReference reference); 363protected abstract IReadOnlyList<ITypeReference> GetTypeRefs(); 370protected abstract TypeSpecificationHandle GetOrAddTypeSpecificationHandle(ITypeReference reference); 376protected abstract IReadOnlyList<ITypeReference> GetTypeSpecs(); 439private readonly Dictionary<ITypeReference, BlobHandle> _typeSpecSignatureIndex = new Dictionary<ITypeReference, BlobHandle>(ReferenceEqualityComparer.Instance); 641public static IUnitReference GetDefiningUnitReference(ITypeReference typeReference, EmitContext context) 957var containingType = memberRef.GetContainingType(Context); 1054foreach (ITypeReference typeReference in methodInstanceReference.GetGenericArguments(Context)) 1056var typeRef = typeReference; 1594private TypeReferenceHandle GetTypeReferenceHandle(ITypeReference typeReference) 1617private TypeSpecificationHandle GetTypeSpecificationHandle(ITypeReference typeReference) 1642internal BlobHandle GetTypeSpecSignatureIndex(ITypeReference typeReference) 1659internal EntityHandle GetTypeHandle(ITypeReference typeReference, bool treatRefAsPotentialTypeSpec = true) 2791ITypeReference baseType = typeDef.GetBaseClass(Context); 2840foreach (ITypeReference typeRef in typeRefs) 2849ITypeReference scopeTypeRef; 2900foreach (ITypeReference typeSpec in typeSpecs) 3122ITypeReference typeReference => GetTypeHandle(typeReference), 3390var exceptionType = region.ExceptionType; 3424var type = parameterTypeInformation.GetType(Context); 3453foreach (ITypeReference genericArgument in genericMethodInstanceReference.GetGenericArguments(Context)) 3455ITypeReference typeRef = genericArgument; 3510private void SerializeNamedArgumentType(in EmitContext context, NamedArgumentTypeEncoder encoder, ITypeReference type) 3526private void SerializeMetadataExpression(in EmitContext context, LiteralEncoder encoder, IMetadataExpression expression, ITypeReference targetType) 3530ITypeReference targetElementType; 3626case ITypeReference marshallerTypeRef: 3674var elementType = marshallingInformation.GetSafeArrayElementUserDefinedSubtype(Context); 3699private void SerializeTypeName(ITypeReference typeReference, BlobBuilder writer) 3786var returnType = signature.GetType(Context); 3827private void SerializeTypeReference(SignatureTypeEncoder encoder, ITypeReference typeReference) 3918ITypeReference uninstantiatedTypeReference = typeReference.GetUninstantiatedGenericType(Context); 3923var consolidatedTypeArguments = ArrayBuilder<ITypeReference>.GetInstance(); 3931foreach (ITypeReference typeArgument in consolidatedTypeArguments) 4029var elementType = arrayTypeReference.GetElementType(Context); 4042private void SerializeCustomAttributeElementType(in EmitContext context, CustomAttributeElementTypeEncoder encoder, ITypeReference typeReference) 4135private int GetNumberOfInheritedTypeParameters(ITypeReference type) 4281protected sealed class TypeReferenceIndex : HeapOrReferenceIndexBase<ITypeReference> 4283private readonly Dictionary<ITypeReference, int> _index; 4286: this(writer, new Dictionary<ITypeReference, int>(ReferenceEqualityComparer.Instance), lastRowId) 4290private TypeReferenceIndex(MetadataWriter writer, Dictionary<ITypeReference, int> index, int lastRowId) 4297public override bool TryGetValue(ITypeReference item, out int index) 4302protected override void AddItem(ITypeReference item, int index)
PEWriter\MetadataWriter.PortablePdb.cs (1)
180var type = localConstant.Type;
PEWriter\MethodDefinitionBase.cs (3)
113public ITypeReference GetContainingType(EmitContext context) => ContainingTypeDefinition; 123public virtual ITypeReference GetType(EmitContext context) => context.Module.GetPlatformType(PlatformType.SystemVoid, context); 159public ImmutableArray<ITypeReference> StateMachineAwaiterSlots => default;
PEWriter\Miscellaneous.cs (2)
111/// <see cref="ITypeReference"/> or a string (usually a fully-qualified type name of a type implementing the custom marshaller, but Dev11 allows any string). 180ITypeReference GetSafeArrayElementUserDefinedSubtype(EmitContext context);
PEWriter\ModifiedTypeReference.cs (17)
18private readonly ITypeReference _modifiedType; 21public ModifiedTypeReference(ITypeReference modifiedType, ImmutableArray<ICustomModifier> customModifiers) 39ITypeReference IModifiedTypeReference.UnmodifiedType 47bool ITypeReference.IsEnum 52bool ITypeReference.IsValueType 57ITypeDefinition ITypeReference.GetResolvedType(EmitContext context) 62PrimitiveTypeCode ITypeReference.TypeCode 67TypeDefinitionHandle ITypeReference.TypeDef 82IGenericMethodParameterReference? ITypeReference.AsGenericMethodParameterReference 90IGenericTypeInstanceReference? ITypeReference.AsGenericTypeInstanceReference 98IGenericTypeParameterReference? ITypeReference.AsGenericTypeParameterReference 106INamespaceTypeDefinition? ITypeReference.AsNamespaceTypeDefinition(EmitContext context) 111INamespaceTypeReference? ITypeReference.AsNamespaceTypeReference 119INestedTypeDefinition? ITypeReference.AsNestedTypeDefinition(EmitContext context) 124INestedTypeReference? ITypeReference.AsNestedTypeReference 132ISpecializedNestedTypeReference? ITypeReference.AsSpecializedNestedTypeReference 140ITypeDefinition? ITypeReference.AsTypeDefinition(EmitContext context)
PEWriter\ParameterDefinitionBase.cs (1)
35public abstract Cci.ITypeReference GetType(EmitContext context);
PEWriter\ReferenceIndexer.cs (4)
47private void VisitExportedType(ITypeReference exportedType) 69var typeReference = reference as ITypeReference; 153protected override void RecordTypeReference(ITypeReference typeReference)
PEWriter\ReferenceIndexerBase.cs (8)
111ITypeReference containingType = nestedType.GetContainingType(Context); 234protected abstract void RecordTypeReference(ITypeReference typeReference); 275var baseType = typeDefinition.GetBaseClass(Context); 317private void VisitTypeReferencesThatNeedTokens(ITypeReference typeReference) 350ITypeReference current = arrayTypeReference.GetElementType(Context); 381ITypeReference current = pointerTypeReference.GetTargetType(Context); 406public override void Visit(ITypeReference typeReference) 415private bool VisitTypeReference(ITypeReference typeReference)
PEWriter\ReturnValueParameter.cs (1)
65public override ITypeReference GetType(EmitContext context)
PEWriter\RootModuleType.cs (14)
78public ITypeReference? GetBaseClass(EmitContext context) 223bool ITypeReference.IsEnum 228bool ITypeReference.IsValueType 233ITypeDefinition ITypeReference.GetResolvedType(EmitContext context) 238PrimitiveTypeCode ITypeReference.TypeCode 261IGenericMethodParameterReference? ITypeReference.AsGenericMethodParameterReference 269IGenericTypeInstanceReference? ITypeReference.AsGenericTypeInstanceReference 277IGenericTypeParameterReference? ITypeReference.AsGenericTypeParameterReference 285INamespaceTypeDefinition ITypeReference.AsNamespaceTypeDefinition(EmitContext context) 290INamespaceTypeReference ITypeReference.AsNamespaceTypeReference 298INestedTypeDefinition? ITypeReference.AsNestedTypeDefinition(EmitContext context) 303INestedTypeReference? ITypeReference.AsNestedTypeReference 311ISpecializedNestedTypeReference? ITypeReference.AsSpecializedNestedTypeReference 319ITypeDefinition ITypeReference.AsTypeDefinition(EmitContext context)
PEWriter\TypeNameSerializer.cs (10)
19internal static string GetSerializedTypeName(this ITypeReference typeReference, EmitContext context) 25internal static string GetSerializedTypeName(this ITypeReference typeReference, EmitContext context, ref bool isAssemblyQualified) 91ITypeReference uninstantiatedTypeReference = typeReference.GetUninstantiatedGenericType(context); 94ArrayBuilder<ITypeReference> consolidatedTypeArguments = ArrayBuilder<ITypeReference>.GetInstance(); 101foreach (ITypeReference argument in consolidatedTypeArguments) 141private static void AppendSerializedTypeName(StringBuilder sb, ITypeReference type, ref bool isAssemQualified, EmitContext context) 156private static void AppendAssemblyQualifierIfNecessary(StringBuilder sb, ITypeReference typeReference, out bool isAssemQualified, EmitContext context) 240private static ITypeReference UnwrapTypeReference(ITypeReference typeReference, EmitContext context)
PEWriter\TypeReferenceIndexer.cs (1)
54protected override void RecordTypeReference(ITypeReference typeReference)
PEWriter\Types.cs (10)
35ITypeReference GetElementType(EmitContext context); 91ITypeReference GetModifier(EmitContext context); 123ITypeReference GetType(EmitContext context); 214ImmutableArray<ITypeReference> GetGenericArguments(EmitContext context); 244ITypeReference DefiningType { get; } 387ITypeReference UnmodifiedType { get; } 398ITypeReference GetTargetType(EmitContext context); 430public ITypeReference TypeRef { get; } 438ITypeReference typeRef, 459ITypeReference? GetBaseClass(EmitContext context);
PEWriter\TypeSpecComparer.cs (4)
10internal sealed class TypeSpecComparer : IEqualityComparer<ITypeReference> 19public bool Equals(ITypeReference? x, ITypeReference? y) 24public int GetHashCode(ITypeReference typeReference)
PEWriter\UsedNamespaceOrType.cs (6)
19public readonly ITypeReference? TargetTypeOpt; 26ITypeReference? targetType = null, 36internal static UsedNamespaceOrType CreateType(ITypeReference type, string? aliasOpt = null) 84private static bool Equals(ITypeReference? x, ITypeReference? y) 111private static int GetHashCode(ITypeReference? obj)
Symbols\Attributes\MarshalPseudoCustomAttributeData.cs (1)
177Cci.ITypeReference Cci.IMarshallingInformation.GetSafeArrayElementUserDefinedSubtype(EmitContext context)
Symbols\CustomModifier.cs (1)
33Cci.ITypeReference Cci.ICustomModifier.GetModifier(EmitContext context)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (4)
Emit\EditAndContinue\SymbolMatcherTests.cs (4)
347var other = matcher.MapReference(member.GetCciAdapter()); 378var other = matcher.MapReference(member.GetCciAdapter()); 410var other = matcher.MapReference(member.GetCciAdapter()); 444var other = matcher.MapReference((Cci.ITypeReference)member.Type.GetCciAdapter());