diff options
Diffstat (limited to 'source/slang/slang-reflection-api.cpp')
| -rw-r--r-- | source/slang/slang-reflection-api.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/slang/slang-reflection-api.cpp b/source/slang/slang-reflection-api.cpp index 17ceb6842..714dc292f 100644 --- a/source/slang/slang-reflection-api.cpp +++ b/source/slang/slang-reflection-api.cpp @@ -728,6 +728,8 @@ SLANG_API SlangReflectionType * spReflection_FindTypeByName(SlangReflection * re try { Type* result = program->getTypeFromString(name, &sink); + if (as<ErrorType>(result)) + return nullptr; return (SlangReflectionType*)result; } catch( ... ) @@ -2567,6 +2569,19 @@ SLANG_API char const* spReflectionEntryPoint_getName( return entryPointLayout ? getCstr(entryPointLayout->name) : nullptr; } +SLANG_API char const* spReflectionEntryPoint_getNameOverride(SlangReflectionEntryPoint* inEntryPoint) +{ + auto entryPointLayout = convert(inEntryPoint); + if (entryPointLayout) + { + if (entryPointLayout->nameOverride.getLength()) + return entryPointLayout->nameOverride.getBuffer(); + else + return getCstr(entryPointLayout->name); + } + return nullptr; +} + SLANG_API unsigned spReflectionEntryPoint_getParameterCount( SlangReflectionEntryPoint* inEntryPoint) { |
