Vixen
02b45cc4
csharp
public sealed class RavenReference

A compiled library a Compilation binds against — the shader equivalent of a .dll reference.

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

Remarks

A thin handle rather than a hierarchy. There is one kind of reference, because there is one artefact format: a .rvnlib, on disk or already in memory. An assembly of source files is not a reference — it is more trees in the same compilation, which is how the shader library was consumed before this existed and remains the right answer when you have the source and want it recompiled.

Reading is eager, at construction, so a bad path or a corrupt artefact throws where the caller can attribute it rather than surfacing later as an unresolved name.

Fields and properties (3)

  • public CompiledLibrary Library

    The library's declarations and IR.

  • public string? Path

    Where the library was read from, or null when it was supplied in memory.

  • public string Name

    The library's name, which is what a duplicate reference is detected by.

Methods (3)

  • public static RavenReference FromFile(string path)

    Reads a reference from a .rvnlib on disk.

  • public static RavenReference FromLibrary(CompiledLibrary library)

    Wraps a library already in memory — what the tests and a hot-reload host use.

  • public override string ToString()

Used by (8)

  • CompilationVixen.Raven
  • CompileDriverVixen.Raven.Cli
  • CompiledLibraryTestsVixen.Raven.Tests
  • InOutTestsVixen.Raven.Tests
  • LibraryTreeTestsVixen.Raven.Tests
  • RavenEffectCompilerVixen.ShaderCompiler
  • SizedArrayTestsVixen.Raven.Tests
  • WritableResourceTestsVixen.Raven.Tests