arguments are output similar to parameters, with the wrapping (), source maps for parameters and arguments
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/c381df34 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/c381df34 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/c381df34 Branch: refs/heads/develop Commit: c381df34557b6e6441fa94a0ec09bc485f0faf52 Parents: 4f9787c Author: Josh Tynjala <[email protected]> Authored: Fri Apr 1 12:45:27 2016 -0700 Committer: Josh Tynjala <[email protected]> Committed: Fri Apr 1 12:45:27 2016 -0700 ---------------------------------------------------------------------- .../js/sourcemaps/TestSourceMapExpressions.java | 29 +++++ .../internal/test/SourceMapTestBase.java | 1 + .../flex/compiler/codegen/as/IASEmitter.java | 2 + .../compiler/internal/codegen/as/ASEmitter.java | 31 +++--- .../compiler/internal/codegen/js/JSEmitter.java | 45 +++++++- .../internal/codegen/js/amd/JSAMDEmitter.java | 38 ++++--- .../codegen/js/flexjs/JSFlexJSEmitter.java | 108 ++++++++++++------- .../internal/codegen/js/goog/JSGoogEmitter.java | 6 +- .../codegen/js/jx/FunctionCallEmitter.java | 26 ++--- .../codegen/js/vf2js/JSVF2JSEmitter.java | 8 +- 10 files changed, 203 insertions(+), 91 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapExpressions.java ---------------------------------------------------------------------- diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapExpressions.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapExpressions.java index c34f68a..5a94d96 100644 --- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapExpressions.java +++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapExpressions.java @@ -6,6 +6,7 @@ import org.apache.flex.compiler.internal.test.SourceMapTestBase; import org.apache.flex.compiler.internal.tree.as.ArrayLiteralNode; import org.apache.flex.compiler.internal.tree.as.ObjectLiteralNode; import org.apache.flex.compiler.tree.as.IBinaryOperatorNode; +import org.apache.flex.compiler.tree.as.IContainerNode; import org.apache.flex.compiler.tree.as.IDynamicAccessNode; import org.apache.flex.compiler.tree.as.IFunctionCallNode; import org.apache.flex.compiler.tree.as.IIterationFlowNode; @@ -665,6 +666,34 @@ public class TestSourceMapExpressions extends SourceMapTestBase assertMapping(node, 0, 0, 0, 0, 0, 7); } + @Test + public void testVisitFunctionCall_1() + { + IFunctionCallNode node = (IFunctionCallNode) getNode("a()", IFunctionCallNode.class); + asBlockWalker.visitFunctionCall(node); + assertMapping(node, 0, 1, 0, 1, 0, 2); + assertMapping(node, 0, 2, 0, 2, 0, 3); + } + + @Test + public void testVisitFunctionCall_2() + { + IFunctionCallNode node = (IFunctionCallNode) getNode("a(b)", IFunctionCallNode.class); + asBlockWalker.visitFunctionCall(node); + assertMapping(node, 0, 1, 0, 1, 0, 2); + assertMapping(node, 0, 3, 0, 3, 0, 4); + } + + @Test + public void testVisitFunctionCall_3() + { + IFunctionCallNode node = (IFunctionCallNode) getNode("a(b, c)", IFunctionCallNode.class); + asBlockWalker.visitFunctionCall(node); + assertMapping(node, 0, 1, 0, 1, 0, 2); + assertMapping(node, 0, 3, 0, 3, 0, 5); + assertMapping(node, 0, 6, 0, 6, 0, 7); + } + protected IBackend createBackend() { return new FlexJSBackend(); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx.tests/src/org/apache/flex/compiler/internal/test/SourceMapTestBase.java ---------------------------------------------------------------------- diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/test/SourceMapTestBase.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/test/SourceMapTestBase.java index 756674b..a7b18cf 100644 --- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/test/SourceMapTestBase.java +++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/test/SourceMapTestBase.java @@ -40,6 +40,7 @@ public class SourceMapTestBase extends ASTestBase && endPosition.getColumn() == outEndColumn) { foundMapping = true; + break; } } assertTrue("Mapping not found for node " + node.toString(), foundMapping); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java b/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java index 1a666f1..bd0d1eb 100644 --- a/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java @@ -306,6 +306,8 @@ public interface IASEmitter extends IEmitter * @param node The {@link IFunctionCallNode} node. */ void emitFunctionCall(IFunctionCallNode node); + + void emitArguments(IContainerNode node); void emitIterationFlow(IIterationFlowNode node); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java index 53ce765..309d156 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java @@ -1135,9 +1135,24 @@ public class ASEmitter implements IASEmitter, IEmitter } getWalker().walk(node.getNameNode()); + + emitArguments(node.getArgumentsNode()); + } + @Override + public void emitArguments(IContainerNode node) + { write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); + int len = node.getChildCount(); + for (int i = 0; i < len; i++) + { + IExpressionNode argumentNode = (IExpressionNode) node.getChild(i); + getWalker().walk(argumentNode); + if (i < len - 1) + { + writeToken(ASEmitterTokens.COMMA); + } + } write(ASEmitterTokens.PAREN_CLOSE); } @@ -1203,20 +1218,6 @@ public class ASEmitter implements IASEmitter, IEmitter return null; } - public void walkArguments(IExpressionNode[] nodes) - { - int len = nodes.length; - for (int i = 0; i < len; i++) - { - IExpressionNode node = nodes[i]; - getWalker().walk(node); - if (i < len - 1) - { - writeToken(ASEmitterTokens.COMMA); - } - } - } - //-------------------------------------------------------------------------- // Static Utility //-------------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java index bd7bf15..5f5b816 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java @@ -162,7 +162,10 @@ public class JSEmitter extends ASEmitter implements IJSEmitter public void emitParameters(IContainerNode node) { + startMapping(node); write(ASEmitterTokens.PAREN_OPEN); + endMapping(node); + int len = node.getChildCount(); for (int i = 0; i < len; i++) { @@ -170,10 +173,19 @@ public class JSEmitter extends ASEmitter implements IJSEmitter getWalker().walk(parameterNode); //emitParameter if (i < len - 1) { + //we're mapping the comma to the container, but we use the + //parameter line/column in case the comma is not on the same + //line as the opening ( + startMapping(node, parameterNode.getLine(), + parameterNode.getColumn() + parameterNode.getAbsoluteEnd() - parameterNode.getAbsoluteStart()); writeToken(ASEmitterTokens.COMMA); + endMapping(node); } } + + startMapping(node, node.getAbsoluteEnd() - node.getAbsoluteStart() - 1); write(ASEmitterTokens.PAREN_CLOSE); + endMapping(node); } @Override @@ -185,6 +197,35 @@ public class JSEmitter extends ASEmitter implements IJSEmitter } @Override + public void emitArguments(IContainerNode node) + { + startMapping(node); + write(ASEmitterTokens.PAREN_OPEN); + endMapping(node); + + int len = node.getChildCount(); + for (int i = 0; i < len; i++) + { + IExpressionNode argumentNode = (IExpressionNode) node.getChild(i); + getWalker().walk(argumentNode); + if (i < len - 1) + { + //we're mapping the comma to the container, but we use the + //parameter line/column in case the comma is not on the same + //line as the opening ( + startMapping(node, argumentNode.getLine(), + argumentNode.getColumn() + argumentNode.getAbsoluteEnd() - argumentNode.getAbsoluteStart()); + writeToken(ASEmitterTokens.COMMA); + endMapping(node); + } + } + + startMapping(node, node.getAbsoluteEnd() - node.getAbsoluteStart() - 1); + write(ASEmitterTokens.PAREN_CLOSE); + endMapping(node); + } + + @Override public void emitNumericLiteral(INumericLiteralNode node) { startMapping((ISourceLocation) node); @@ -622,10 +663,10 @@ public class JSEmitter extends ASEmitter implements IJSEmitter if (parentNode != null) { //try the parent node - startMapping(parentNode); + startMapping(parentNode, line, column); + return; } } - return; } String nodeName = null; http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java index fe00d82..27f1079 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java @@ -42,8 +42,11 @@ import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSEmitter; import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens; import org.apache.flex.compiler.internal.definitions.ClassTraitsDefinition; +import org.apache.flex.compiler.internal.tree.as.ContainerNode; import org.apache.flex.compiler.internal.tree.as.FunctionCallNode; import org.apache.flex.compiler.internal.tree.as.FunctionNode; +import org.apache.flex.compiler.internal.tree.as.IdentifierNode; +import org.apache.flex.compiler.internal.tree.as.NodeBase; import org.apache.flex.compiler.problems.ICompilerProblem; import org.apache.flex.compiler.projects.ICompilerProject; import org.apache.flex.compiler.scopes.IASScope; @@ -777,34 +780,36 @@ public class JSAMDEmitter extends JSEmitter implements IJSAMDEmitter getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node); - write(ASEmitterTokens.PAREN_CLOSE.getToken()); + emitArguments(node.getArgumentsNode()); } @Override - public void walkArguments(IExpressionNode[] nodes) - { - } - - protected void walkArguments(IFunctionCallNode node) + public void emitArguments(IContainerNode node) { - FunctionCallNode fnode = (FunctionCallNode) node; - IExpressionNode[] nodes = node.getArgumentNodes(); - int len = nodes.length; + IContainerNode newNode = node; + FunctionCallNode fnode = (FunctionCallNode) node.getParent(); + int len = node.getChildCount(); if (TempTools.injectThisArgument(fnode, false)) { - write("this"); - if (len > 0) + ContainerNode newArgs = new ContainerNode(len + 1); + newArgs.setSourcePath(node.getSourcePath()); + newArgs.span(node); + newArgs.setParent((NodeBase) node.getParent()); + IdentifierNode thisNode = new IdentifierNode("this"); + thisNode.setSourcePath(node.getSourcePath()); + newArgs.addItem(thisNode); + for (int i = 0; i < len; i++) { - write(","); - write(" "); + newArgs.addItem((NodeBase) node.getChild(i)); } + newNode = newArgs; } + len = newNode.getChildCount(); + write(ASEmitterTokens.PAREN_OPEN); for (int i = 0; i < len; i++) { - IExpressionNode inode = nodes[i]; + IExpressionNode inode = (IExpressionNode) newNode.getChild(i); if (inode.getNodeID() == ASTNodeID.IdentifierID) { emitArgumentIdentifier((IIdentifierNode) inode); @@ -819,6 +824,7 @@ public class JSAMDEmitter extends JSEmitter implements IJSAMDEmitter writeToken(ASEmitterTokens.COMMA); } } + write(ASEmitterTokens.PAREN_CLOSE); } private void emitArgumentIdentifier(IIdentifierNode node) http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java index 355250f..0eaf7c9 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java @@ -59,11 +59,13 @@ import org.apache.flex.compiler.internal.projects.FlexJSProject; import org.apache.flex.compiler.internal.projects.FlexProject; import org.apache.flex.compiler.internal.tree.as.BinaryOperatorAsNode; import org.apache.flex.compiler.internal.tree.as.BlockNode; +import org.apache.flex.compiler.internal.tree.as.ContainerNode; import org.apache.flex.compiler.internal.tree.as.DynamicAccessNode; import org.apache.flex.compiler.internal.tree.as.FunctionCallNode; import org.apache.flex.compiler.internal.tree.as.IdentifierNode; import org.apache.flex.compiler.internal.tree.as.LabeledStatementNode; import org.apache.flex.compiler.internal.tree.as.MemberAccessExpressionNode; +import org.apache.flex.compiler.internal.tree.as.NodeBase; import org.apache.flex.compiler.internal.tree.as.NumericLiteralNode; import org.apache.flex.compiler.projects.ICompilerProject; import org.apache.flex.compiler.tree.ASTNodeID; @@ -71,6 +73,7 @@ import org.apache.flex.compiler.tree.as.IASNode; import org.apache.flex.compiler.tree.as.IAccessorNode; import org.apache.flex.compiler.tree.as.IBinaryOperatorNode; import org.apache.flex.compiler.tree.as.IClassNode; +import org.apache.flex.compiler.tree.as.IContainerNode; import org.apache.flex.compiler.tree.as.IDefinitionNode; import org.apache.flex.compiler.tree.as.IExpressionNode; import org.apache.flex.compiler.tree.as.IFileNode; @@ -546,12 +549,14 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter } @Override - public void walkArguments(IExpressionNode[] nodes) + public void emitArguments(IContainerNode node) { - if (nodes.length == 2) + ContainerNode newArgs = null; + int len = node.getChildCount(); + if (len == 2) { ICompilerProject project = getWalker().getProject();; - IFunctionCallNode fcNode = (IFunctionCallNode)(nodes[0].getParent().getParent()); + IFunctionCallNode fcNode = (IFunctionCallNode) node.getParent(); IExpressionNode nameNode = fcNode.getNameNode(); IDefinition def = nameNode.resolve(project); if (def != null && def.getBaseName().equals("insertAt")) @@ -561,45 +566,76 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter { if (nameNode instanceof MemberAccessExpressionNode) { - IExpressionNode[] newArgs = new IExpressionNode[3]; - newArgs[0] = nodes[0]; - newArgs[2] = nodes[1]; - newArgs[1] = new NumericLiteralNode("0"); - nodes = newArgs; + newArgs = new ContainerNode(len + 1); + newArgs.setSourcePath(node.getSourcePath()); + newArgs.span(node); + newArgs.setParent((NodeBase) node.getParent()); + newArgs.addItem((NodeBase) node.getChild(0)); + NumericLiteralNode extraNode = new NumericLiteralNode("0"); + extraNode.setSourcePath(node.getSourcePath()); + newArgs.addItem(extraNode); + newArgs.addItem((NodeBase) node.getChild(1)); } } } } - super.walkArguments(nodes); - if (nodes.length == 1) - { + if (len == 1) + { ICompilerProject project = getWalker().getProject();; - IFunctionCallNode fcNode = (IFunctionCallNode)(nodes[0].getParent().getParent()); - IExpressionNode nameNode = fcNode.getNameNode(); + IFunctionCallNode fcNode = (IFunctionCallNode) node.getParent(); + IExpressionNode nameNode = fcNode.getNameNode(); IDefinition def = nameNode.resolve(project); - if (def != null && def.getBaseName().equals("removeAt")) - { - if (def.getParent() != null && - def.getParent().getQualifiedName().equals("Array")) - { - if (nameNode instanceof MemberAccessExpressionNode) - { - write(", 1"); - } - } - } - else if (def != null && def.getBaseName().equals("parseInt")) - { - IDefinition parentDef = def.getParent(); - if (parentDef == null) - { - if (nameNode instanceof IdentifierNode) - { - write(", 10"); - } - } - } - } + if (def != null && def.getBaseName().equals("removeAt")) + { + if (def.getParent() != null && + def.getParent().getQualifiedName().equals("Array")) + { + if (nameNode instanceof MemberAccessExpressionNode) + { + newArgs = new ContainerNode(len + 1); + newArgs.setSourcePath(node.getSourcePath()); + newArgs.span(node); + newArgs.setParent((NodeBase) node.getParent()); + for (int i = 0; i < len; i++) + { + newArgs.addItem((NodeBase) node.getChild(i)); + } + NumericLiteralNode extraNode = new NumericLiteralNode("1"); + extraNode.setSourcePath(node.getSourcePath()); + newArgs.addItem(extraNode); + } + } + } + else if (def != null && def.getBaseName().equals("parseInt")) + { + IDefinition parentDef = def.getParent(); + if (parentDef == null) + { + if (nameNode instanceof IdentifierNode) + { + newArgs = new ContainerNode(len + 1); + newArgs.setSourcePath(node.getSourcePath()); + newArgs.span(node); + newArgs.setParent((NodeBase) node.getParent()); + for (int i = 0; i < len; i++) + { + newArgs.addItem((NodeBase) node.getChild(i)); + } + NumericLiteralNode extraNode = new NumericLiteralNode("10"); + extraNode.setSourcePath(node.getSourcePath()); + newArgs.addItem(extraNode); + } + } + } + } + if (newArgs != null) + { + super.emitArguments(newArgs); + } + else + { + super.emitArguments(node); + } } @Override http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/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 d37e258..7fe1657 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 @@ -566,10 +566,8 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter } getWalker().walk(node.getNameNode()); - - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); + + emitArguments(node.getArgumentsNode()); } else { http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java index ab36794..0b8df4e 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java @@ -125,15 +125,8 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu if (nameNode.hasParenthesis()) write(ASEmitterTokens.PAREN_CLOSE); } - getEmitter().startMapping(node.getArgumentsNode()); - write(ASEmitterTokens.PAREN_OPEN); - getEmitter().endMapping(node.getArgumentsNode()); - fjs.walkArguments(node.getArgumentNodes()); - - getEmitter().startMapping(node.getArgumentsNode()); - write(ASEmitterTokens.PAREN_CLOSE); - getEmitter().endMapping(node.getArgumentsNode()); + getEmitter().emitArguments(node.getArgumentsNode()); } else if (!isClassCast) { @@ -155,15 +148,24 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu } else if (def instanceof AppliedVectorDefinition) { - fjs.walkArguments(node.getArgumentNodes()); + IExpressionNode[] argumentNodes = node.getArgumentNodes(); + int len = argumentNodes.length; + for (int i = 0; i < len; i++) + { + IExpressionNode argumentNode = argumentNodes[i]; + getWalker().walk(argumentNode); + if(i < len - 1) + { + write(", "); + } + } write(".slice()"); return; } } getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - fjs.walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); + + getEmitter().emitArguments(node.getArgumentsNode()); } else //function-style cast { http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c381df34/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java index 13bcbb3..4f9d5f2 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java @@ -656,9 +656,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter else // I think we still need this for "new someVarOfTypeClass" getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); + emitArguments(node.getArgumentsNode()); } else if (!isClassCast) { @@ -679,9 +677,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter } } getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); + emitArguments(node.getArgumentsNode()); } else {
