1 interface inheriting from ITypeDefinition
Microsoft.CodeAnalysis (1)
PEWriter\Types.cs (1)
269internal interface INamedTypeDefinition : ITypeDefinition, INamedTypeReference
3 implementations of ITypeDefinition
Microsoft.CodeAnalysis (3)
CodeGen\PrivateImplementationDetails.cs (1)
1021internal abstract class DefaultTypeDef : Cci.ITypeDefinition
Emit\EditAndContinue\DeletedSourceTypeDefinition.cs (2)
18internal sealed class DeletedSourceTypeDefinition : DeletedSourceDefinition<ITypeDefinition>, ITypeDefinition
166 references to ITypeDefinition
Microsoft.CodeAnalysis (166)
CodeGen\PrivateImplementationDetails.cs (7)
715public override Cci.ITypeDefinition ContainingTypeDefinition => _containingType; 753Cci.ITypeDefinition containingType, 790public override Cci.ITypeDefinition ContainingTypeDefinition => _containingType; 878public Cci.ITypeDefinition ContainingTypeDefinition => _containingType; 1007public abstract Cci.ITypeDefinition ContainingTypeDefinition { get; } 1089public Cci.ITypeDefinition GetResolvedType(EmitContext context) => this; 1114public Cci.ITypeDefinition AsTypeDefinition(EmitContext context) => this;
Emit\AnonymousTypeValue.cs (2)
14public readonly Cci.ITypeDefinition Type; 16public AnonymousTypeValue(string name, int uniqueIndex, Cci.ITypeDefinition type)
Emit\CommonPEModuleBuilder.cs (4)
50private IReadOnlyDictionary<Cci.ITypeDefinition, ArrayBuilder<Cci.IMethodDefinition>>? _encDeletedMethodDefinitions; 136public IReadOnlyDictionary<Cci.ITypeDefinition, ArrayBuilder<Cci.IMethodDefinition>> GetDeletedMethodDefinitions() 358public abstract IEnumerable<(Cci.ITypeDefinition, ImmutableArray<Cci.DebugSourceDocument>)> GetTypeToDebugDocumentMap(EmitContext context); 820noPiaIndexer?.Visit((Cci.ITypeDefinition)type);
Emit\EditAndContinue\DeletedPEMethodDefinition.cs (1)
101public Cci.ITypeDefinition ContainingTypeDefinition
Emit\EditAndContinue\DeletedSourceDefinition.cs (3)
19private readonly Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> _typesUsedByDeletedMembers; 29protected DeletedSourceDefinition(T oldDefinition, Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> typesUsedByDeletedMembers) 59if (typeReference is ITypeDefinition typeDef)
Emit\EditAndContinue\DeletedSourceGenericParameter.cs (4)
17public DeletedSourceGenericParameter(IGenericMethodParameter oldParameter, DeletedSourceMethodDefinition method, Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> typesUsedByDeletedMembers) 75public ITypeDefinition? AsTypeDefinition(EmitContext context) 88public ITypeDefinition? GetResolvedType(EmitContext context) 90return (ITypeDefinition?)WrapType(OldDefinition.GetResolvedType(context));
Emit\EditAndContinue\DeletedSourceMethodDefinition.cs (2)
21public DeletedSourceMethodDefinition(IMethodDefinition oldMethod, MethodDefinitionHandle handle, ImmutableArray<byte> bodyIL, Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> typesUsedByDeletedMembers) 77public ITypeDefinition ContainingTypeDefinition => throw ExceptionUtilities.Unreachable();
Emit\EditAndContinue\DeletedSourceParameterDefinition.cs (1)
16public DeletedSourceParameterDefinition(IParameterDefinition oldParameter, Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> typesUsedByDeletedMembers)
Emit\EditAndContinue\DeletedSourceTypeDefinition.cs (4)
20public DeletedSourceTypeDefinition(ITypeDefinition oldDefinition, Dictionary<ITypeDefinition, DeletedSourceTypeDefinition> typesUsedByDeletedMembers) 97public ITypeDefinition? AsTypeDefinition(EmitContext context) 102public ITypeDefinition? GetResolvedType(EmitContext context)
Emit\EditAndContinue\DeltaMetadataWriter.cs (21)
33private readonly List<ITypeDefinition> _changedTypeDefs; 35private readonly Dictionary<ITypeDefinition, ImmutableArray<IMethodDefinition>> _deletedTypeMembers; 36private readonly IReadOnlyDictionary<ITypeDefinition, ArrayBuilder<IMethodDefinition>> _deletedMethodDefs; 38private readonly DefinitionIndex<ITypeDefinition> _typeDefs; 98_changedTypeDefs = new List<ITypeDefinition>(); 99_deletedTypeMembers = new Dictionary<ITypeDefinition, ImmutableArray<IMethodDefinition>>(ReferenceEqualityComparer.Instance); 101_typeDefs = new DefinitionIndex<ITypeDefinition>(this.TryGetExistingTypeDefIndex, sizes[(int)TableIndex.TypeDef]); 304foreach (var def in _changedTypeDefs) 345protected override bool TryGetTypeDefinitionHandle(ITypeDefinition def, out TypeDefinitionHandle handle) 352protected override TypeDefinitionHandle GetTypeDefinitionHandle(ITypeDefinition def) 357protected override ITypeDefinition GetTypeDef(TypeDefinitionHandle handle) 362protected override IReadOnlyList<ITypeDefinition> GetTypeDefs() 505internal static IReadOnlyDictionary<ITypeDefinition, ArrayBuilder<IMethodDefinition>> CreateDeletedMethodsDefs(EmitContext context, SymbolChanges changes) 507var result = new Dictionary<ITypeDefinition, ArrayBuilder<IMethodDefinition>>(ReferenceEqualityComparer.Instance); 508var typesUsedByDeletedMembers = new Dictionary<ITypeDefinition, DeletedSourceTypeDefinition>(ReferenceEqualityComparer.Instance); 519void recurse(ITypeDefinition typeDef) 533ArrayBuilder<IMethodDefinition>? getDeletedMethodDefs(ITypeDefinition typeDef) 602protected override void CreateIndicesForNonTypeMembers(ITypeDefinition typeDef) 1614private bool TryGetExistingTypeDefIndex(ITypeDefinition item, out int index) 1833private readonly IReadOnlyDictionary<ITypeDefinition, ImmutableArray<IMethodDefinition>> _deletedTypeMembers; 1909public override void Visit(ITypeDefinition typeDefinition)
Emit\EditAndContinue\EmitBaseline.cs (4)
177typesAdded: new Dictionary<Cci.ITypeDefinition, int>(), 235internal readonly IReadOnlyDictionary<Cci.ITypeDefinition, int> TypesAdded; 298IReadOnlyDictionary<Cci.ITypeDefinition, int> typesAdded, 397IReadOnlyDictionary<Cci.ITypeDefinition, int> typesAdded,
Emit\EditAndContinue\SymbolChanges.cs (2)
225return (def is ITypeDefinition) ? SymbolChange.ContainsChanges : SymbolChange.None; 334var namespaceTypeDef = (symbol.GetCciAdapter() as ITypeDefinition)?.AsNamespaceTypeDefinition(context);
Emit\EditAndContinue\SymbolMatcher.cs (5)
114var type = (Cci.ITypeDefinition?)MapDefinition(value.Type); 128var delegateTypeDef = (Cci.ITypeDefinition?)MapDefinition(value.Delegate); 144value.Name, value.UniqueIndex, (Cci.ITypeDefinition?)MapDefinition(value.Type) ?? throw ExceptionUtilities.UnexpectedValue(value.Type))));
Emit\ErrorType.cs (2)
85Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 164Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\CommonEmbeddedEvent.cs (1)
156Cci.ITypeDefinition Cci.ITypeDefinitionMember.ContainingTypeDefinition
Emit\NoPia\CommonEmbeddedField.cs (1)
160Cci.ITypeDefinition Cci.ITypeDefinitionMember.ContainingTypeDefinition
Emit\NoPia\CommonEmbeddedMethod.cs (1)
239Cci.ITypeDefinition Cci.ITypeDefinitionMember.ContainingTypeDefinition => ContainingType;
Emit\NoPia\CommonEmbeddedProperty.cs (1)
184Cci.ITypeDefinition Cci.ITypeDefinitionMember.ContainingTypeDefinition
Emit\NoPia\CommonEmbeddedType.cs (29)
239Cci.ITypeReference Cci.ITypeDefinition.GetBaseClass(EmitContext context) 244IEnumerable<Cci.IEventDefinition> Cci.ITypeDefinition.GetEvents(EmitContext context) 268IEnumerable<Cci.MethodImplementation> Cci.ITypeDefinition.GetExplicitImplementationOverrides(EmitContext context) 273IEnumerable<Cci.IFieldDefinition> Cci.ITypeDefinition.GetFields(EmitContext context) 297IEnumerable<Cci.IGenericTypeParameter> Cci.ITypeDefinition.GenericParameters 305ushort Cci.ITypeDefinition.GenericParameterCount 313bool Cci.ITypeDefinition.HasDeclarativeSecurity 322IEnumerable<Cci.TypeReferenceWithAttributes> Cci.ITypeDefinition.Interfaces(EmitContext context) 327bool Cci.ITypeDefinition.IsAbstract 335bool Cci.ITypeDefinition.IsBeforeFieldInit 343bool Cci.ITypeDefinition.IsComObject 351bool Cci.ITypeDefinition.IsGeneric 359bool Cci.ITypeDefinition.IsInterface 367bool Cci.ITypeDefinition.IsDelegate 375bool Cci.ITypeDefinition.IsRuntimeSpecial 383bool Cci.ITypeDefinition.IsSerializable 391bool Cci.ITypeDefinition.IsSpecialName 399bool Cci.ITypeDefinition.IsWindowsRuntimeImport 407bool Cci.ITypeDefinition.IsSealed 415System.Runtime.InteropServices.LayoutKind Cci.ITypeDefinition.Layout 424ushort Cci.ITypeDefinition.Alignment 433uint Cci.ITypeDefinition.SizeOf 442IEnumerable<Cci.IMethodDefinition> Cci.ITypeDefinition.GetMethods(EmitContext context) 487IEnumerable<Cci.INestedTypeDefinition> Cci.ITypeDefinition.GetNestedTypes(EmitContext context) 492IEnumerable<Cci.IPropertyDefinition> Cci.ITypeDefinition.GetProperties(EmitContext context) 516IEnumerable<Cci.SecurityAttribute> Cci.ITypeDefinition.SecurityAttributes 525System.Runtime.InteropServices.CharSet Cci.ITypeDefinition.StringFormat 580Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 659Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\CommonEmbeddedTypeParameter.cs (2)
141Cci.ITypeDefinition Cci.ITypeReference.GetResolvedType(EmitContext context) 199Cci.ITypeDefinition Cci.ITypeReference.AsTypeDefinition(EmitContext context)
Emit\NoPia\VtblGap.cs (3)
14public readonly Cci.ITypeDefinition ContainingType; 17public VtblGap(Cci.ITypeDefinition containingType, string name) 149Cci.ITypeDefinition Cci.ITypeDefinitionMember.ContainingTypeDefinition
Emit\SynthesizedDelegateValue.cs (2)
11public readonly ITypeDefinition Delegate; 13public SynthesizedDelegateValue(ITypeDefinition @delegate)
NativePdbWriter\SymWriterMetadataProvider.cs (1)
39ITypeDefinition t = _writer.GetTypeDefinition(typeDefinitionToken);
PEWriter\FullMetadataWriter.cs (13)
19private readonly DefinitionIndex<ITypeDefinition> _typeDefs; 27private readonly Dictionary<ITypeDefinition, int> _fieldDefIndex; 28private readonly Dictionary<ITypeDefinition, int> _methodDefIndex; 92_typeDefs = new DefinitionIndex<ITypeDefinition>(numTypeDefsGuess); 100_fieldDefIndex = new Dictionary<ITypeDefinition, int>(numTypeDefsGuess, ReferenceEqualityComparer.Instance); 101_methodDefIndex = new Dictionary<ITypeDefinition, int>(numTypeDefsGuess, ReferenceEqualityComparer.Instance); 128protected override bool TryGetTypeDefinitionHandle(ITypeDefinition def, out TypeDefinitionHandle handle) 136protected override TypeDefinitionHandle GetTypeDefinitionHandle(ITypeDefinition def) 141protected override ITypeDefinition GetTypeDef(TypeDefinitionHandle handle) 146protected override IReadOnlyList<ITypeDefinition> GetTypeDefs() 334ITypeDefinition? lastParent = null; 352ITypeDefinition? lastParent = null; 368protected override void CreateIndicesForNonTypeMembers(ITypeDefinition typeDef)
PEWriter\InheritedTypeParameter.cs (6)
15private readonly ITypeDefinition _inheritingType; 18internal InheritedTypeParameter(ushort index, ITypeDefinition inheritingType, IGenericTypeParameter parentParameter) 27public ITypeDefinition DefiningType 186public ITypeDefinition? AsTypeDefinition(EmitContext context) 188return this as ITypeDefinition; 233public ITypeDefinition GetResolvedType(EmitContext context)
PEWriter\Members.cs (1)
841ITypeDefinition ContainingTypeDefinition { get; }
PEWriter\MetadataVisitor.cs (4)
547public void Visit(IEnumerable<ITypeDefinition> types) 549foreach (ITypeDefinition type in types) 555public abstract void Visit(ITypeDefinition typeDefinition); 559ITypeDefinition? nestedType = typeMember as INestedTypeDefinition;
PEWriter\MetadataWriter.cs (22)
170protected abstract bool TryGetTypeDefinitionHandle(ITypeDefinition def, out TypeDefinitionHandle handle); 175protected abstract TypeDefinitionHandle GetTypeDefinitionHandle(ITypeDefinition def); 181protected abstract ITypeDefinition GetTypeDef(TypeDefinitionHandle handle); 187protected abstract IReadOnlyList<ITypeDefinition> GetTypeDefs(); 391protected abstract void CreateIndicesForNonTypeMembers(ITypeDefinition typeDef); 497var typesToIndex = new Queue<ITypeDefinition>(); 506createIndices((ITypeDefinition)hotReloadException.GetCciAdapter(), typesToIndex); 514void createIndices(ITypeDefinition typeDef, Queue<ITypeDefinition> typesToIndex) 534protected IEnumerable<IGenericTypeParameter> GetConsolidatedTypeParameters(ITypeDefinition typeDef) 550private List<IGenericTypeParameter> GetConsolidatedTypeParameters(ITypeDefinition typeDef, ITypeDefinition owner) 926ITypeDefinition parentTypeDef = memberRef.GetContainingType(Context).AsTypeDefinition(Context); 1459internal TypeAttributes GetTypeAttributes(ITypeDefinition typeDef) 1464public static TypeAttributes GetTypeAttributes(ITypeDefinition typeDef, EmitContext context) 1622internal ITypeDefinition GetTypeDefinition(int token) 1662var typeDefinition = typeReference.AsTypeDefinition(this.Context); 1677ITypeDefinition typeDef => (EntityHandle)GetTypeDefinitionHandle(typeDef), 2162foreach (ITypeDefinition typeDef in this.GetTypeDefs()) 2508foreach (ITypeDefinition typeDef in this.GetTypeDefs()) 2805foreach (ITypeDefinition typeDef in this.GetTypeDefs()) 2821foreach (ITypeDefinition typeDef in this.GetTypeDefs())
PEWriter\MethodDefinitionBase.cs (2)
19public MethodDefinitionBase(ITypeDefinition containingTypeDefinition, ushort maxStack, ImmutableArray<byte> il) 30public ITypeDefinition ContainingTypeDefinition { get; }
PEWriter\ModifiedTypeReference.cs (2)
57ITypeDefinition ITypeReference.GetResolvedType(EmitContext context) 140ITypeDefinition? ITypeReference.AsTypeDefinition(EmitContext context)
PEWriter\ReferenceIndexerBase.cs (2)
271public void VisitTypeDefinitionNoMembers(ITypeDefinition typeDefinition) 297public override void Visit(ITypeDefinition typeDefinition)
PEWriter\RootModuleType.cs (6)
48public ITypeDefinition ResolvedType 200IEnumerable<IGenericTypeParameter> ITypeDefinition.GenericParameters 205ushort ITypeDefinition.GenericParameterCount 213IEnumerable<SecurityAttribute> ITypeDefinition.SecurityAttributes 233ITypeDefinition ITypeReference.GetResolvedType(EmitContext context) 319ITypeDefinition ITypeReference.AsTypeDefinition(EmitContext context)
PEWriter\StaticConstructor.cs (1)
11ITypeDefinition containingTypeDefinition, ushort maxStack, ImmutableArray<byte> il)
PEWriter\Types.cs (4)
233new ITypeDefinition DefiningType { get; } 368public Cci.ITypeDefinition ContainingType 623ITypeDefinition? GetResolvedType(EmitContext context); 644ITypeDefinition? AsTypeDefinition(EmitContext context);