mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 00:06:44 -04:00
cppparser: fix finding types in explicitly specialized template class
This commit is contained in:
parent
8c40ff39d7
commit
0e4597fb2e
@ -254,19 +254,23 @@ get_scope(CPPScope *current_scope, CPPScope *global_scope,
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (i + 1 < (int)_names.size() && scope != nullptr) {
|
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 (next_scope == nullptr) {
|
||||||
if (error_sink != nullptr) {
|
next_scope = scope->find_scope(_names[i].get_name(), global_scope);
|
||||||
error_sink->error("Symbol " + _names[i].get_name() +
|
if (next_scope == nullptr) {
|
||||||
" is not a known scope in " +
|
if (error_sink != nullptr) {
|
||||||
scope->get_fully_scoped_name(),
|
error_sink->error("Symbol " + _names[i].get_name() +
|
||||||
_loc);
|
" 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;
|
scope = next_scope;
|
||||||
i++;
|
i++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user