21 types derived from EntityBase
ILAssembler (21)
EntityRegistry.cs (21)
1781
public abstract class TypeEntity :
EntityBase
1949
public sealed class GenericParameterEntity(GenericParameterAttributes attributes, string name) :
EntityBase
, INamed
1962
public sealed class GenericParameterConstraintEntity(TypeEntity baseType) :
EntityBase
1969
public sealed class ModuleReferenceEntity(string name) :
EntityBase
1974
public sealed class MethodDefinitionEntity(TypeDefinitionEntity containingType, string name) :
EntityBase
, IHasHandle
2037
public sealed class ParameterEntity(ParameterAttributes attributes, string? name, BlobBuilder marshallingDescriptor, int sequence) :
EntityBase
2048
public sealed class MemberReferenceEntity(EntityBase parent, string name, BlobBuilder signature) :
EntityBase
2081
public sealed class MethodSpecificationEntity(EntityBase parent, BlobBuilder signature) :
EntityBase
2087
public sealed class StandaloneSignatureEntity(BlobBuilder signature) :
EntityBase
2092
public sealed class DeclarativeSecurityAttributeEntity(DeclarativeSecurityAction action, BlobBuilder permissionSet) :
EntityBase
2099
public sealed class CustomAttributeEntity(EntityBase constructor, BlobBuilder value) :
EntityBase
2112
public sealed class MethodImplementationEntity(TypeDefinitionEntity type, EntityBase methodBody, MemberReferenceEntity methodDeclaration) :
EntityBase
2119
public sealed class FieldDefinitionEntity(FieldAttributes attributes, TypeDefinitionEntity type, string name, BlobBuilder signature) :
EntityBase
2138
public sealed class InterfaceImplementationEntity(TypeDefinitionEntity type, TypeEntity interfaceType) :
EntityBase
2144
public sealed class EventEntity(EventAttributes attributes, TypeEntity? type, string name) :
EntityBase
2153
public sealed class PropertyEntity(PropertyAttributes attributes, BlobBuilder type, string name) :
EntityBase
2164
public sealed class FileEntity(string name) :
EntityBase
2171
public sealed class ModuleEntity :
EntityBase
2176
public abstract class AssemblyOrRefEntity(string name) :
EntityBase
2196
public sealed class ManifestResourceEntity(string name, uint offset) :
EntityBase
2204
public sealed class ExportedTypeEntity :
EntityBase
123 references to EntityBase
ILAssembler (123)
Actions\GrammarActions.BuildImage.cs (1)
668
foreach (
var
entity in _entityRegistry.GetSeenEntities(TableIndex.MethodDef))
Actions\GrammarActions.Conversions.cs (1)
216
private EntityRegistry.
EntityBase
? _pendingClassCustomAttributeOwner;
Actions\GrammarActions.CustomAttributes.Actions.cs (2)
170
EntityRegistry.
EntityBase
constructor = MaterializeMethodReference(descriptor.Constructor);
226
internal EntityRegistry.
EntityBase
MaterializeOwnerType(
Actions\GrammarActions.Declarations.Actions.cs (1)
131
(EntityRegistry.
EntityBase
?)_lastFieldDefinition ?? _entityRegistry.Module;
Actions\GrammarActions.Instructions.cs (1)
377
internal EntityRegistry.
EntityBase
ResolveMetadataToken(CILParser.MdtokenContext context)
Actions\GrammarActions.Instructions.References.cs (1)
96
private static void WriteInstructionToken(CurrentMethodContext method, EntityRegistry.
EntityBase
entity)
Actions\GrammarActions.Manifest.ExportedTypes.cs (8)
97
EntityRegistry.
EntityBase
? implementation,
130
EntityRegistry.
EntityBase
? Implementation,
136
EntityRegistry.
EntityBase
? implementation = null;
154
EntityRegistry.
EntityBase
entity = ResolveMetadataToken(metadataToken.Token);
216
private static EntityRegistry.
EntityBase
? ResolveBetterExportedTypeImplementation(
217
EntityRegistry.
EntityBase
? current,
218
EntityRegistry.
EntityBase
? candidate)
234
static int GetImplementationPriority(EntityRegistry.
EntityBase
entity)
Actions\GrammarActions.Manifest.Resources.cs (3)
65
EntityRegistry.
EntityBase
? implementation,
102
EntityRegistry.
EntityBase
? Implementation,
108
EntityRegistry.
EntityBase
? implementation = null;
Actions\GrammarActions.Manifest.Typedefs.cs (4)
59
EntityRegistry.
EntityBase
? owner = attribute.Owner;
109
private EntityRegistry.
EntityBase
? TryResolveTypedefAsMember(string alias)
121
EntityRegistry.
EntityBase
Constructor,
123
EntityRegistry.
EntityBase
? Owner)?
Actions\GrammarActions.Members.Class.cs (1)
391
EntityRegistry.
EntityBase
? owner)
Actions\GrammarActions.Members.Fields.cs (1)
164
internal EntityRegistry.
EntityBase
MaterializeFieldReference(
Actions\GrammarActions.MethodBodies.Directives.cs (1)
344
EntityRegistry.
EntityBase
owner)
Actions\GrammarActions.MethodHeaders.Generics.cs (1)
14
EntityRegistry.
EntityBase
owner,
Actions\GrammarActions.Signatures.cs (1)
8
internal EntityRegistry.
EntityBase
MaterializeMethodReference(CILParser.MethodRefContext context)
Actions\GrammarActions.Signatures.References.cs (5)
66
private EntityRegistry.
EntityBase
MaterializeMethodReference(MethodReferenceValue methodReference)
89
private EntityRegistry.
EntityBase
MaterializeParsedMethodReference(ParsedMethodReferenceValue methodReference)
145
private EntityRegistry.
EntityBase
MaterializeFieldReference(FieldReferenceValue fieldReference)
173
private EntityRegistry.
EntityBase
MaterializeMemberReference(MemberReferenceValue memberReference)
205
private EntityRegistry.
EntityBase
MaterializeOwnerType(OwnerTypeValue owner)
Actions\GrammarActions.Types.References.cs (2)
103
EntityRegistry.
EntityBase
resolvedToken = ResolveMetadataToken(typeToken.Token);
169
private EntityRegistry.
EntityBase
ResolveMetadataToken(int token)
CILParser.SemanticValues.Declarations.cs (2)
218
internal CustomAttributeOwnerValue(EntityRegistry.
EntityBase
? owner)
223
internal EntityRegistry.
EntityBase
? Owner { get; }
CILParser.SemanticValues.Manifest.cs (6)
204
internal Member(EntityRegistry.
EntityBase
entity)
209
internal EntityRegistry.
EntityBase
Entity { get; }
215
EntityRegistry.
EntityBase
constructor,
217
EntityRegistry.
EntityBase
? owner)
224
internal EntityRegistry.
EntityBase
Constructor { get; }
228
internal EntityRegistry.
EntityBase
? Owner { get; }
EntityRegistry.cs (68)
17
private readonly Dictionary<TableIndex, List<
EntityBase
>> _seenEntities = new();
19
private readonly Dictionary<(
EntityBase
ResolutionScope, string Namespace, string Name), TypeReferenceEntity> _seenTypeRefs = new();
29
private readonly Dictionary<(
EntityBase
, BlobBuilder), MethodSpecificationEntity> _seenMethodSpecs = new(new MethodSpecEqualityComparer());
72
private sealed class MethodSpecEqualityComparer : IEqualityComparer<(
EntityBase
, BlobBuilder)>
74
public bool Equals((
EntityBase
, BlobBuilder) x, (
EntityBase
, BlobBuilder) y)
79
public int GetHashCode((
EntityBase
, BlobBuilder) obj)
100
public IReadOnlyList<
EntityBase
> GetSeenEntities(TableIndex table)
106
return Array.Empty<
EntityBase
>();
268
EntityBase
scope => scope.Handle
665
static FieldDefinitionHandle GetFieldHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex)
668
static MethodDefinitionHandle GetMethodHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex)
671
static PropertyDefinitionHandle GetPropertyHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex)
674
static EventDefinitionHandle GetEventHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex)
677
static ParameterHandle GetParameterHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex)
680
static EntityHandle GetHandleForList(IReadOnlyList<
EntityBase
> list, IReadOnlyList<
EntityBase
> listOwner, Func<
EntityBase
, IReadOnlyList<
EntityBase
>> getList, int ownerIndex, TableIndex tokenType)
685
foreach (
var
item in list)
696
foreach (
var
item in otherList)
794
public void RecordEntityInTable(TableIndex table,
EntityBase
entity)
796
if (!_seenEntities.TryGetValue(table, out List<
EntityBase
>? entities))
798
_seenEntities[table] = entities = new List<
EntityBase
>();
806
where TEntity :
EntityBase
820
where TEntity :
EntityBase
906
public
EntityBase
ResolveHandleToEntity(EntityHandle entityHandle)
921
public TypeReferenceEntity GetOrCreateTypeReference(
EntityBase
resolutionContext, TypeName name)
952
EntityBase
scope = resolutionContext;
1258
EntityBase
resolutionScope = typeRef.ResolutionScope;
1642
public MethodSpecificationEntity GetOrCreateMethodSpecification(
EntityBase
method, BlobBuilder signature)
1648
((
EntityBase
method, BlobBuilder signature) value) => new(method, signature),
1664
public CustomAttributeEntity CreateCustomAttribute(
EntityBase
constructor, BlobBuilder value)
1682
if (toRemove.Count == 0 || !_seenEntities.TryGetValue(TableIndex.CustomAttribute, out List<
EntityBase
>? entities))
1750
public ExportedTypeEntity GetOrCreateExportedType(
EntityBase
? implementation, string @namespace, string name, Action<ExportedTypeEntity> onCreateType)
1894
public sealed class TypeReferenceEntity(
EntityBase
resolutionScope, string @namespace, string name) : TypeEntity, IHasReflectionNotation
1896
public
EntityBase
ResolutionScope { get; } = resolutionScope;
1953
public
EntityBase
? Owner { get; set; }
2048
public sealed class MemberReferenceEntity(
EntityBase
parent, string name, BlobBuilder signature) : EntityBase
2051
public
EntityBase
Parent { get; private set; } = parent;
2081
public sealed class MethodSpecificationEntity(
EntityBase
parent, BlobBuilder signature) : EntityBase
2083
public
EntityBase
Parent { get; } = parent;
2094
public
EntityBase
? Parent { get; set; }
2099
public sealed class CustomAttributeEntity(
EntityBase
constructor, BlobBuilder value) : EntityBase
2101
public
EntityBase
? Owner { get; set; }
2102
public
EntityBase
Constructor { get; } = constructor;
2112
public sealed class MethodImplementationEntity(TypeDefinitionEntity type,
EntityBase
methodBody, MemberReferenceEntity methodDeclaration) : EntityBase
2115
public
EntityBase
MethodBody { get; } = methodBody;
2150
public List<(MethodSemanticsAttributes Semantic,
EntityBase
Method)> Accessors { get; } = new();
2161
public List<(MethodSemanticsAttributes Semantic,
EntityBase
Method)> Accessors { get; } = new();
2201
public
EntityBase
? Implementation { get; set; }
2206
public ExportedTypeEntity(string name, string @namespace,
EntityBase
? implementation)
2216
public
EntityBase
? Implementation { get; }
PseudoCustomAttributes.cs (2)
28
foreach (
var
entity in registry.GetSeenEntities(TableIndex.CustomAttribute))
85
public EntityRegistry.
EntityBase
Owner { get; } = ResolveOwner(registry, attribute.Owner!);
PseudoCustomAttributes.Identity.cs (7)
12
private static bool TryGetAttributeTypeName(EntityRegistry.
EntityBase
constructor, out string @namespace, out string name)
41
private static BlobBuilder? GetConstructorSignature(EntityRegistry.
EntityBase
constructor) => constructor switch
53
private static EntityRegistry.
EntityBase
ResolveOwner(EntityRegistry registry, EntityRegistry.
EntityBase
owner)
107
EntityRegistry.
EntityBase
? declaringType) => declaringType switch
114
private static KnownAttribute? TryFindKnownAttribute(EntityRegistry.
EntityBase
constructor, string @namespace, string name)
140
private static unsafe bool SignatureMatches(EntityRegistry.
EntityBase
constructor, KnownAttribute candidate)
PseudoCustomAttributes.KnownAttributes.cs (1)
212
private static CaTargets GetTarget(EntityRegistry.
EntityBase
owner) => owner switch
PseudoCustomAttributes.MarshalAs.cs (3)
55
foreach ((MethodSemanticsAttributes semantic, EntityRegistry.
EntityBase
accessor) in property.Accessors)
97
foreach (
var
entity in registry.GetSeenEntities(TableIndex.TypeDef))
115
EntityRegistry.
EntityBase
accessor,