Table of Contents

Namespace ICSharpCode.Decompiler.TypeSystem

Classes

AccessibilityExtensions
ArrayType

Represents an array type.

ArrayTypeReference
ByReferenceType
ByReferenceTypeReference
ComHelper

Helper methods for COM.

DecompilerTypeSystem

Manages the NRefactory type system for the decompiler.

FullTypeNameComparer
FunctionPointerType
InheritanceHelper

Provides helper methods for inheritance.

InterningProvider

Provider used for interning.

IntersectionType

Represents the intersection of several types.

KnownAttributes
KnownTypeReference

Contains well-known type references.

MetadataModule

Type system implementation for Metadata.PEFile.

NullableType

Static helper methods for working with nullable types.

ParameterListComparer

Compares parameter lists by comparing the types of all parameters.

ParameterizedType

ParameterizedType represents an instance of a generic type. Example: List<string>

ParameterizedTypeReference

ParameterizedTypeReference is a reference to generic class that specifies the type parameters. Example: List<string>

PointerType
PointerTypeReference
ReferenceResolvingException

Represents an error while resolving a reference to a type or a member.

ReflectionHelper

Static helper methods for reflection names.

ReflectionHelper.Dynamic

A reflection class used to represent dynamic.

ReflectionHelper.NInt

A reflection class used to represent nint.

ReflectionHelper.NUInt

A reflection class used to represent nuint.

ReflectionHelper.Null

A reflection class used to represent null.

ReflectionHelper.UnboundTypeArgument

A reflection class used to represent an unbound type argument.

ReflectionNameParseException

Represents an error while parsing a reflection name.

SignatureComparer

Compares member signatures.

SimpleTypeResolveContext

Default ITypeResolveContext implementation.

SpecialType

Contains static implementations of special types.

TaskType

Helper class for dealing with System.Threading.Tasks.Task.

TopLevelTypeNameComparer
TupleType
TupleTypeExtensions
TupleTypeReference
TypeParameterSubstitution

Substitutes class and method type parameters.

TypeSystemExtensions

Contains extension methods for the type system.

TypeUtils
TypeVisitor

Base class for the visitor pattern on IType.

VarArgInstanceMethod

Used when calling a vararg method. Stores the actual parameter types being passed.

Structs

AssemblyQualifiedTypeName
FullTypeName

Holds the full name of a type definition. A full type name uniquely identifies a type definition within a single assembly.

GenericContext
LifetimeAnnotation
TopLevelTypeName

Holds the name of a top-level type. This struct cannot refer to nested classes.

TypeConstraint

Interfaces

IAttribute

Represents an attribute.

ICodeContext
ICompilation
ICompilationProvider
IDecompilerTypeSystem

Main interface for the decompiler type system.

The MetadataModule class allows decoding/resolving metadata tokens into type system entities.

IEntity

Represents a resolved entity.

IEvent
IField

Represents a field or constant.

IFreezable
IMember

Method/field/property/event.

IMemberReference
IMethod

Represents a method, constructor, destructor or operator.

IModule

Represents a metadata module.

IModuleReference

Interface used to help with construction of the type system.

INamedElement
INamespace

Represents a resolved namespace.

IParameter
IParameterizedMember

Represents a method or property.

IProperty

Represents a property or indexer.

ISupportsInterning

Interface for TypeSystem objects that support interning. See InterningProvider for more information.

ISymbol

Interface for type system symbols.

IType

This interface represents a resolved type in the type system.

ITypeDefinition

Represents a class, enum, interface, struct, delegate, record or VB module. For partial classes, this represents the whole class.

ITypeDefinitionOrUnknown

Represents a class, enum, interface, struct, delegate, record or unknown type. For partial classes, this represents the whole class.

ITypeParameter

Type parameter of a generic class/method.

ITypeReference

Represents a reference to a type. Must be resolved before it can be used as type.

ITypeResolveContext
IVariable

Represents a variable (name/type pair).

Enums

Accessibility

Enum that describes the accessibility of an entity.

GetMemberOptions
KnownAttribute
KnownTypeCode

Represents some well-known types.

Nullability
ReferenceKind
Sign
SymbolKind
TypeKind

.

TypeSystemOptions

Options that control how metadata is represented in the type system.

VarianceModifier

Represents the variance of a type parameter.