summaryrefslogtreecommitdiffstats
path: root/source/slang/parser.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-06-27 10:24:25 -0700
committerTim Foley <tfoley@nvidia.com>2017-06-27 10:24:25 -0700
commit31293d61d3ec80198eab2439ec937d7ba37f6722 (patch)
tree5d58272d219064234c6e90d7271caef5e118a77d /source/slang/parser.cpp
parent1716208fb62a7f0a8bbe55e597b582066cb51731 (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.cpp3
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"))