From fcf83dbf9effab3bd98bad2b83b2468b7eb05cfd Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Fri, 9 Jun 2017 11:34:21 -0700 Subject: Initial import of code. --- source/slang/reflection.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/slang/reflection.h (limited to 'source/slang/reflection.h') diff --git a/source/slang/reflection.h b/source/slang/reflection.h new file mode 100644 index 000000000..4d2c53084 --- /dev/null +++ b/source/slang/reflection.h @@ -0,0 +1,39 @@ +#ifndef SLANG_REFLECTION_H +#define SLANG_REFLECTION_H + +#include "../core/basic.h" +#include "syntax.h" + +#include "../../slang.h" + +namespace Slang { + +// TODO(tfoley): Need to move these somewhere universal + +typedef intptr_t Int; +typedef int64_t Int64; + +typedef uintptr_t UInt; +typedef uint64_t UInt64; + +namespace Compiler { + +class ProgramLayout; +class TypeLayout; + +String emitReflectionJSON( + ProgramLayout* programLayout); + +// + +SlangTypeKind getReflectionTypeKind(ExpressionType* type); + +SlangTypeKind getReflectionParameterCategory(TypeLayout* typeLayout); + +UInt getReflectionFieldCount(ExpressionType* type); +UInt getReflectionFieldByIndex(ExpressionType* type, UInt index); +UInt getReflectionFieldByIndex(TypeLayout* typeLayout, UInt index); + +}} + +#endif // SLANG_REFLECTION_H -- cgit v1.2.3