String currentVar = varContext.elementVar;
String contentVar = varContext.contentVar;
String parentClass = varContext.elementClass;
String parentChildrenVar = varContext.elementChildrenVar;
IClassDefinition type = varContext.type;
if (!varContext.varDeclared)
{
// var someElement:SomeElement = new SomeElement();
buf.append(" var ").append(currentVar).append(":").append(parentClass).append(" = new ").append(parentClass).append("();\r\n");
// var someContent:Array = [];
if (contentVar != null)
buf.append(" var ").append(contentVar).append(":Array = [];\r\n");
}
else
{
// someElement = new SomeElement();
buf.append(" ").append(currentVar).append(" = new ").append(parentClass).append("();\r\n");
// someContent = [];
if (contentVar != null)
buf.append(" ").append(contentVar).append(" = [];\r\n");
}
// Attributes
generateAttributes(textNode, type, attributes, srcContext, currentVar);
// Properties
// Note: We process RichTextNode properties after content has been assigned.
if (!(textNode instanceof RichTextNode))
generateProperties(srcContext, textNode, currentVar, varContext);
// Child Nodes
if (children != null && children.size() > 0)
{
Iterator<ITextNode> iter = children.iterator();
while (iter.hasNext())
{
String elementVar = null;
ITextNode child = iter.next();
IClassDefinition definition = null;
// FXG 2.0
if (child instanceof RichTextNode)
{
definition = (IClassDefinition)getDefinition(packageRichText);