def _constructTypeQualifiedName(self, type, full=False):
t = type["<STR_LIT:type>"]<EOL>if t == TYPE_IDENT:<EOL><INDENT>return type["<STR_LIT>"]<EOL><DEDENT>elif t == TYPE_POINTER:<EOL><INDENT>return self._constructTypeQualifiedName(type["<STR_LIT>"])<EOL><DEDENT>elif t == TYPE_SELECTOR:<EOL><INDENT>if full:<EOL><INDENT>return "<STR_LIT>" % (type["<STR_LIT>"], type["<STR_LIT>"])<EOL><DEDENT>else:<EOL><INDENT>return type["<STR_LIT>"]<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>" % t)<EOL><DEDENT>
For given type construct its full qualified name.

AnonymousField = [ "*" ] TypeName .
TypeName  = identifier | QualifiedIdent .
QualifiedIdent = PackageName "." identifier .