You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jo...@apache.org on 2016/04/08 23:37:10 UTC

[1/6] git commit: [flex-falcon] [refs/heads/develop] - ASParser.g: fixed issue where the parameters container of a FunctionNode had the wrong column position. similar to function call arguments, the parameters now include the parentheses

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 239f935f2 -> 4cc081b01


ASParser.g: fixed issue where the parameters container of a FunctionNode had the wrong column position. similar to function call arguments, the parameters now include the parentheses


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/94987360
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/94987360
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/94987360

Branch: refs/heads/develop
Commit: 94987360cb06b00d6f7909ffdfc2ab74f50de544
Parents: 239f935
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 10:48:33 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 10:48:33 2016 -0700

----------------------------------------------------------------------
 .../org/apache/flex/compiler/internal/parsing/as/ASParser.g  | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/94987360/compiler/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g b/compiler/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g
index 835f63a..34cb240 100644
--- a/compiler/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g
+++ b/compiler/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g
@@ -931,11 +931,11 @@ functionExpression returns [FunctionObjectNode n]
     	lpT:TOKEN_PAREN_OPEN
 		{
 			p = f.getParametersContainerNode();
-			p.startAfter(lpT);
+			p.startBefore(lpT);
 		}
     	formalParameters[p]
     	rpT:TOKEN_PAREN_CLOSE
- 		{ p.endBefore(rpT); }
+ 		{ p.endAfter(rpT); }
     	(resultType[f])?
      	{ enableSemicolonInsertion(); }	
 
@@ -1044,11 +1044,11 @@ functionDefinition[ContainerNode c, INamespaceDecorationNode namespace, List<Mod
 		lpT:TOKEN_PAREN_OPEN
 		{
 			final ContainerNode parameters = n.getParametersContainerNode();
-			parameters.startAfter(lpT);
+			parameters.startBefore(lpT);
  		}
      	formalParameters[parameters]	
      	(	rpT:TOKEN_PAREN_CLOSE 
-     		{ parameters.endBefore(rpT); }
+     		{ parameters.endAfter(rpT); }
      		// error recovery for typing in-progress function definitions
      		exception catch [RecognitionException ex] { handleParsingError(ex); }
      	)


[2/6] git commit: [flex-falcon] [refs/heads/develop] - SourceMapTestBase: better output from assertMapping() to include the passed in locations

Posted by jo...@apache.org.
SourceMapTestBase: better output from assertMapping() to include the passed in locations


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/23f83ec3
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/23f83ec3
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/23f83ec3

Branch: refs/heads/develop
Commit: 23f83ec32d924e60b15510cdee5f452fa892c861
Parents: 9498736
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 11:54:57 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 11:54:57 2016 -0700

----------------------------------------------------------------------
 .../apache/flex/compiler/internal/test/SourceMapTestBase.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/23f83ec3/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 9843267..ac58f1c 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
@@ -47,7 +47,9 @@ public class SourceMapTestBase extends ASTestBase
                 break;
             }
         }
-        assertTrue("Mapping not found for node " + node.toString(), foundMapping);
+        assertTrue("Mapping not found for node " + node.getNodeID() + ". Expected "
+                + "source: (" + nodeStartLine + ", " + nodeStartColumn + "), dest: (" + outStartLine + ", " + outStartColumn + ") to (" + outEndLine + ", " + outEndColumn + ")",
+                foundMapping);
     }
     
 }


[5/6] git commit: [flex-falcon] [refs/heads/develop] - added source maps for some semicolons

Posted by jo...@apache.org.
added source maps for some semicolons


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/584f4337
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/584f4337
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/584f4337

Branch: refs/heads/develop
Commit: 584f433777beb32087f7d159346320e7f06468eb
Parents: c759afd
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 14:12:41 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 14:12:41 2016 -0700

----------------------------------------------------------------------
 .../compiler/internal/codegen/js/JSEmitter.java |  8 +++
 .../internal/codegen/js/jx/ClassEmitter.java    |  4 ++
 .../codegen/js/jx/StatementEmitter.java         | 55 ++++++++++++++++++++
 3 files changed, 67 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/584f4337/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 65a8e63..2ab71b3 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
@@ -44,6 +44,7 @@ import org.apache.flex.compiler.internal.codegen.js.jx.ParameterEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.ParametersEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.ReturnEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.SourceMapDirectiveEmitter;
+import org.apache.flex.compiler.internal.codegen.js.jx.StatementEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.TernaryOperatorEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.UnaryOperatorEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.WhileLoopEmitter;
@@ -95,6 +96,7 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
     public DoWhileLoopEmitter doWhileLoopEmitter;
     public ForLoopEmitter forLoopEmitter;
     public IterationFlowEmitter interationFlowEmitter;
+    public StatementEmitter statementEmitter;
     public SourceMapDirectiveEmitter sourceMapDirectiveEmitter;
     
     @Override
@@ -137,6 +139,7 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
         doWhileLoopEmitter = new DoWhileLoopEmitter(this);
         forLoopEmitter = new ForLoopEmitter(this);
         interationFlowEmitter = new IterationFlowEmitter(this);
+        statementEmitter = new StatementEmitter(this);
         sourceMapDirectiveEmitter = new SourceMapDirectiveEmitter(this);
     }
 
