IASScope containedScope = definition.getContainedScope();
ITypeDefinition type = findType(containedScope.getAllLocalDefinitions());
if (type == null)
return;
ITypeNode tnode = findTypeNode(definition.getNode());
if (tnode != null)
{
/*
* Metadata
*
* @type {Object.<string, Array.<Object>>}
*/
writeNewline();
writeNewline();
writeNewline();
getDoc().begin();
writeNewline(" * Metadata");
writeNewline(" *");
writeNewline(" * @type {Object.<string, Array.<Object>>}");
getDoc().end();
// a.B.prototype.AFJS_CLASS_INFO = { };
write(type.getQualifiedName());
write(ASEmitterTokens.MEMBER_ACCESS);
write(JSEmitterTokens.PROTOTYPE);
write(ASEmitterTokens.MEMBER_ACCESS);
writeToken(JSFlexJSEmitterTokens.FLEXJS_CLASS_INFO);
writeToken(ASEmitterTokens.EQUAL);
writeToken(ASEmitterTokens.BLOCK_OPEN);
// names: [{ name: '', qName: '' }]
write(JSFlexJSEmitterTokens.NAMES);
writeToken(ASEmitterTokens.COLON);
write(ASEmitterTokens.SQUARE_OPEN);
writeToken(ASEmitterTokens.BLOCK_OPEN);
write(JSFlexJSEmitterTokens.NAME);
writeToken(ASEmitterTokens.COLON);
write(ASEmitterTokens.SINGLE_QUOTE);
write(tnode.getName());
write(ASEmitterTokens.SINGLE_QUOTE);
writeToken(ASEmitterTokens.COMMA);
write(JSFlexJSEmitterTokens.QNAME);
writeToken(ASEmitterTokens.COLON);
write(ASEmitterTokens.SINGLE_QUOTE);
write(tnode.getQualifiedName());
write(ASEmitterTokens.SINGLE_QUOTE);
write(ASEmitterTokens.BLOCK_CLOSE);
write(ASEmitterTokens.SQUARE_CLOSE);
IExpressionNode[] enodes;