mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 08:15:18 -04:00
cppparser: fix finding types in explicitly specialized template class
This commit is contained in:
parent
e6fc6c695d
commit
1b863ead55
@ -254,19 +254,23 @@ get_scope(CPPScope *current_scope, CPPScope *global_scope,
|
||||
}
|
||||
|
||||
while (i + 1 < (int)_names.size() && scope != nullptr) {
|
||||
CPPScope *next_scope = scope->find_scope(_names[i].get_name(), global_scope);
|
||||
// Check for an explicitly specialized scope first.
|
||||
CPPScope *next_scope = scope->find_scope(_names[i].get_name_with_templ(), global_scope);
|
||||
if (next_scope == nullptr) {
|
||||
if (error_sink != nullptr) {
|
||||
error_sink->error("Symbol " + _names[i].get_name() +
|
||||
" is not a known scope in " +
|
||||
scope->get_fully_scoped_name(),
|
||||
_loc);
|
||||
next_scope = scope->find_scope(_names[i].get_name(), global_scope);
|
||||
if (next_scope == nullptr) {
|
||||
if (error_sink != nullptr) {
|
||||
error_sink->error("Symbol " + _names[i].get_name() +
|
||||
" is not a known scope in " +
|
||||
scope->get_fully_scoped_name(),
|
||||
_loc);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
if (_names[i].has_templ()) {
|
||||
next_scope = next_scope->instantiate(_names[i].get_templ(),
|
||||
current_scope, global_scope);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
if (_names[i].has_templ()) {
|
||||
next_scope = next_scope->instantiate(_names[i].get_templ(),
|
||||
current_scope, global_scope);
|
||||
}
|
||||
scope = next_scope;
|
||||
i++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user