diff options
Diffstat (limited to 'source/slang/slang.cpp')
| -rw-r--r-- | source/slang/slang.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 1f8f79af2..34f1402b5 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -116,19 +116,19 @@ void Session::init() // Set all the shared library function pointers to nullptr ::memset(m_sharedLibraryFunctions, 0, sizeof(m_sharedLibraryFunctions)); - { - static auto res = SyntaxClassBase::ClassInfo::initRanges(); - } - + // Initialize the lookup table of syntax classes: // We can just iterate over the class pointers. // NOTE! That this adds the names of the abstract classes too(!) { - const SyntaxClassBase::ClassInfo* info = SyntaxClassBase::ClassInfo::s_first; - for (; info; info = info->m_next) + for (Index i = 0; i < Index(ASTNodeType::CountOf); ++i) { - mapNameToSyntaxClass.Add(getNamePool()->getName(info->m_name), SyntaxClass<Slang::RefObject>(info)); + const ReflectClassInfo* info = ReflectClassInfo::getInfo(ASTNodeType(i)); + if (info) + { + mapNameToSyntaxClass.Add(getNamePool()->getName(info->m_name), SyntaxClass<Slang::RefObject>(info)); + } } } |
