Vixen
02b45cc4
csharp
public record class LibraryType

One type a library declares.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Nested types are recorded flat, with ContainingType naming the outer one, because the reader has to resolve a type reference by qualified name before it knows whether the target is nested.

Fields and properties (12)

  • public string Namespace

    Dotted package name, empty for the global namespace.

  • public required string Name

    Simple name, without the namespace or the declaring type.

  • public string? ContainingType

    The declaring type's qualified name, when this type is nested.

  • public TypeKind Kind
  • public LibraryTypeReference? BaseType
  • public ImmutableArray<LibraryTypeReference> Interfaces

    Protocols the type conforms to.

  • public ImmutableArray<LibraryTypeParameter> TypeParameters
  • public ImmutableArray<LibraryField> Fields
  • public ImmutableArray<LibraryMethod> Methods
  • public ImmutableArray<LibraryProperty> Properties
  • public string? IrStruct

    The IR struct this type lowered to, when it has storage. Null for a shader, a protocol and an enum, none of which becomes an aggregate.

  • public string QualifiedName

    Namespace, declaring types and name, dotted. This is the key every type reference resolves against.

Used by (8)

  • BuilderVixen.Raven
  • CompilationVixen.Raven
  • CompiledLibraryVixen.Raven
  • CompiledLibraryTestsVixen.Raven.Tests
  • InOutTestsVixen.Raven.Tests
  • MetadataLoaderVixen.Raven
  • MetadataNamedTypeSymbolVixen.Raven
  • StreamTestsVixen.Raven.Tests