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 2016/04/11 06:47:36 UTC
[1/2] git commit: [flex-falcon] [refs/heads/develop] - don't try to
resolve object literal property names
Repository: flex-falcon
Updated Branches:
refs/heads/develop c054eae5a -> 2135f681d
don't try to resolve object literal property names
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/7a0a4c83
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/7a0a4c83
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/7a0a4c83
Branch: refs/heads/develop
Commit: 7a0a4c839f2232d7e295dbce3ecbd0a5fdb1e7f7
Parents: c054eae
Author: Alex Harui <ah...@apache.org>
Authored: Sun Apr 10 13:40:26 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sun Apr 10 13:40:26 2016 -0700
----------------------------------------------------------------------
.../internal/codegen/js/flexjs/TestFlexJSStatements.java | 10 ++++++++++
.../internal/codegen/js/jx/IdentifierEmitter.java | 8 ++++++++
2 files changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7a0a4c83/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSStatements.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSStatements.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSStatements.java
index 9b93226..f2022b3 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSStatements.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSStatements.java
@@ -27,6 +27,7 @@ import org.apache.flex.compiler.internal.tree.as.LabeledStatementNode;
import org.apache.flex.compiler.tree.as.IFileNode;
import org.apache.flex.compiler.tree.as.IForLoopNode;
import org.apache.flex.compiler.tree.as.IIfNode;
+import org.apache.flex.compiler.tree.as.ILiteralNode;
import org.apache.flex.compiler.tree.as.ISwitchNode;
import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
@@ -47,6 +48,15 @@ public class TestFlexJSStatements extends TestGoogStatements
}
@Test
+ public void testObjectListeral_withPropertyNameMatchingConst()
+ {
+ ILiteralNode node = (ILiteralNode) getNode("static const myConst:int; function falconTest_a():Object { return { myConst : myConst } }",
+ ILiteralNode.class, WRAP_LEVEL_CLASS);
+ asBlockWalker.visitLiteral(node);
+ assertOut("{myConst:FalconTest_A.myConst}");
+ }
+
+ @Test
public void testVarDeclaration_withTypeAssignedStringWithNewLine()
{
IVariableNode node = (IVariableNode) getNode("var a:String = \"\\n\"",
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7a0a4c83/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index b8a9703..0d91fcf 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -33,6 +33,7 @@ import org.apache.flex.compiler.internal.codegen.js.utils.EmitterUtils;
import org.apache.flex.compiler.internal.definitions.AccessorDefinition;
import org.apache.flex.compiler.internal.definitions.FunctionDefinition;
import org.apache.flex.compiler.internal.definitions.TypeDefinitionBase;
+import org.apache.flex.compiler.internal.tree.as.NonResolvingIdentifierNode;
import org.apache.flex.compiler.tree.ASTNodeID;
import org.apache.flex.compiler.tree.as.IASNode;
import org.apache.flex.compiler.tree.as.IFunctionObjectNode;
@@ -52,6 +53,13 @@ public class IdentifierEmitter extends JSSubEmitter implements
@Override
public void emit(IIdentifierNode node)
{
+ if (node instanceof NonResolvingIdentifierNode)
+ {
+ startMapping(node);
+ write(node.getName());
+ endMapping(node);
+ return;
+ }
IDefinition nodeDef = ((IIdentifierNode) node).resolve(getProject());
IASNode parentNode = node.getParent();
[2/2] git commit: [flex-falcon] [refs/heads/develop] - fix XML
Literal handling in more places
Posted by ah...@apache.org.
fix XML Literal handling in more places
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/2135f681
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/2135f681
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/2135f681
Branch: refs/heads/develop
Commit: 2135f681de50082ea6d626003b8321eaa9689187
Parents: 7a0a4c8
Author: Alex Harui <ah...@apache.org>
Authored: Sun Apr 10 21:38:57 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sun Apr 10 21:38:57 2016 -0700
----------------------------------------------------------------------
.../codegen/js/flexjs/TestFlexJSGlobalClasses.java | 17 +++++++++++++++++
.../internal/codegen/js/goog/JSGoogEmitter.java | 7 -------
.../internal/codegen/js/jx/LiteralEmitter.java | 5 +++++
3 files changed, 22 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2135f681/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
index 32f28f5..864fc24 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
@@ -339,6 +339,23 @@ public class TestFlexJSGlobalClasses extends TestGoogGlobalClasses
}
@Test
+ public void testXMLLiteralAsParam()
+ {
+ IFunctionCallNode node = (IFunctionCallNode)getNode("var a:XML; a.appendChild(<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>)",
+ IFunctionCallNode.class);
+ asBlockWalker.visitFunctionCall(node);
+ assertOut("a.appendChild(new XML( \"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\") )");
+ }
+
+ @Test
+ public void testXMLLiteralInReassign()
+ {
+ IBinaryOperatorNode node = getBinaryNode("var a:XML = <foo />; a = <top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>)");
+ asBlockWalker.visitBinaryOperator(node);
+ assertOut("a = new XML( \"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\") ");
+ }
+
+ @Test
public void testXMLSingleDot()
{
IVariableNode node = getVariable("var a:XML = new XML(\"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\");var b:XMLList = a.child;");
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2135f681/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
index 7fe1657..e08fb84 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
@@ -906,13 +906,6 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter
getWalker().walk(((MemberAccessExpressionNode)node).getLeftOperandNode());
emitClosureEnd(((MemberAccessExpressionNode)node).getLeftOperandNode());
}
- else if (node.getNodeID() == ASTNodeID.XMLContentID)
- {
- write("new XML");
- writeToken(ASEmitterTokens.PAREN_OPEN);
- getWalker().walk(node);
- writeToken(ASEmitterTokens.PAREN_CLOSE);
- }
else
getWalker().walk(node);
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2135f681/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LiteralEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LiteralEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LiteralEmitter.java
index a332f23..9b16bb8 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LiteralEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LiteralEmitter.java
@@ -21,11 +21,13 @@ package org.apache.flex.compiler.internal.codegen.js.jx;
import org.apache.flex.compiler.codegen.ISubEmitter;
import org.apache.flex.compiler.codegen.js.IJSEmitter;
+import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
import org.apache.flex.compiler.internal.codegen.js.JSSubEmitter;
import org.apache.flex.compiler.internal.tree.as.IdentifierNode;
import org.apache.flex.compiler.internal.tree.as.LiteralNode;
import org.apache.flex.compiler.internal.tree.as.RegExpLiteralNode;
import org.apache.flex.compiler.internal.tree.as.XMLLiteralNode;
+import org.apache.flex.compiler.tree.ASTNodeID;
import org.apache.flex.compiler.tree.as.IASNode;
import org.apache.flex.compiler.tree.as.ILiteralNode;
import org.apache.flex.compiler.tree.as.ILiteralNode.LiteralType;
@@ -49,6 +51,8 @@ public class LiteralEmitter extends JSSubEmitter implements
{
if (node.getLiteralType() == LiteralType.XML)
{
+ write("new XML");
+ writeToken(ASEmitterTokens.PAREN_OPEN);
XMLLiteralNode xmlNode = (XMLLiteralNode)node;
if (xmlNode.getContentsNode().getChildCount() == 1)
{
@@ -83,6 +87,7 @@ public class LiteralEmitter extends JSSubEmitter implements
}
}
}
+ writeToken(ASEmitterTokens.PAREN_CLOSE);
}
s = s.replaceAll("\n", "__NEWLINE_PLACEHOLDER__");
s = s.replaceAll("\r", "__CR_PLACEHOLDER__");