Vixen
02b45cc4
csharp
public static class LibraryDiagnostics

Stable descriptors for the library phase — writing a .rvnlib and linking one into a compilation. The RVN5xxx range is reserved for it; RVN1xxx is syntax, RVN2xxx semantics, RVN3xxx lowering and RVN4xxx the backends.

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

Remarks

A range of its own rather than an extension of lowering's, because these are the only diagnostics that can be produced with no source in the compilation at all: a reader rejecting an artefact has a file and a symbol name to name, and nothing else.

Fields and properties (8)

  • public static readonly DiagnosticDescriptor BindingNotExportable

    A body being exported reads a shader-level binding, which a consumer cannot supply.

  • public static readonly DiagnosticDescriptor EntryPointNotExported

    A shader's entry point is not part of what a library exports.

  • public static readonly DiagnosticDescriptor StreamNotExportable

    A body being exported touches a stream, whose location belongs to the consuming shader.

  • public static readonly DiagnosticDescriptor GroupSharedNotExportable

    A body being exported touches groupshared storage, which belongs to the consuming dispatch's workgroups.

  • public static readonly DiagnosticDescriptor PermutationBakedIn

    A library was compiled with a permutation key read, so its value is baked into the exported bodies.

  • public static readonly DiagnosticDescriptor ReferenceHiddenBySource

    A referenced type has the same qualified name as one declared in source.

  • public static readonly DiagnosticDescriptor ReferenceTypeUnresolved

    A library names a type that none of the supplied references declares.

  • public static readonly DiagnosticDescriptor DuplicateReference

    Two references declare the same library name.

Used by (4)

  • BuilderVixen.Raven
  • CompilationVixen.Raven
  • LibraryBuilderVixen.Raven
  • MetadataLoaderVixen.Raven