Table of Contents

Namespace PolyType.Roslyn

Classes

DelegateDataModel

Represents the data model for a delegate type.

DerivedTypeModel

Represents a derived type defined in the context of a polymorphic type.

DictionaryDataModel

Dictionary data model for types implementing IDictionary<TKey, TValue>, IReadOnlyDictionary<TKey, TValue> or IDictionary.

EnumDataModel

Represents an Enum type data model.

EnumerableDataModel

List-like data model for types implementing IEnumerable that are not dictionaries or are Span<T>, ReadOnlySpan<T>, Memory<T> or ReadOnlyMemory<T>.

ImmutableEquatableArray

Provides extension methods for the ImmutableEquatableArray<T> type.

ImmutableEquatableArray<T>

Defines an immutable array that defines structural equality semantics.

ImmutableEquatableDictionary

Provides a set of static methods for creating instances of ImmutableEquatableDictionary<TKey, TValue>.

ImmutableEquatableDictionary<TKey, TValue>

Defines an immutable dictionary that defines structural equality semantics.

ImmutableEquatableSet

Defines extension methods for creating ImmutableEquatableSet<T> instances.

ImmutableEquatableSet<T>

Defines an immutable set that defines structural equality semantics.

KnownSymbols

Provides a caching layer for common known symbols wrapping a Compilation instance.

ObjectDataModel

Represents a type whose data model is defined as a list of properties.

OptionalDataModel

Represents an optional type such as Nullable<T>.

SourceWriter

A utility class for generating indented source code.

TupleDataModel

Represents the data model for a tuple type.

TypeDataModel

Exposes a data model extracted from an ITypeSymbol input.

TypeDataModelGenerator

Provides functionality and extensibility points for generating TypeDataModel instances for a given set of ITypeSymbol inputs.

Structs

AssociatedTypeModel

Represents a type associated with some type shape.

ConstructorDataModel

A constructor data model wrapping an IMethodSymbol.

EventDataModel

A method data model wrapping an IEventSymbol.

ImmutableEquatableArray<T>.Enumerator

Defines an enumerator for the ImmutableEquatableArray<T> type.

KnownSymbols.Option<T>

Defines a true optional type that supports Some(null) representations.

MethodDataModel

A method data model wrapping an IMethodSymbol.

ParameterDataModel

A constructor parameter data model wrapping an IParameterSymbol.

PropertyDataModel

Represents the data model for either an instance property or an instance field.

ResolvedEventSymbol

An event data model wrapping an IEventSymbol.

ResolvedMethodSymbol

A resolved method symbol that includes additional metadata.

ResolvedPropertySymbol

A property data model wrapping an IEventSymbol.

TypeDataModelGenerationContext

Defines an immutable struct encapsulating a snapshot of the current generation state. Used for rolling back the state whenever an unsupported type is encountered in the graph.

Enums

CollectionConstructorParameter

Models acceptable constructor parameters for collection types.

DictionaryInsertionMode

Identifies the insertion models available to the dictionary.

DictionaryKind

Identifies the kind of dictionary model.

EnumerableInsertionMode

Identifies the insertion models available to the dictionary.

EnumerableKind

Identifies the kind of enumerable model.

MethodReturnTypeKind

Represents the different kinds of return types that a method can have.

TargetFramework

Target framework inferred by the generator. Underlying enum values must be monotonic.

TypeDataKind

The kind of type represented by a TypeDataModel.

TypeDataModelGenerationStatus

Model generation result returned for a requested ITypeSymbol.

TypeShapeRequirements

Describes the requirements for preparing an associated type.