def get_resolved_names(self, type_name: TypeName) -> list:
if not isinstance(type_name, TypeName):<EOL><INDENT>raise Exception("<STR_LIT>"<EOL>% type(type_name))<EOL><DEDENT>rnames = []<EOL>for name in type_name.components:<EOL><INDENT>if name not in self.resolution:<EOL><INDENT>raise Exception("<STR_LIT>" % name)<EOL><DEDENT>rname = self.resolution[name]<EOL>if rname is not None:<EOL><INDENT>rname = rname().show_name()<EOL><DEDENT>else:<EOL><INDENT>rname = name<EOL><DEDENT>rnames.append(rname)<EOL><DEDENT>return rnames<EOL>
Use self.resolution to subsitute type_name.
Allow to instanciate polymorphic type ?1, ?toto