Vixen
02b45cc4
csharp
public abstract class FieldSymbol

A val/var member of a type, or an enum member.

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

Fields and properties (20)

  • public override SymbolKind Kind
  • public abstract TypeSymbol Type
  • public virtual bool IsReadOnly

    Declared with val (or synthesized read-only) — assignable only in an initializer or constructor.

  • public virtual bool IsConst

    Declared const: a compile-time constant.

  • public virtual object? ConstantValue

    The folded value of a const field, when it could be computed.

  • public virtual bool IsPermutation

    Declared [Permutation]: a constant whose value the caller supplies per effect variant rather than the source fixing it.

  • public virtual bool IsValueParameter

    A val type parameter — shader Blur<val TapCount: int> — rather than a field. Like a [Permutation] key it is a compile-time constant, but it has no default: a value is part of the shader's signature.

  • public virtual bool IsCompose

    Declared compose: a protocol-typed slot filled by a concrete shader chosen when the shader is compiled.

  • public virtual bool IsStream

    Declared stream: per-invocation storage threaded between pipeline stages.

  • public virtual bool IsGroupShared

    Declared groupshared: storage every invocation of one workgroup reaches and no other workgroup does.

  • public virtual object? DeclaredValue

    The literal written in the declaration, or null when there is none.

  • public virtual NamedTypeSymbol? ComposedType

    The shader bound to this compose slot, or null when the field is not a slot or nothing valid is bound. Calls through the slot go straight to this type's members, so there is no dispatch at runtime.

  • public virtual ResourceKind ResourceKind

    How this field binds on the GPU when it is a shader member.

  • public bool IsBinding

    Whether this field becomes a descriptor binding — state the host supplies rather than storage the shader owns.

  • public virtual ResourceSet ResourceSet

    The descriptor set this field's binding belongs to, from a [PerFrame] / [PerView] / [PerMaterial] / [PerDraw] marker.

  • public virtual bool IsPushConstant

    Whether this field is marked [PushConstant]: a small value the host writes into the command buffer rather than into a descriptor.

  • public virtual bool IsShared

    Whether this binding is one resource for the whole compilation rather than a contribution from each feature that declares it — [Shared].

  • public virtual bool IsMaterialIndex

    Whether this field is the index of the material record a draw reads — [MaterialIndex].

  • public virtual ImageFormat? ImageFormat

    The texel format from [Format("…")], resolved. Null unless this field is a storage image with a recognised format.

  • public virtual string? SemanticName

    The pipeline semantic from a [Semantic("…")] attribute, or null.

Methods (1)

  • public override string ToDisplayString()

Used by (25)

  • BinderVixen.Raven
  • BindingTestsVixen.Raven.Tests
  • BoundFieldExpressionVixen.Raven
  • BuilderVixen.Raven
  • ComposeTestsVixen.Raven.Tests
  • ConstantEvaluatorVixen.Raven
  • EnumValueTestsVixen.Raven.Tests
  • LowererVixen.Raven
  • MetadataFieldSymbolVixen.Raven
  • MonomorphiserVixen.Raven
  • PermutationTestsVixen.Raven.Tests
  • RemovedConstructsTestsVixen.Raven.Tests
  • SemanticModelTestsVixen.Raven.Tests
  • ShaderSemanticsTestsVixen.Raven.Tests
  • SizedArrayTestsVixen.Raven.Tests
  • SourceEnumMemberSymbolVixen.Raven
  • SourceFieldSymbolVixen.Raven
  • SourceNamedTypeSymbolVixen.Raven
  • SourceValueParameterSymbolVixen.Raven
  • SubstitutedFieldSymbolVixen.Raven
  • SubstitutedSymbolsVixen.Raven
  • SymbolTestsVixen.Raven.Tests
  • SynthesizedFieldSymbolVixen.Raven
  • ValueParameterTestsVixen.Raven.Tests
  • WritableResourceTestsVixen.Raven.Tests