@@ -255,6 +258,11 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
     {
         ternaryOperatorEmitter.emit(node);
     }
+    @Override
+    public void emitStatement(IASNode node)
+    {
+        statementEmitter.emit(node);
+    }
 
     @Override
     public void emitIf(IIfNode node)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/584f4337/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ClassEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ClassEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ClassEmitter.java
index 6bf01b7..fe0bc7e 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ClassEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ClassEmitter.java
@@ -105,7 +105,9 @@ public class ClassEmitter extends JSSubEmitter implements
                 writeNewline();
                 writeNewline();
                 getEmitter().emitField((IVariableNode) dnode);
+                startMapping(dnode, dnode);
                 write(ASEmitterTokens.SEMICOLON);
+                endMapping(dnode);
             }
             else if (dnode.getNodeID() == ASTNodeID.FunctionID)
             {
@@ -135,7 +137,9 @@ public class ClassEmitter extends JSSubEmitter implements
                 writeNewline();
                 writeNewline();
                 getEmitter().emitField((IVariableNode) dnode);
+                startMapping(dnode, dnode);
                 write(ASEmitterTokens.SEMICOLON);
+                endMapping(dnode);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/584f4337/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/StatementEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/StatementEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/StatementEmitter.java
new file mode 100644
index 0000000..7cf897c
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/StatementEmitter.java
@@ -0,0 +1,55 @@
+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.tree.ASTNodeID;
+import org.apache.flex.compiler.tree.as.IASNode;
+import org.apache.flex.compiler.tree.as.IStatementNode;
+
+public class StatementEmitter extends JSSubEmitter implements
+        ISubEmitter<IASNode>
+{
+    public StatementEmitter(IJSEmitter emitter)
+    {
+        super(emitter);
+    }
+
+    @Override
+    public void emit(IASNode node)
+    {
+        getWalker().walk(node);
+
+        // XXX (mschmalle) this should be in the after handler?
+        if (node.getParent().getNodeID() != ASTNodeID.LabledStatementID
+                && node.getNodeID() != ASTNodeID.ConfigBlockID
+                && !(node instanceof IStatementNode))
+        {
+            startMapping(node, node);
+            write(ASEmitterTokens.SEMICOLON);
+            endMapping(node);
+        }
+
+        if (!isLastStatement(node))
+            writeNewline();
+    }
+
+    protected static boolean isLastStatement(IASNode node)
+    {
+        return getChildIndex(node.getParent(), node) == node.getParent()
+                .getChildCount() - 1;
+    }
+
+    // this is not fair that we have to do this if (i < len - 1)
+    private static int getChildIndex(IASNode parent, IASNode node)
+    {
+        final int len = parent.getChildCount();
+        for (int i = 0; i < len; i++)
+        {
+            if (parent.getChild(i) == node)
+                return i;
+        }
+        return -1;
+    }
+}


[4/6] git commit: [flex-falcon] [refs/heads/develop] - added source maps for for loop, and renamed emitters for while and do-while loops

Posted by jo...@apache.org.
added source maps for for loop, and renamed emitters for while and do-while loops


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/c759afdf
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/c759afdf
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/c759afdf

Branch: refs/heads/develop
Commit: c759afdfc4f3ac1128b7a0d7a08dbf40b2b0dfa3
Parents: d89a0b2
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 13:55:45 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 13:55:45 2016 -0700

----------------------------------------------------------------------
 .../js/sourcemaps/TestSourceMapStatements.java  | 69 ++++++++++++++
 .../compiler/internal/codegen/js/JSEmitter.java | 26 +++--
 .../internal/codegen/js/jx/DoWhileEmitter.java  | 71 --------------
 .../codegen/js/jx/DoWhileLoopEmitter.java       | 71 ++++++++++++++
 .../internal/codegen/js/jx/ForLoopEmitter.java  | 99 ++++++++++++++++++++
 .../internal/codegen/js/jx/WhileEmitter.java    | 61 ------------
 .../codegen/js/jx/WhileLoopEmitter.java         | 61 ++++++++++++
 7 files changed, 318 insertions(+), 140 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapStatements.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapStatements.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapStatements.java
index 713c3cf..3c25d07 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapStatements.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapStatements.java
@@ -3,6 +3,7 @@ package org.apache.flex.compiler.internal.codegen.js.sourcemaps;
 import org.apache.flex.compiler.driver.IBackend;
 import org.apache.flex.compiler.internal.driver.js.flexjs.FlexJSBackend;
 import org.apache.flex.compiler.internal.test.SourceMapTestBase;
+import org.apache.flex.compiler.tree.as.IForLoopNode;
 import org.apache.flex.compiler.tree.as.IVariableNode;
 
 import org.junit.Test;
@@ -95,6 +96,74 @@ public class TestSourceMapStatements extends SourceMapTestBase
         assertMapping(node, 0, 35, 0, 89, 0, 91); // 42
     }
 
