diff options
| author | Tim Foley <tfoley@nvidia.com> | 2017-06-27 10:24:25 -0700 |
|---|---|---|
| committer | Tim Foley <tfoley@nvidia.com> | 2017-06-27 10:24:25 -0700 |
| commit | 31293d61d3ec80198eab2439ec937d7ba37f6722 (patch) | |
| tree | 5d58272d219064234c6e90d7271caef5e118a77d /source/slang/parser.cpp | |
| parent | 1716208fb62a7f0a8bbe55e597b582066cb51731 (diff) | |
Allow for re-export of an `import` declaration
If module `A.slang` contains `__exported __import B;` then any declarations from `B.slang` will be visible to any client code that does `__import A;`.
This allows a user to make a single "umbrella" file that encompases a bunch of code files.
Note that this really only affects scoping during Slang compilation/checking; at code generation time everything always gets emitted as raw HLSL/GLSL so that names will be visible whether we want them to be or not.
Diffstat (limited to 'source/slang/parser.cpp')
| -rw-r--r-- | source/slang/parser.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/slang/parser.cpp b/source/slang/parser.cpp index 8edc3a122..1d843c821 100644 --- a/source/slang/parser.cpp +++ b/source/slang/parser.cpp @@ -619,6 +619,9 @@ namespace Slang CASE(__prefix, PrefixModifier); CASE(__postfix, PostfixModifier); + // Modifier to apply to `import` that should be re-exported + CASE(__exported, ExportedModifier); + #undef CASE else if (AdvanceIf(parser, "__intrinsic_op")) |
