summaryrefslogtreecommitdiffstats
path: root/source/slang/syntax-visitors.h
blob: 5d712b671e14f575a535040c0ecd4c6deb1972f6 (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 CompileRequest;
    class ShaderCompiler;
    class ShaderLinkInfo;
    class ShaderSymbol;
    class TranslationUnitRequest;

    SyntaxVisitor* CreateSemanticsVisitor(
        DiagnosticSink*         err,
        CompileRequest*         request,
        TranslationUnitRequest* translationUnit);

    // 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