+    //----------------------------------
+    // for () { }
+    //----------------------------------
+
+    @Test
+    public void testVisitFor_1a()
+    {
+        IForLoopNode node = (IForLoopNode) getNode(
+                "for (var i:int = 0; i < len; i++) { break; }",
+                IForLoopNode.class);
+        asBlockWalker.visitForLoop(node);
+        //for (var /** @type {number} */ i = 0; i < len; i++) {\n  break;\n}
+        assertMapping(node, 0, 0, 0, 0, 0, 5);    // for (
+        assertMapping(node, 0, 18, 0, 36, 0, 38); // ;
+        assertMapping(node, 0, 27, 0, 45, 0, 47); // ;
+        assertMapping(node, 0, 32, 0, 50, 0, 52); // )
+    }
+
+    @Test
+    public void testVisitFor_1b()
+    {
+        IForLoopNode node = (IForLoopNode) getNode(
+                "for (var i:int = 0; i < len; i++) break;", IForLoopNode.class);
+        asBlockWalker.visitForLoop(node);
+        //for (var /** @type {number} */ i = 0; i < len; i++)\n  break;
+        assertMapping(node, 0, 0, 0, 0, 0, 5);    // for (
+        assertMapping(node, 0, 18, 0, 36, 0, 38); // ;
+        assertMapping(node, 0, 27, 0, 45, 0, 47); // ;
+        assertMapping(node, 0, 32, 0, 50, 0, 51); // )
+    }
+
+    @Test
+    public void testVisitFor_2()
+    {
+        IForLoopNode node = (IForLoopNode) getNode("for (;;) { break; }",
+                IForLoopNode.class);
+        asBlockWalker.visitForLoop(node);
+        //for (;;) {\n  break;\n}
+        assertMapping(node, 0, 0, 0, 0, 0, 5); // for (
+        assertMapping(node, 0, 5, 0, 5, 0, 6); // ;
+        assertMapping(node, 0, 6, 0, 6, 0, 7); // ;
+        assertMapping(node, 0, 7, 0, 7, 0, 9); // )
+    }
+
+    @Test
+    public void testVisitForIn_1()
+    {
+        IForLoopNode node = (IForLoopNode) getNode(
+                "for (var i:int in obj) { break; }", IForLoopNode.class);
+        asBlockWalker.visitForLoop(node);
+        //for (var /** @type {number} */ i in obj) {\n  break;\n}
+        assertMapping(node, 0, 0, 0, 0, 0, 5);    // for (
+        assertMapping(node, 0, 14, 0, 32, 0, 36); // in
+        assertMapping(node, 0, 21, 0, 39, 0, 41); // )
+    }
+
+    @Test
+    public void testVisitForIn_1a()
+    {
+        IForLoopNode node = (IForLoopNode) getNode(
+                "for (var i:int in obj)  break; ", IForLoopNode.class);
+        asBlockWalker.visitForLoop(node);
+        //for (var /** @type {number} */ i in obj)\n  break;
+        assertMapping(node, 0, 0, 0, 0, 0, 5);    // for (
+        assertMapping(node, 0, 14, 0, 32, 0, 36); // in
+        assertMapping(node, 0, 21, 0, 39, 0, 40); // )
+    }
+
     protected IBackend createBackend()
     {
         return new FlexJSBackend();

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/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 589cbaf..65a8e63 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
@@ -30,8 +30,9 @@ import org.apache.flex.compiler.common.ISourceLocation;
 import org.apache.flex.compiler.definitions.ITypeDefinition;
 import org.apache.flex.compiler.internal.codegen.as.ASEmitter;
 import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
-import org.apache.flex.compiler.internal.codegen.js.jx.DoWhileEmitter;
+import org.apache.flex.compiler.internal.codegen.js.jx.DoWhileLoopEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.DynamicAccessEmitter;
+import org.apache.flex.compiler.internal.codegen.js.jx.ForLoopEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.IfEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.IterationFlowEmitter;
@@ -45,13 +46,14 @@ import org.apache.flex.compiler.internal.codegen.js.jx.ReturnEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.SourceMapDirectiveEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.TernaryOperatorEmitter;
 import org.apache.flex.compiler.internal.codegen.js.jx.UnaryOperatorEmitter;
-import org.apache.flex.compiler.internal.codegen.js.jx.WhileEmitter;
+import org.apache.flex.compiler.internal.codegen.js.jx.WhileLoopEmitter;
 import org.apache.flex.compiler.internal.codegen.js.utils.EmitterUtils;
 import org.apache.flex.compiler.internal.tree.as.FunctionNode;
 import org.apache.flex.compiler.tree.as.IASNode;
 import org.apache.flex.compiler.tree.as.IContainerNode;
 import org.apache.flex.compiler.tree.as.IDefinitionNode;
 import org.apache.flex.compiler.tree.as.IDynamicAccessNode;
+import org.apache.flex.compiler.tree.as.IForLoopNode;
 import org.apache.flex.compiler.tree.as.IFunctionNode;
 import org.apache.flex.compiler.tree.as.IFunctionObjectNode;
 import org.apache.flex.compiler.tree.as.IIfNode;
@@ -89,8 +91,9 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
     public TernaryOperatorEmitter ternaryOperatorEmitter;
     public MemberKeywordEmitter memberKeywordEmitter;
     public IfEmitter ifEmitter;
-    public WhileEmitter whileEmitter;
-    public DoWhileEmitter doWhileEmitter;
+    public WhileLoopEmitter whileLoopEmitter;
+    public DoWhileLoopEmitter doWhileLoopEmitter;
+    public ForLoopEmitter forLoopEmitter;
     public IterationFlowEmitter interationFlowEmitter;
     public SourceMapDirectiveEmitter sourceMapDirectiveEmitter;
     
@@ -130,8 +133,9 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
         ternaryOperatorEmitter = new TernaryOperatorEmitter(this);
         memberKeywordEmitter = new MemberKeywordEmitter(this);
         ifEmitter = new IfEmitter(this);
-        whileEmitter = new WhileEmitter(this);
-        doWhileEmitter = new DoWhileEmitter(this);
+        whileLoopEmitter = new WhileLoopEmitter(this);
+        doWhileLoopEmitter = new DoWhileLoopEmitter(this);
+        forLoopEmitter = new ForLoopEmitter(this);
         interationFlowEmitter = new IterationFlowEmitter(this);
         sourceMapDirectiveEmitter = new SourceMapDirectiveEmitter(this);
     }
