public sealed class CompilationA set of syntax trees compiled together, and the entry point to the semantic model. Modelled on Roslyn's CSharpCompilation: it owns the symbol table, hands out a SemanticModel per tree, and aggregates diagnostics from every phase.
No guide page documents this yet — the page shows what the code says about itself.
Fields and properties (7)
public string AssemblyNamepublic IReadOnlyList<SyntaxTree> SyntaxTreespublic IReadOnlyList<RavenReference> ReferencesThe compiled libraries this compilation binds against, in the order they were supplied.
public PermutationValues PermutationValuesValues supplied for this compilation's [Permutation] keys. Keys with no value here take the initializer in the source.
public ComposeBindings ComposeBindingsWhich concrete shader fills each compose slot. A slot with nothing bound is an error, so this is required for any shader that composes.
public IReadOnlyCollection<string> UsedPermutationKeysThe permutation keys this compilation actually consulted, sorted by name.
public NamespaceSymbol GlobalNamespaceRoot of the symbol table; every package hangs off it.
Methods (12)
public static Compilation Create(string assemblyName, params SyntaxTree[] syntaxTrees)public static Compilation Create(string assemblyName, IEnumerable<SyntaxTree> syntaxTrees)public static Compilation Create(string assemblyName, IEnumerable<RavenReference> references, IEnumerable<SyntaxTree> syntaxTrees)Creates a compilation that binds against compiled libraries.
public static Compilation Create(string assemblyName, PermutationValues permutationValues, IEnumerable<SyntaxTree> syntaxTrees)Creates one variant of a compilation. Each distinct combination of and is a separate compilation, because both change what the code means.
public static Compilation Create(string assemblyName, PermutationValues permutationValues, ComposeBindings composeBindings, IEnumerable<SyntaxTree> syntaxTrees)public static Compilation Create(string assemblyName, PermutationValues permutationValues, ComposeBindings composeBindings, IEnumerable<RavenReference> references, IEnumerable<SyntaxTree> syntaxTrees)public SemanticModel GetSemanticModel(SyntaxTree syntaxTree)public IReadOnlyList<NamedTypeSymbol> GetAllTypes()Every type declared in the compilation, nested types included.
public IReadOnlyList<NamedTypeSymbol> GetReferencedTypes()Every type the referenced libraries declare, nested types included.
public IReadOnlyList<NamedTypeSymbol> GetDeclaredTypes(SyntaxTree syntaxTree)Types declared at the top level of one syntax tree.
public IReadOnlyList<MethodSymbol> GetEntryPoints()Entry-point methods across every shader in the compilation.
public IReadOnlyList<Diagnostic> GetDiagnostics()Syntax, declaration and binding diagnostics for the whole compilation, ordered by file and position.
Used by (62, showing 40)
- RavenKernelsVixen.Vfx.Gpu.Tests
- ShaderRunVixen.Raven.Gpu.Tests
- VfxShaderEmitterTestsVixen.Vfx.Tests
- VfxShaderUniformTestsVixen.Vfx.Tests
- VfxSortTestsVixen.Vfx.Gpu.Tests
- AtomicTestsVixen.Raven.Tests
- BinderVixen.Raven
- BindingContextVixen.Raven
- BindingTestsVixen.Raven.Tests
- BindlessTextureTestsVixen.Raven.Tests
- CapabilityTestsVixen.Raven.Tests
- CodeGenTestBaseVixen.Raven.Tests
- CompileDriverVixen.Raven.Cli
- CompiledEffectTestsVixen.Raven.Tests
- CompiledLibraryTestsVixen.Raven.Tests
- ComposeInterfaceTestsVixen.Raven.Tests
- ComposeTestsVixen.Raven.Tests
- ComputeTestsVixen.Raven.Tests
- DescriptorSetTestsVixen.Raven.Tests
- DiagnosticFormatterTestsVixen.Raven.Tests
- GlobalBinderVixen.Raven
- GoldenGlslTestsVixen.Raven.Tests
- GoldenIrTestsVixen.Raven.Tests
- GoldenSpirvTestsVixen.Raven.Tests
- GroupSharedTestsVixen.Raven.Tests
- ImportBinderVixen.Raven
- InOutTestsVixen.Raven.Tests
- Int64TestsVixen.Raven.Tests
- LibraryBuilderVixen.Raven
- LibraryExampleTestsVixen.Raven.Tests
- LibraryReflectionTestsVixen.Raven.Tests
- LibraryTreeTestsVixen.Raven.Tests
- LineBreakTestsVixen.Raven.Tests
- LowererVixen.Raven
- LoweringTestBaseVixen.Raven.Tests
- MaterialRecordTestsVixen.Raven.Tests
- PermutationTestsVixen.Raven.Tests
- RavenEffectCompilerVixen.ShaderCompiler
- ReadmeExampleTestsVixen.Raven.Tests
- RecoveryTestsVixen.Raven.Tests