Table of Contents

Class TypeDataModel

Namespace
PolyType.Roslyn
Assembly
PolyType.Roslyn.dll

Exposes a data model extracted from an ITypeSymbol input.

public class TypeDataModel
Inheritance
TypeDataModel
Derived
Inherited Members

Properties

AssociatedTypes

The collection of associated types specified via TypeShapeAttribute.AssociatedTypes.

public ImmutableArray<AssociatedTypeModel> AssociatedTypes { get; set; }

Property Value

ImmutableArray<AssociatedTypeModel>

DerivedTypes

The list of known derived types for the given type in topological order from most to least derived.

public ImmutableArray<DerivedTypeModel> DerivedTypes { get; init; }

Property Value

ImmutableArray<DerivedTypeModel>

Events

Any events that the type defines whose event type should be included in the type graph traversal.

public ImmutableArray<EventDataModel> Events { get; init; }

Property Value

ImmutableArray<EventDataModel>

IsRootType

True if the type was explicitly passed to the TypeDataModelGenerator and is not a transitive dependency in the type graph.

public bool IsRootType { get; }

Property Value

bool

Kind

Determines the type of TypeDataModel being used.

public virtual TypeDataKind Kind { get; }

Property Value

TypeDataKind

Methods

Any methods that the type defines whose parameters should be included in the type graph traversal.

public ImmutableArray<MethodDataModel> Methods { get; init; }

Property Value

ImmutableArray<MethodDataModel>

Requirements

The requirements for what needs to be generated for the type shape.

public required TypeShapeRequirements Requirements { get; init; }

Property Value

TypeShapeRequirements

Type

The ITypeSymbol that this model represents.

public required ITypeSymbol Type { get; init; }

Property Value

ITypeSymbol