Commit f6be479e authored by gsamain's avatar gsamain Committed by Xavier Thompson

Cpp: Fix Symtab for CppClassScope nested types

parent 3afb118d
......@@ -2504,6 +2504,7 @@ class CppClassScope(Scope):
Scope.__init__(self, name, outer_scope, None)
self.directives = outer_scope.directives
self.inherited_var_entries = []
self.inherited_type_entries = []
if templates is not None:
for T in templates:
template_entry = self.declare(
......@@ -2612,12 +2613,13 @@ class CppClassScope(Scope):
modifiers=base_entry.func_modifiers,
utility_code=base_entry.utility_code)
entry.is_inherited = 1
for base_entry in base_scope.type_entries:
for base_entry in base_scope.type_entries + base_scope.inherited_type_entries:
if base_entry.name not in base_templates:
entry = self.declare_type(base_entry.name, base_entry.type,
base_entry.pos, base_entry.cname,
base_entry.visibility)
base_entry.visibility, defining=0)
entry.is_inherited = 1
self.inherited_type_entries.append(entry)
def specialize(self, values, type_entry):
scope = CppClassScope(self.name, self.outer_scope)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment