You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/05/10 01:45:31 UTC
git commit: [flex-falcon] [refs/heads/develop] - handle child in
containers
Updated Branches:
refs/heads/develop c4431151d -> 3a979882a
handle child in containers
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/3a979882
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/3a979882
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/3a979882
Branch: refs/heads/develop
Commit: 3a979882ac5bac34738eaf9dafed2160936d7c48
Parents: c443115
Author: Alex Harui <ah...@apache.org>
Authored: Thu May 9 16:45:09 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu May 9 16:45:22 2013 -0700
----------------------------------------------------------------------
.../mxml/flexjs/MXMLDescriptorSpecifier.java | 30 +++++++++++++-
1 files changed, 27 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3a979882/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLDescriptorSpecifier.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLDescriptorSpecifier.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLDescriptorSpecifier.java
index e4c98a5..82886f9 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLDescriptorSpecifier.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLDescriptorSpecifier.java
@@ -55,6 +55,12 @@ public class MXMLDescriptorSpecifier extends MXMLNodeSpecifier
// children
//---------------------------------
+ public MXMLDescriptorSpecifier childrenSpecifier;
+
+ //---------------------------------
+ // properties
+ //---------------------------------
+
public ArrayList<MXMLDescriptorSpecifier> propertySpecifiers;
//---------------------------------
@@ -155,6 +161,16 @@ public class MXMLDescriptorSpecifier extends MXMLNodeSpecifier
}
else
{
+ for (MXMLDescriptorSpecifier md : propertySpecifiers)
+ {
+ if (md.name != null && md.name.equals("mxmlContent"))
+ {
+ childrenSpecifier = md;
+ propertySpecifiers.remove(md);
+ break;
+ }
+ }
+
write(propertySpecifiers.size() + 1 + "");
writeDelimiter(writeNewline);
@@ -249,9 +265,10 @@ public class MXMLDescriptorSpecifier extends MXMLNodeSpecifier
{
writeDelimiter(writeNewline);
- // TODO (erikdebruin) handle child nodes in containers...
- // not yet implemented in FlexJS
- write(ASEmitterTokens.NULL);
+ if (childrenSpecifier == null)
+ write(ASEmitterTokens.NULL);
+ else
+ outputChildren(childrenSpecifier, writeNewline);
}
boolean isLastChild = parent != null
@@ -264,5 +281,12 @@ public class MXMLDescriptorSpecifier extends MXMLNodeSpecifier
return sb.toString();
}
+
+ private void outputChildren(MXMLDescriptorSpecifier children, boolean writeNewline)
+ {
+ write(ASEmitterTokens.SQUARE_OPEN.getToken());
+ write(children.output(false));
+ write(ASEmitterTokens.SQUARE_CLOSE.getToken());
+ }
}