Open sandboxFocus

Interface IDeclarationFactory

Allows to get instances of the IType interface or to test for type equality or inheritance.

Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public interface IDeclarationFactory

Methods

Name Description
CreateTupleType(IEnumerable<IParameter>)

Creates a tuple type with the specified parameters as elements.

CreateTupleType(IEnumerable<IType>)

Creates a tuple type with the specified element types (given as IType) and default element names.

CreateTupleType(IEnumerable<Type>)

Creates a tuple type with the specified element types (given as reflection Type's) and default element names.

CreateTupleType(IEnumerable<(IType Type, string Name)>)

Creates a tuple type with the specified element types (given as IType's) and names.

CreateTupleType(IEnumerable<(Type Type, string Name)>)

Creates a tuple type with the specified element types (given as reflection Type's) and names.

GetDeclarationFromId(SerializableDeclarationId)

Gets a declaration from a serialized identifier generated by ToSerializableId().

GetNamedTypeByReflectionType(Type)

Gets an INamedType given a reflection Type.

GetSpecialType(SpecialType)

Gets a INamedType representing a given SpecialType.

GetTypeByReflectionName(string)

Get type based on its full name, as used in reflection.

GetTypeByReflectionType(Type)

Gets an IType given a reflection Type.

GetTypeFromId(SerializableTypeId, IReadOnlyDictionary<string, IType>?)

Gets a type from a serialized type identifier, optionally substituting generic arguments.

Translate<T>(T?, IGenericContext?)

Translates a compilation element to the current compilation context, optionally applying a generic context for type parameter substitution.

Extension Methods

See Also