summaryrefslogtreecommitdiffstats
path: root/tools/slang-reflection-test/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-reflection-test/main.cpp')
-rw-r--r--tools/slang-reflection-test/main.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/slang-reflection-test/main.cpp b/tools/slang-reflection-test/main.cpp
index 90be8f5c7..b900f3f62 100644
--- a/tools/slang-reflection-test/main.cpp
+++ b/tools/slang-reflection-test/main.cpp
@@ -239,6 +239,16 @@ static void emitReflectionNameInfoJSON(
write(writer, "\"");
}
+static void emitReflectionModifierInfoJSON(
+ PrettyWriter& writer,
+ slang::VariableReflection* var)
+{
+ if( var->findModifier(slang::Modifier::Shared) )
+ {
+ write(writer, ",\n\"shared\": true");
+ }
+}
+
static void emitReflectionVarLayoutJSON(
PrettyWriter& writer,
slang::VariableLayoutReflection* var)
@@ -252,6 +262,8 @@ static void emitReflectionVarLayoutJSON(
write(writer, "\"type\": ");
emitReflectionTypeLayoutJSON(writer, var->getTypeLayout());
+ emitReflectionModifierInfoJSON(writer, var->getVariable());
+
emitReflectionVarBindingInfoJSON(writer, var);
dedent(writer);
@@ -607,8 +619,10 @@ static void emitReflectionVarInfoJSON(
slang::VariableReflection* var)
{
emitReflectionNameInfoJSON(writer, var->getName());
- write(writer, ",\n");
+ emitReflectionModifierInfoJSON(writer, var);
+
+ write(writer, ",\n");
write(writer, "\"type\": ");
emitReflectionTypeJSON(writer, var->getType());
}
@@ -622,6 +636,8 @@ static void emitReflectionParamJSON(
emitReflectionNameInfoJSON(writer, param->getName());
+ emitReflectionModifierInfoJSON(writer, param->getVariable());
+
emitReflectionVarBindingInfoJSON(writer, param);
write(writer, ",\n");