@@ -261,13 +265,19 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
     @Override
     public void emitWhileLoop(IWhileLoopNode node)
     {
-        whileEmitter.emit(node);
+        whileLoopEmitter.emit(node);
     }
 
     @Override
     public void emitDoLoop(IWhileLoopNode node)
     {
-        doWhileEmitter.emit(node);
+        doWhileLoopEmitter.emit(node);
+    }
+
+    @Override
+    public void emitForLoop(IForLoopNode node)
+    {
+        forLoopEmitter.emit(node);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileEmitter.java
deleted file mode 100644
index 4dfafac..0000000
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileEmitter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- */
-
-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.codegen.js.utils.EmitterUtils;
-import org.apache.flex.compiler.tree.as.IASNode;
-import org.apache.flex.compiler.tree.as.IContainerNode;
-import org.apache.flex.compiler.tree.as.IWhileLoopNode;
-
-public class DoWhileEmitter extends JSSubEmitter implements
-        ISubEmitter<IWhileLoopNode>
-{
-    public DoWhileEmitter(IJSEmitter emitter)
-    {
-        super(emitter);
-    }
-
-    @Override
-    public void emit(IWhileLoopNode node)
-    {
-        IContainerNode cnode = (IContainerNode) node.getChild(0);
-
-        startMapping(node);
-        write(ASEmitterTokens.DO);
-        if (!EmitterUtils.isImplicit(cnode))
-            write(ASEmitterTokens.SPACE);
-        endMapping(node);
-
-        IASNode statementContents = node.getStatementContentsNode();
-        getWalker().walk(statementContents);
-
-        IASNode conditionalExpressionNode = node.getConditionalExpressionNode();
-        startMapping(node, statementContents);
-        if (!EmitterUtils.isImplicit(cnode))
-            write(ASEmitterTokens.SPACE);
-        else
-            writeNewline(); // TODO (mschmalle) there is something wrong here, block should NL
-        write(ASEmitterTokens.WHILE);
-        write(ASEmitterTokens.SPACE);
-        write(ASEmitterTokens.PAREN_OPEN);
-        endMapping(node);
-
-        getWalker().walk(conditionalExpressionNode);
-
-        startMapping(node, conditionalExpressionNode);
-        write(ASEmitterTokens.PAREN_CLOSE);
-        write(ASEmitterTokens.SEMICOLON);
-        endMapping(node);
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileLoopEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileLoopEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileLoopEmitter.java
new file mode 100644
index 0000000..e087bcd
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/DoWhileLoopEmitter.java
@@ -0,0 +1,71 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+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.codegen.js.utils.EmitterUtils;
+import org.apache.flex.compiler.tree.as.IASNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
+import org.apache.flex.compiler.tree.as.IWhileLoopNode;
+
+public class DoWhileLoopEmitter extends JSSubEmitter implements
+        ISubEmitter<IWhileLoopNode>
+{
+    public DoWhileLoopEmitter(IJSEmitter emitter)
+    {
+        super(emitter);
+    }
+
+    @Override
+    public void emit(IWhileLoopNode node)
+    {
+        IContainerNode cnode = (IContainerNode) node.getChild(0);
+
+        startMapping(node);
+        write(ASEmitterTokens.DO);
+        if (!EmitterUtils.isImplicit(cnode))
+            write(ASEmitterTokens.SPACE);
+        endMapping(node);
+
+        IASNode statementContents = node.getStatementContentsNode();
+        getWalker().walk(statementContents);
+
+        IASNode conditionalExpressionNode = node.getConditionalExpressionNode();
+        startMapping(node, statementContents);
+        if (!EmitterUtils.isImplicit(cnode))
+            write(ASEmitterTokens.SPACE);
+        else
+            writeNewline(); // TODO (mschmalle) there is something wrong here, block should NL
+        write(ASEmitterTokens.WHILE);
+        write(ASEmitterTokens.SPACE);
+        write(ASEmitterTokens.PAREN_OPEN);
+        endMapping(node);
+
+        getWalker().walk(conditionalExpressionNode);
+
+        startMapping(node, conditionalExpressionNode);
+        write(ASEmitterTokens.PAREN_CLOSE);
+        write(ASEmitterTokens.SEMICOLON);
+        endMapping(node);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ForLoopEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ForLoopEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ForLoopEmitter.java
new file mode 100644
index 0000000..567b029
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/ForLoopEmitter.java
@@ -0,0 +1,99 @@
+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.codegen.js.utils.EmitterUtils;
+import org.apache.flex.compiler.tree.ASTNodeID;
+import org.apache.flex.compiler.tree.as.IASNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
+import org.apache.flex.compiler.tree.as.IForLoopNode;
+
+public class ForLoopEmitter extends JSSubEmitter implements
+        ISubEmitter<IForLoopNode>
+{
+    public ForLoopEmitter(IJSEmitter emitter)
+    {
+        super(emitter);
+    }
+
+    @Override
+    public void emit(IForLoopNode node)
+    {
+        IContainerNode xnode = (IContainerNode) node.getChild(1);
+
+        startMapping(node);
+        writeToken(ASEmitterTokens.FOR);
+        write(ASEmitterTokens.PAREN_OPEN);
+        endMapping(node);
+
+        IContainerNode cnode = node.getConditionalsContainerNode();
+        final IASNode node0 = cnode.getChild(0);
+        if (node0.getNodeID() == ASTNodeID.Op_InID)
+        {
+            //for(in)
+            getWalker().walk(cnode.getChild(0));
+        }
+        else //for(;;)
+        {
+            emitForStatements(cnode);
+        }
+
+        startMapping(node, cnode);
+        write(ASEmitterTokens.PAREN_CLOSE);
+        if (!EmitterUtils.isImplicit(xnode))
+            write(ASEmitterTokens.SPACE);
+        endMapping(node);
+
+        getWalker().walk(node.getStatementContentsNode());
+    }
+
+    protected void emitForStatements(IContainerNode node)
+    {
+        final IASNode node0 = node.getChild(0);
+        final IASNode node1 = node.getChild(1);
+        final IASNode node2 = node.getChild(2);
+
+        int column = node.getColumn();
+        // initializer
+        if (node0 != null)
+        {
+            getWalker().walk(node0);
+
+            if (node1.getNodeID() != ASTNodeID.NilID)
+            {
+                column += node0.getAbsoluteEnd() - node0.getAbsoluteStart();
+            }
+            startMapping(node, node.getLine(), column);
+            write(ASEmitterTokens.SEMICOLON);
+            column++;
+            if (node1.getNodeID() != ASTNodeID.NilID)
+            {
+                write(ASEmitterTokens.SPACE);
+                column++;
+            }
+            endMapping(node);
+        }
+        // condition or target
+        if (node1 != null)
+        {
+            getWalker().walk(node1);
+            
+            if (node1.getNodeID() != ASTNodeID.NilID)
+            {
+                column += node1.getAbsoluteEnd() - node1.getAbsoluteStart();
+            }
+            startMapping(node, node.getLine(), column);
+            write(ASEmitterTokens.SEMICOLON);
+            if (node2.getNodeID() != ASTNodeID.NilID)
+                write(ASEmitterTokens.SPACE);
+            endMapping(node);
+        }
+        // iterator
+        if (node2 != null)
+        {
+            getWalker().walk(node2);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileEmitter.java
deleted file mode 100644
index 8ff0e84..0000000
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileEmitter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- */
-
-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.codegen.js.utils.EmitterUtils;
-import org.apache.flex.compiler.tree.as.IASNode;
-import org.apache.flex.compiler.tree.as.IContainerNode;
-import org.apache.flex.compiler.tree.as.IWhileLoopNode;
-
-public class WhileEmitter extends JSSubEmitter implements
-        ISubEmitter<IWhileLoopNode>
-{
-    public WhileEmitter(IJSEmitter emitter)
-    {
-        super(emitter);
-    }
-
-    @Override
-    public void emit(IWhileLoopNode node)
-    {
-        IContainerNode cnode = (IContainerNode) node.getChild(1);
-
-        startMapping(node);
-        writeToken(ASEmitterTokens.WHILE);
-        write(ASEmitterTokens.PAREN_OPEN);
-        endMapping(node);
-
-        IASNode conditionalExpression = node.getConditionalExpressionNode();
-        getWalker().walk(conditionalExpression);
-
-        IASNode statementContentsNode = node.getStatementContentsNode();
-        startMapping(node, conditionalExpression);
-        write(ASEmitterTokens.PAREN_CLOSE);
-        if (!EmitterUtils.isImplicit(cnode))
-            write(ASEmitterTokens.SPACE);
-        endMapping(node);
-
-        getWalker().walk(statementContentsNode);
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c759afdf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileLoopEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileLoopEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileLoopEmitter.java
new file mode 100644
index 0000000..54f663d
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/WhileLoopEmitter.java
@@ -0,0 +1,61 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+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.codegen.js.utils.EmitterUtils;
+import org.apache.flex.compiler.tree.as.IASNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
+import org.apache.flex.compiler.tree.as.IWhileLoopNode;
+
+public class WhileLoopEmitter extends JSSubEmitter implements
+        ISubEmitter<IWhileLoopNode>
+{
+    public WhileLoopEmitter(IJSEmitter emitter)
+    {
+        super(emitter);
+    }
+
+    @Override
+    public void emit(IWhileLoopNode node)
+    {
+        IContainerNode cnode = (IContainerNode) node.getChild(1);
+
+        startMapping(node);
+        writeToken(ASEmitterTokens.WHILE);
+        write(ASEmitterTokens.PAREN_OPEN);
+        endMapping(node);
+
+        IASNode conditionalExpression = node.getConditionalExpressionNode();
+        getWalker().walk(conditionalExpression);
+
+        IASNode statementContentsNode = node.getStatementContentsNode();
+        startMapping(node, conditionalExpression);
+        write(ASEmitterTokens.PAREN_CLOSE);
+        if (!EmitterUtils.isImplicit(cnode))
+            write(ASEmitterTokens.SPACE);
+        endMapping(node);
+
+        getWalker().walk(statementContentsNode);
+    }
+}


[3/6] git commit: [flex-falcon] [refs/heads/develop] - compiler: fixed column of NodeBase when starting after a token

Posted by jo...@apache.org.
compiler: fixed column of NodeBase when starting after a token


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/d89a0b29
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/d89a0b29
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/d89a0b29

Branch: refs/heads/develop
Commit: d89a0b29c7e6905677f6b92c35c239e72b16f5d2
Parents: 23f83ec
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 11:56:21 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 11:56:21 2016 -0700

----------------------------------------------------------------------
 .../src/org/apache/flex/compiler/internal/tree/as/NodeBase.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d89a0b29/compiler/src/org/apache/flex/compiler/internal/tree/as/NodeBase.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/tree/as/NodeBase.java b/compiler/src/org/apache/flex/compiler/internal/tree/as/NodeBase.java
index a6ca29a..be0510d 100644
--- a/compiler/src/org/apache/flex/compiler/internal/tree/as/NodeBase.java
+++ b/compiler/src/org/apache/flex/compiler/internal/tree/as/NodeBase.java
@@ -335,7 +335,10 @@ public abstract class NodeBase extends SourceLocation implements IASNode
     public void startAfter(Token token)
     {
         if (token instanceof ISourceLocation)
-            startAfter((ISourceLocation)token);
+        {
+            startAfter((ISourceLocation) token);
+            setColumn(getColumn() + token.getText().length());
+        }
     }
     
     /**


[6/6] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx: JSSubEmitters no longer call getEmitter() before startMapping() or endMapping() (just migrating some of the older code to the new style)

Posted by jo...@apache.org.
compiler.jx: JSSubEmitters no longer call getEmitter() before startMapping() or endMapping() (just migrating some of the older code to the new style)


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/4cc081b0
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/4cc081b0
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/4cc081b0

Branch: refs/heads/develop
Commit: 4cc081b01c8a86e4408e28d018ab2e14876151fe
Parents: 584f433
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 14:17:56 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 14:17:56 2016 -0700

----------------------------------------------------------------------
 .../internal/codegen/js/jx/AsIsEmitter.java     | 22 ++++++++++----------
 .../codegen/js/jx/BinaryOperatorEmitter.java    | 12 +++++------
 .../internal/codegen/js/jx/FieldEmitter.java    |  8 +++----
 .../codegen/js/jx/FunctionCallEmitter.java      | 12 +++++------
 .../internal/codegen/js/jx/LiteralEmitter.java  |  4 ++--
 .../codegen/js/jx/MemberAccessEmitter.java      |  8 +++----
 .../internal/codegen/js/jx/MethodEmitter.java   |  8 +++----
 .../codegen/js/jx/VarDeclarationEmitter.java    | 14 ++++++-------
 8 files changed, 44 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/AsIsEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/AsIsEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/AsIsEmitter.java
index 36e2cd0..793b14f 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/AsIsEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/AsIsEmitter.java
@@ -136,11 +136,11 @@ public class AsIsEmitter extends JSSubEmitter
         if (node instanceof IBinaryOperatorNode)
         {
             IBinaryOperatorNode binaryOperatorNode = (IBinaryOperatorNode) node; 
-            getEmitter().startMapping(node, binaryOperatorNode.getLeftOperandNode());
+            startMapping(node, binaryOperatorNode.getLeftOperandNode());
         }
         else
         {
-            getEmitter().startMapping(node);
+            startMapping(node);
         }
         write(JSFlexJSEmitterTokens.LANGUAGE_QNAME);
         write(ASEmitterTokens.MEMBER_ACCESS);
@@ -151,26 +151,26 @@ public class AsIsEmitter extends JSSubEmitter
             write(ASEmitterTokens.AS);
 
         write(ASEmitterTokens.PAREN_OPEN);
-        getEmitter().endMapping(node);
+        endMapping(node);
         
         getWalker().walk(left);
         if (node instanceof IBinaryOperatorNode)
         {
             IBinaryOperatorNode binaryOperatorNode = (IBinaryOperatorNode) node;
-            getEmitter().startMapping(node, binaryOperatorNode.getLeftOperandNode());
+            startMapping(node, binaryOperatorNode.getLeftOperandNode());
         }
         else
         {
-            getEmitter().startMapping(node);
+            startMapping(node);
         }
         writeToken(ASEmitterTokens.COMMA);
-        getEmitter().endMapping(node);
+        endMapping(node);
 
         if (dnode instanceof IClassDefinition)
         {
-            getEmitter().startMapping(right);
+            startMapping(right);
             write(getEmitter().formatQualifiedName(dnode.getQualifiedName()));
-            getEmitter().endMapping(right);
+            endMapping(right);
         }
         else
         {
@@ -180,11 +180,11 @@ public class AsIsEmitter extends JSSubEmitter
         if (node instanceof IBinaryOperatorNode)
         {
             IBinaryOperatorNode binaryOperatorNode = (IBinaryOperatorNode) node;
-            getEmitter().startMapping(node, binaryOperatorNode.getLeftOperandNode());
+            startMapping(node, binaryOperatorNode.getLeftOperandNode());
         }
         else
         {
-            getEmitter().startMapping(node);
+            startMapping(node);
         }
         if (coercion)
         {
@@ -193,7 +193,7 @@ public class AsIsEmitter extends JSSubEmitter
         }
 
         write(ASEmitterTokens.PAREN_CLOSE);
-        getEmitter().endMapping(node);
+        endMapping(node);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
index d97c20a..6e5cc75 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
@@ -71,10 +71,10 @@ public class BinaryOperatorEmitter extends JSSubEmitter implements
         {
             getWalker().walk(node.getLeftOperandNode());
 
-            getEmitter().startMapping(node, node.getLeftOperandNode());
+            startMapping(node, node.getLeftOperandNode());
             write(ASEmitterTokens.SPACE);
             writeToken(ASEmitterTokens.INSTANCEOF);
-            getEmitter().endMapping(node);
+            endMapping(node);
 
             IDefinition dnode = (node.getRightOperandNode())
                     .resolve(getProject());
@@ -330,7 +330,7 @@ public class BinaryOperatorEmitter extends JSSubEmitter implements
         {
             getWalker().walk(node.getLeftOperandNode());
 
-            getEmitter().startMapping(node, node.getLeftOperandNode());
+            startMapping(node, node.getLeftOperandNode());
             
             if (id != ASTNodeID.Op_CommaID)
                 write(ASEmitterTokens.SPACE);
@@ -343,10 +343,10 @@ public class BinaryOperatorEmitter extends JSSubEmitter implements
                         .getLeftOperandNode();
 
                 writeToken(ASEmitterTokens.EQUAL);
-                getEmitter().endMapping(node);
+                endMapping(node);
                 write(lnode.getName());
 
-                getEmitter().startMapping(node, node.getLeftOperandNode());
+                startMapping(node, node.getLeftOperandNode());
                 write(ASEmitterTokens.SPACE);
                 write((id == ASTNodeID.Op_LogicalAndAssignID) ? ASEmitterTokens.LOGICAL_AND
                         : ASEmitterTokens.LOGICAL_OR);
@@ -357,7 +357,7 @@ public class BinaryOperatorEmitter extends JSSubEmitter implements
             }
 
             write(ASEmitterTokens.SPACE);
-            getEmitter().endMapping(node);
+            endMapping(node);
 
             /*
             IDefinition definition = node.getRightOperandNode().resolve(getProject());

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
index 8e03b91..402751f 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
@@ -84,11 +84,11 @@ public class FieldEmitter extends JSSubEmitter implements
             if (definition == null)
                 definition = ndef.getContainingScope().getDefinition();
 
-            getEmitter().startMapping(node.getNameExpressionNode());
+            startMapping(node.getNameExpressionNode());
             write(getEmitter().formatQualifiedName(definition.getQualifiedName())
                     + ASEmitterTokens.MEMBER_ACCESS.getToken() + root);
             write(node.getName());
-            getEmitter().endMapping(node.getNameExpressionNode());
+            endMapping(node.getNameExpressionNode());
         }
 
         if (node.getNodeID() == ASTNodeID.BindableVariableID)
@@ -101,10 +101,10 @@ public class FieldEmitter extends JSSubEmitter implements
         if (vnode != null &&
                 (ndef.isStatic() || EmitterUtils.isScalar(vnode) || isPackageOrFileMember))
         {
-            getEmitter().startMapping(node);
+            startMapping(node);
             write(ASEmitterTokens.SPACE);
             writeToken(ASEmitterTokens.EQUAL);
-            getEmitter().endMapping(node);
+            endMapping(node);
             getEmitter().getWalker().walk(vnode);
         }
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/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 ed55481..f1f1923 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
@@ -76,9 +76,9 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu
             {
                 if (!(node.getChild(1) instanceof VectorLiteralNode))
                 {
-                    getEmitter().startMapping(node.getNewKeywordNode());
+                    startMapping(node.getNewKeywordNode());
                     writeToken(ASEmitterTokens.NEW);
-                    getEmitter().endMapping(node.getNewKeywordNode());
+                    endMapping(node.getNewKeywordNode());
                 }
                 else
                 {
@@ -113,9 +113,9 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu
                 // all new calls to a class should be fully qualified names
                 if (def instanceof ClassDefinition)
                 {
-                    getEmitter().startMapping(nameNode);
+                    startMapping(nameNode);
                     write(getEmitter().formatQualifiedName(def.getQualifiedName()));
-                    getEmitter().endMapping(nameNode);
+                    endMapping(nameNode);
                 }
                 else
                 {
@@ -144,12 +144,12 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu
                         ICompilerProject project = this.getProject();
                         if (project instanceof FlexJSProject)
                             ((FlexJSProject) project).needLanguage = true;
-                        getEmitter().startMapping(node.getNameNode());
+                        startMapping(node.getNameNode());
                         write(JSFlexJSEmitterTokens.LANGUAGE_QNAME);
                         write(ASEmitterTokens.MEMBER_ACCESS);
                         if (isInt)
                             write(JSFlexJSEmitterTokens.UNDERSCORE);
-                        getEmitter().endMapping(node.getNameNode());
+                        endMapping(node.getNameNode());
                     }
                     else if (def != null && def.getBaseName().equals("sortOn"))
                 	{

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/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 e3827e6..a332f23 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
@@ -122,9 +122,9 @@ public class LiteralEmitter extends JSSubEmitter implements
 
         if (!isWritten)
         {
-			getEmitter().startMapping(node);
+			startMapping(node);
             write(s);
-			getEmitter().endMapping(node);
+			endMapping(node);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MemberAccessEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MemberAccessEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MemberAccessEmitter.java
index 1756487..7088431 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MemberAccessEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MemberAccessEmitter.java
@@ -246,9 +246,9 @@ public class MemberAccessEmitter extends JSSubEmitter implements
         	continueWalk = writeLeftSide(node, leftNode, rightNode);
             if (continueWalk)
             {
-                getEmitter().startMapping(node, node.getLeftOperandNode());
+                startMapping(node, node.getLeftOperandNode());
                 write(node.getOperator().getOperatorText());
-                getEmitter().endMapping(node);
+                endMapping(node);
             }
         }
 
@@ -313,9 +313,9 @@ public class MemberAccessEmitter extends JSSubEmitter implements
         }
         else
         {
-            getEmitter().startMapping(leftNode);
+            startMapping(leftNode);
             write(ASEmitterTokens.THIS);
-            getEmitter().endMapping(leftNode);
+            endMapping(leftNode);
         }
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MethodEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MethodEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MethodEmitter.java
index ee2b499..b624621 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MethodEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/MethodEmitter.java
@@ -74,7 +74,7 @@ public class MethodEmitter extends JSSubEmitter implements
         }
         else
         {
-            getEmitter().startMapping(node.getNameExpressionNode());
+            startMapping(node.getNameExpressionNode());
             ITypeDefinition typeDef = EmitterUtils.getTypeDefinition(node);
             if (typeDef != null)
             {
@@ -97,14 +97,14 @@ public class MethodEmitter extends JSSubEmitter implements
             {
                 fjs.emitMemberName(node);
             }
-            getEmitter().endMapping(node.getNameExpressionNode());
+            endMapping(node.getNameExpressionNode());
         }
 
-        getEmitter().startMapping(node);
+        startMapping(node);
         write(ASEmitterTokens.SPACE);
         writeToken(ASEmitterTokens.EQUAL);
         write(ASEmitterTokens.FUNCTION);
-        getEmitter().endMapping(node);
+        endMapping(node);
 
         fjs.emitParameters(node.getParametersContainerNode());
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cc081b0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
index 322c778..f43b288 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
@@ -56,7 +56,7 @@ public class VarDeclarationEmitter extends JSSubEmitter implements
         IExpressionNode variableTypeNode = node.getVariableTypeNode();
         if(variableTypeNode.getLine() >= 0)
         {
-            getEmitter().startMapping(variableTypeNode,
+            startMapping(variableTypeNode,
                     variableTypeNode.getLine(),
                     variableTypeNode.getColumn() - 1); //include the :
         }
@@ -67,7 +67,7 @@ public class VarDeclarationEmitter extends JSSubEmitter implements
             //the compiler generates a node for type *.
             //in this case, put it at the end of the name expression.
             IExpressionNode nameExpressionNode = node.getNameExpressionNode();
-            getEmitter().startMapping(variableTypeNode, nameExpressionNode.getLine(),
+            startMapping(variableTypeNode, nameExpressionNode.getLine(),
                     nameExpressionNode.getColumn() + nameExpressionNode.getAbsoluteEnd() - nameExpressionNode.getAbsoluteStart());
         }
         IExpressionNode avnode = node.getAssignedValueNode();
@@ -85,7 +85,7 @@ public class VarDeclarationEmitter extends JSSubEmitter implements
         {
             fjs.getDocEmitter().emitVarDoc(node, null, getWalker().getProject());
         }
-        getEmitter().endMapping(variableTypeNode);
+        endMapping(variableTypeNode);
 
         if (!(node instanceof ChainedVariableNode) && node.isConst())
         {
@@ -95,10 +95,10 @@ public class VarDeclarationEmitter extends JSSubEmitter implements
         fjs.emitDeclarationName(node);
         if (avnode != null && !(avnode instanceof IEmbedNode))
         {
-            getEmitter().startMapping(node, node.getVariableTypeNode());
+            startMapping(node, node.getVariableTypeNode());
             write(ASEmitterTokens.SPACE);
             writeToken(ASEmitterTokens.EQUAL);
-            getEmitter().endMapping(node);
+            endMapping(node);
             fjs.emitAssignedValue(avnode);
         }
 
@@ -111,9 +111,9 @@ public class VarDeclarationEmitter extends JSSubEmitter implements
                 IASNode child = node.getChild(i);
                 if (child instanceof ChainedVariableNode)
                 {
-                    getEmitter().startMapping(node, node.getChild(i - 1));
+                    startMapping(node, node.getChild(i - 1));
                     writeToken(ASEmitterTokens.COMMA);
-                    getEmitter().endMapping(node);
+                    endMapping(node);
                     fjs.emitVarDeclaration((IVariableNode) child);
                 }
             }