summaryrefslogtreecommitdiff
path: root/source/slang/syntax-visitors.h
blob: f83334155380802bc3f99b93adb79050733da80d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef RASTER_RENDERER_SYNTAX_PRINTER_H
#define RASTER_RENDERER_SYNTAX_PRINTER_H

#include "diagnostics.h"
#include "syntax.h"
#include "compiled-program.h"

namespace Slang
{
    class CompileOptions;
    struct CompileRequest;
    class ShaderCompiler;
    class ShaderLinkInfo;
    class ShaderSymbol;

    SyntaxVisitor* CreateSemanticsVisitor(
        DiagnosticSink*         err,
        CompileOptions const&   options,
        CompileRequest*         request);

    // Look for a module that matches the given name:
    // either one we've loaded already, or one we
    // can find vai the search paths available to us.
    //
    // Needed by import declaration checking.
    //
    // TODO: need a better location to declare this.
    RefPtr<ProgramSyntaxNode> findOrImportModule(
        CompileRequest*     request,
        String const&       name,
        CodePosition const& loc);
}

#endif