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 2014/11/15 07:28:23 UTC

[1/8] git commit: [flex-falcon] [refs/heads/develop] - use tokens so I don't keep mistyping

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 4c07f5e89 -> 096bc8558


use tokens so I don't keep mistyping


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

Branch: refs/heads/develop
Commit: 5354db83c484f0cde1cb4c6738e708400eb45a59
Parents: 4c07f5e
Author: Alex Harui <ah...@apache.org>
Authored: Wed Nov 12 20:46:13 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Nov 12 20:46:13 2014 -0800

----------------------------------------------------------------------
 .../internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java         | 4 ++--
 .../internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java       | 5 +++--
 .../internal/driver/js/flexjs/JSCSSCompilationSession.java      | 3 ++-
 .../org/apache/flex/compiler/internal/graph/GoogDepsWriter.java | 5 +++--
 .../apache/flex/compiler/internal/graph/VF2JSDepsWriter.java    | 3 ++-
 5 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5354db83/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 64d1378..4eeea84 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -1557,7 +1557,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
         String s = ((MXMLFlexJSBlockWalker)getMXMLWalker()).encodedCSS;
         if (!s.isEmpty())
         {
-            int reqidx = s.indexOf("goog.require");
+            int reqidx = s.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
             if (reqidx != -1)
                 s = s.substring(0, reqidx - 1);
 
@@ -1662,7 +1662,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
         String s = ((MXMLFlexJSBlockWalker)getMXMLWalker()).encodedCSS;
         if (!s.isEmpty())
         {
-            int reqidx = s.indexOf("goog.require");
+            int reqidx = s.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
             if (reqidx != -1)
             {
                 String reqs = s.substring(reqidx);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5354db83/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
index dff5d23..f0bb0dd 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
@@ -42,6 +42,7 @@ import org.apache.flex.compiler.clients.problems.ProblemQuery;
 import org.apache.flex.compiler.codegen.js.IJSPublisher;
 import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.internal.codegen.js.JSSharedData;
+import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens;
 import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogPublisher;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
 import org.apache.flex.compiler.internal.graph.GoogDepsWriter;
@@ -401,13 +402,13 @@ public class MXMLFlexJSPublisher extends JSGoogPublisher implements
         appendString.append(projectName);
         appendString.append(".prototype.cssData = [");
         String s = project.cssEncoding;
-        int reqidx = s.indexOf("goog.require");
+        int reqidx = s.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
         if (reqidx != -1)
         {
             String reqs = s.substring(reqidx);
             s = s.substring(0, reqidx - 1);
             String fileData = readCode(new File(path));
-            reqidx = fileData.indexOf("goog.require");
+            reqidx = fileData.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
             String after = fileData.substring(reqidx);
             String before = fileData.substring(0, reqidx - 1);
             s = before + reqs + after + appendString.toString() + s;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5354db83/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java b/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
index 44cb3a0..7a518d2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
@@ -29,6 +29,7 @@ import org.apache.flex.compiler.css.ICSSPropertyValue;
 import org.apache.flex.compiler.css.ICSSRule;
 import org.apache.flex.compiler.css.ICSSSelector;
 import org.apache.flex.compiler.css.ICSSSelectorCondition;
+import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens;
 import org.apache.flex.compiler.internal.css.CSSArrayPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSColorPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSFunctionCallPropertyValue;
@@ -56,7 +57,7 @@ public class JSCSSCompilationSession extends CSSCompilationSession
         sb.append("];\n");
         for (String r : requires)
         {
-            sb.append("goog.require('" + r + "');\n");
+            sb.append(JSGoogEmitterTokens.GOOG_REQUIRE.getToken() + "('" + r + "');\n");
         }
 
         return sb.toString();        

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5354db83/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java b/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
index cde5681..26df899 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
@@ -32,6 +32,7 @@ import java.util.Scanner;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.flex.compiler.clients.problems.ProblemQuery;
+import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
 import org.apache.flex.compiler.problems.FileNotFoundProblem;
 
@@ -175,7 +176,7 @@ public class GoogDepsWriter {
                 
                 for (String line : fileLines)
                 {
-                    int c = line.indexOf("goog.require");
+                    int c = line.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
                     if (c > -1)
                     {
                         int c2 = line.indexOf(")");
@@ -338,7 +339,7 @@ public class GoogDepsWriter {
 				    additionalHTML.add(s);
 				    continue;
                 }
-				int c = s.indexOf("goog.require");
+				int c = s.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
 				if (c > -1)
 				{
 					int c2 = s.indexOf(")");

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5354db83/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
index 82251e7..b37f71a 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
@@ -32,6 +32,7 @@ import java.util.Scanner;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.flex.compiler.clients.problems.ProblemQuery;
+import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
 import org.apache.flex.compiler.problems.FileNotFoundProblem;
 
@@ -338,7 +339,7 @@ public class VF2JSDepsWriter {
 				    additionalHTML.add(s);
 				    continue;
                 }
-				int c = s.indexOf("goog.require");
+				int c = s.indexOf(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
 				if (c > -1)
 				{
 					int c2 = s.indexOf(")");


[5/8] git commit: [flex-falcon] [refs/heads/develop] - handle ++

Posted by ah...@apache.org.
handle ++


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

Branch: refs/heads/develop
Commit: 6207b3c8aa4149838d3d9d0451d066c91954a145
Parents: f6c099b
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 07:58:22 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 07:58:22 2014 -0800

----------------------------------------------------------------------
 .../compiler/internal/codegen/as/ASEmitter.java |  6 ++-
 .../internal/codegen/as/ASEmitterTokens.java    |  2 +-
 .../codegen/js/flexjs/JSFlexJSEmitter.java      | 47 ++++++++++++++++++++
 .../js/flexjs/JSFlexJSEmitterTokens.java        |  4 ++
 4 files changed, 57 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6207b3c8/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 b84d1f2..9214d39 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
@@ -1465,11 +1465,15 @@ public class ASEmitter implements IASEmitter, IEmitter
 
     public String stringifyNode(IASNode node)
     {
+    	boolean oldBufferWrite = isBufferWrite();
+        StringBuilder oldBuilder = this.builder;
+        this.builder = new StringBuilder();
         setBufferWrite(true);
         getWalker().walk(node);
         String result = getBuilder().toString();
         getBuilder().setLength(0);
-        setBufferWrite(false);
+        this.builder = oldBuilder;
+        setBufferWrite(oldBufferWrite);
         return result;
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6207b3c8/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitterTokens.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitterTokens.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitterTokens.java
index fc1f1c7..d783109 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitterTokens.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitterTokens.java
@@ -139,7 +139,7 @@ public enum ASEmitterTokens implements IEmitterTokens
     //    int TOKEN_OPERATOR_BITWISE_RIGHT_SHIFT = 104;
     //    int TOKEN_OPERATOR_BITWISE_UNSIGNED_RIGHT_SHIFT = 105;
     MINUS("-"),
-    //    int TOKEN_OPERATOR_PLUS = 107;
+    PLUS("+"),
     //    int TOKEN_OPERATOR_DIVISION = 108;
     //    int TOKEN_OPERATOR_MODULO = 109;
     //    int TOKEN_OPERATOR_STAR = 110;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6207b3c8/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 e1c8758..7dbd74e 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
@@ -81,6 +81,7 @@ import org.apache.flex.compiler.tree.as.IIdentifierNode;
 import org.apache.flex.compiler.tree.as.IInterfaceNode;
 import org.apache.flex.compiler.tree.as.ILanguageIdentifierNode;
 import org.apache.flex.compiler.tree.as.ILiteralNode;
+import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
 import org.apache.flex.compiler.tree.as.ILiteralNode.LiteralType;
 import org.apache.flex.compiler.tree.as.IMemberAccessExpressionNode;
 import org.apache.flex.compiler.tree.as.IParameterNode;
@@ -1696,5 +1697,51 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
         write("E4XFilter");
         write(ASEmitterTokens.SINGLE_QUOTE);
     }
+    @Override
+    public void emitUnaryOperator(IUnaryOperatorNode node)
+    {
+        if (node.getNodeID() == ASTNodeID.Op_PreIncrID
+                || node.getNodeID() == ASTNodeID.Op_PreDecrID
+                || node.getNodeID() == ASTNodeID.Op_PostIncrID
+                || node.getNodeID() == ASTNodeID.Op_PostDecrID)
+        {
+            IExpressionNode opNode = node.getOperandNode();
+            String getString = stringifyNode(opNode);
+            int index = getString.lastIndexOf("get_");
+            if (index != -1)
+            {
+                write(JSFlexJSEmitterTokens.LANGUAGE_QNAME);
+                write(ASEmitterTokens.MEMBER_ACCESS);
+            	if (node.getNodeID() == ASTNodeID.Op_PreIncrID)
+            		write(JSFlexJSEmitterTokens.PREINCREMENT);
+            	else if (node.getNodeID() == ASTNodeID.Op_PostIncrID)
+            		write(JSFlexJSEmitterTokens.POSTINCREMENT);
+            	else if (node.getNodeID() == ASTNodeID.Op_PreDecrID)
+            		write(JSFlexJSEmitterTokens.PREDECREMENT);
+            	else
+            		write(JSFlexJSEmitterTokens.POSTDECREMENT);
+                write(ASEmitterTokens.PAREN_OPEN);
+                String obj = getString.substring(0, index - 1);
+                write(obj);
+                write(ASEmitterTokens.COMMA);
+            	String prop = getString.substring(index + 4);            	
+            	int endIndex = prop.indexOf(ASEmitterTokens.PAREN_OPEN.getToken());
+            	prop = prop.substring(0, endIndex);
+                write(ASEmitterTokens.DOUBLE_QUOTE);
+            	write(prop);
+                write(ASEmitterTokens.DOUBLE_QUOTE);
+                write(ASEmitterTokens.PAREN_CLOSE);
+                return;
+            }
+            else
+            {
+                write(ASEmitterTokens.PAREN_OPEN);
+                super.emitUnaryOperator(node);
+                write(ASEmitterTokens.PAREN_CLOSE);
+                return;
+            }
 
+        }
+        super.emitUnaryOperator(node);
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6207b3c8/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitterTokens.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitterTokens.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitterTokens.java
index 62a6919..c30dcbc 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitterTokens.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitterTokens.java
@@ -36,6 +36,10 @@ public enum JSFlexJSEmitterTokens implements IEmitterTokens
     UNDERSCORE("_"),
     IGNORE_COERCION("@flexjsignorecoercion"),
     IGNORE_IMPORT("@flexjsignoreimport"),
+    PREINCREMENT("preincrement"),
+    PREDECREMENT("predecrement"),
+    POSTINCREMENT("postincrement"),
+    POSTDECREMENT("postdecrement"),
     ;
 
     private String token;


[7/8] git commit: [flex-falcon] [refs/heads/develop] - allow omission of unused types from jsdoc

Posted by ah...@apache.org.
allow omission of unused types from jsdoc


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

Branch: refs/heads/develop
Commit: e7f31d1c50767e001db43fcdf8c0f13ce916ab6a
Parents: 2ee9fb2
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 16:46:57 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 16:46:57 2014 -0800

----------------------------------------------------------------------
 .../codegen/js/flexjs/JSFlexJSDocEmitter.java   | 47 +++++++++++++++++++-
 .../codegen/js/flexjs/JSFlexJSEmitter.java      | 32 ++++++++++++-
 .../codegen/js/goog/JSGoogDocEmitter.java       |  2 +-
 3 files changed, 76 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e7f31d1c/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
index 052547c..b676956 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
@@ -19,6 +19,8 @@
 
 package org.apache.flex.compiler.internal.codegen.js.flexjs;
 
+import java.util.ArrayList;
+
 import org.apache.flex.compiler.asdoc.flexjs.ASDocComment;
 import org.apache.flex.compiler.clients.MXMLJSC;
 import org.apache.flex.compiler.codegen.js.IJSEmitter;
@@ -33,7 +35,6 @@ import org.apache.flex.compiler.definitions.references.IReference;
 import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
 import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens;
 import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogDocEmitter;
-import org.apache.flex.compiler.internal.definitions.InterfaceDefinition;
 import org.apache.flex.compiler.internal.scopes.ASScope;
 import org.apache.flex.compiler.projects.ICompilerProject;
 import org.apache.flex.compiler.tree.as.IDefinitionNode;
@@ -49,9 +50,30 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter
         super(emitter);
     }
 
+    public ArrayList<String> classIgnoreList;
+    private ArrayList<String> ignoreList;
+    
+    @Override
+    protected String convertASTypeToJS(String name, String pname)
+    {
+    	if (ignoreList != null)
+    	{
+    		if (ignoreList.contains(pname + "." + name))
+    			return IASLanguageConstants.Object;
+    	}
+    	if (classIgnoreList != null)
+    	{
+    		if (classIgnoreList.contains(pname + "." + name))
+    			return IASLanguageConstants.Object;
+    	}
+    	return super.convertASTypeToJS(name, pname);
+    }
+
     @Override
     public void emitMethodDoc(IFunctionNode node, ICompilerProject project)
     {
+        ignoreList = null;
+        
         IClassDefinition classDefinition = resolveClassDefinition(node);
 
         ASDocComment asDoc = (ASDocComment) node.getASDocComment();
@@ -98,7 +120,13 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter
                 if (ns != null)
                 {
                     if (asDoc != null && MXMLJSC.keepASDoc)
+                    {
+                    	String docText = asDoc.commentNoEnd();
+    		            String ignoreToken = JSFlexJSEmitterTokens.IGNORE_COERCION.getToken();
+                    	if (docText.contains(ignoreToken))
+                    		loadIgnores(docText);
                         write(changeAnnotations(asDoc.commentNoEnd()));
+                    }
                     else
                         begin();
                     emitMethodAccess(node);
@@ -178,7 +206,22 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter
                 end();
         }
     }
-    
+
+    private void loadIgnores(String doc)
+    {
+    	ignoreList = new ArrayList<String>();
+    	String ignoreToken = JSFlexJSEmitterTokens.IGNORE_COERCION.getToken();
+    	int index = doc.indexOf(ignoreToken);
+    	while (index != -1)
+    	{
+        	String ignorable = doc.substring(index + ignoreToken.length());
+        	int endIndex = ignorable.indexOf("\n");
+        	ignorable = ignorable.substring(0, endIndex);
+        	ignorable = ignorable.trim();
+    		ignoreList.add(ignorable);
+    		index = doc.indexOf(ignoreToken, index + endIndex);
+    	}
+    }
     private String changeAnnotations(String doc)
     {
     	// rename these tags so they don't conflict with generated

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e7f31d1c/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 7dbd74e..5e4951b 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
@@ -29,6 +29,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.flex.compiler.asdoc.flexjs.ASDocComment;
+import org.apache.flex.compiler.clients.MXMLJSC;
 import org.apache.flex.compiler.codegen.IASGlobalFunctionConstants;
 import org.apache.flex.compiler.codegen.IDocEmitter;
 import org.apache.flex.compiler.codegen.js.flexjs.IJSFlexJSEmitter;
@@ -130,6 +131,10 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
     {
         thisClass = node.getDefinition();
 
+        ASDocComment asDoc = (ASDocComment) node.getASDocComment();
+        if (asDoc != null && MXMLJSC.keepASDoc)
+        	loadImportIgnores(asDoc.commentNoEnd());
+        
         project = getWalker().getProject();
 
         IClassDefinition definition = node.getDefinition();
@@ -200,7 +205,25 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
         }
     }
 
-    @Override
+    private void loadImportIgnores(String doc) 
+    {
+    	ArrayList<String> ignoreList = new ArrayList<String>();
+    	String ignoreToken = JSFlexJSEmitterTokens.IGNORE_IMPORT.getToken();
+    	int index = doc.indexOf(ignoreToken);
+    	while (index != -1)
+    	{
+        	String ignorable = doc.substring(index + ignoreToken.length());
+        	int endIndex = ignorable.indexOf("\n");
+        	ignorable = ignorable.substring(0, endIndex);
+        	ignorable = ignorable.trim();
+    		ignoreList.add(ignorable);
+    		index = doc.indexOf(ignoreToken, index + endIndex);
+    	}
+    	this.getDocEmitter();
+    	docEmitter.classIgnoreList = ignoreList;
+	}
+
+	@Override
     public void emitInterface(IInterfaceNode node)
     {
         ICompilerProject project = getWalker().getProject();
@@ -1260,10 +1283,14 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
         write("_");
     }
 
+    private JSFlexJSDocEmitter docEmitter = null;
+    
     @Override
     public IDocEmitter getDocEmitter()
     {
-        return new JSFlexJSDocEmitter(this);
+        if (docEmitter == null)
+        	docEmitter = new JSFlexJSDocEmitter(this);
+        return docEmitter;
     }
 
     @Override
@@ -1744,4 +1771,5 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
         }
         super.emitUnaryOperator(node);
     }
+    
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e7f31d1c/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
index 242cc4e..8986fa4 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
@@ -455,7 +455,7 @@ public class JSGoogDocEmitter extends JSDocEmitter implements IJSGoogDocEmitter
         return false;
     }
 
-    private String convertASTypeToJS(String name, String pname)
+    protected String convertASTypeToJS(String name, String pname)
     {
         String result = "";
 


[3/8] git commit: [flex-falcon] [refs/heads/develop] - fix simple array output

Posted by ah...@apache.org.
fix simple array output


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

Branch: refs/heads/develop
Commit: 7120b4016192f035e69340540aef232b7d92b0e2
Parents: 00147b6
Author: Alex Harui <ah...@apache.org>
Authored: Thu Nov 13 15:13:06 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Nov 13 15:13:06 2014 -0800

----------------------------------------------------------------------
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java        | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7120b401/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 4eeea84..43d2af2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -479,7 +479,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
             {
                 StringBuilder sb = new StringBuilder();
                 sb.append(asEmitter.stringifyNode(destNode));
-                writeNewline(sb.toString());
+                writeNewline(sb.toString() + ASEmitterTokens.COMMA.getToken());
             }
             else
                 writeNewline(ASEmitterTokens.NULL.getToken() + ASEmitterTokens.COMMA.getToken());
@@ -1463,18 +1463,28 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
         {
             final IASNode child = node.getChild(i);
             ASTNodeID nodeID = child.getNodeID();
-            if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID)
+            if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID || nodeID == ASTNodeID.MXMLStateID)
             {
                 isSimple = false;
                 break;
             }
         }
         boolean oldMakingSimpleArray = makingSimpleArray;
+        MXMLDescriptorSpecifier ps = getCurrentDescriptor("ps");
         if (isSimple)
+        {
         	makingSimpleArray = true;
+        	ps.value = ASEmitterTokens.SQUARE_OPEN.getToken();
+        }
         for (int i = 0; i < len; i++)
         {
             getMXMLWalker().walk(node.getChild(i)); // Instance
+            if (isSimple && i < len - 1)
+            	ps.value += ASEmitterTokens.COMMA.getToken();
+        }
+        if (isSimple)
+        {
+        	ps.value += ASEmitterTokens.SQUARE_CLOSE.getToken();        	
         }
         makingSimpleArray = oldMakingSimpleArray;
 


[6/8] git commit: [flex-falcon] [refs/heads/develop] - always use type for packagename in doc

Posted by ah...@apache.org.
always use type for packagename in doc


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

Branch: refs/heads/develop
Commit: 2ee9fb2a1d6f0182bbd1b496c158d140fdaeeeaa
Parents: 6207b3c
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 08:27:41 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 08:27:41 2014 -0800

----------------------------------------------------------------------
 .../compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2ee9fb2a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
index 044c2f7..052547c 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java
@@ -151,10 +151,7 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter
                             .resolveReturnType(project);
 
                     String packageName = "";
-                    if (tdef instanceof InterfaceDefinition)
-                        packageName = tdef.getPackageName();
-                    else
-                        packageName = node.getPackageName();
+                    packageName = tdef.getPackageName();
                     
                     emitReturn(node, packageName);
                 }


[8/8] git commit: [flex-falcon] [refs/heads/develop] - only wrap ++ in parens in certain cases

Posted by ah...@apache.org.
only wrap ++ in parens in certain cases


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

Branch: refs/heads/develop
Commit: 096bc85587edf2062408cd86971d06941ed747dd
Parents: e7f31d1
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 22:27:52 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 22:27:52 2014 -0800

----------------------------------------------------------------------
 .../internal/codegen/js/flexjs/JSFlexJSEmitter.java  | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/096bc855/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 5e4951b..52f5303 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
@@ -62,6 +62,7 @@ import org.apache.flex.compiler.internal.tree.as.ChainedVariableNode;
 import org.apache.flex.compiler.internal.tree.as.ClassNode;
 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.MemberAccessExpressionNode;
 import org.apache.flex.compiler.internal.tree.as.ParameterNode;
 import org.apache.flex.compiler.internal.tree.as.RegExpLiteralNode;
 import org.apache.flex.compiler.internal.tree.as.UnaryOperatorAtNode;
@@ -1762,10 +1763,16 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
             }
             else
             {
-                write(ASEmitterTokens.PAREN_OPEN);
-                super.emitUnaryOperator(node);
-                write(ASEmitterTokens.PAREN_CLOSE);
-                return;
+            	IASNode parentNode = node.getParent();
+            	if (parentNode.getNodeID() == ASTNodeID.MemberAccessExpressionID &&
+            			((MemberAccessExpressionNode)parentNode).getLeftOperandNode() == node)
+            	{
+            		// GCC wanted parens around foo++.toString().  As in (foo++).toString();
+	                write(ASEmitterTokens.PAREN_OPEN);
+	                super.emitUnaryOperator(node);
+	                write(ASEmitterTokens.PAREN_CLOSE);
+	                return;
+            	}
             }
 
         }


[4/8] git commit: [flex-falcon] [refs/heads/develop] - fix binding expressions

Posted by ah...@apache.org.
fix binding expressions


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

Branch: refs/heads/develop
Commit: f6c099b64a36526d2e77f5545e0bc3442981aa9e
Parents: 7120b40
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 07:58:10 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 07:58:10 2014 -0800

----------------------------------------------------------------------
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java   | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f6c099b6/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 43d2af2..7c59b1d 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -463,9 +463,20 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
                 List<IExpressionNode> getterNodes = bi.getExpressionNodesForGetter();
                 StringBuilder sb = new StringBuilder();
                 sb.append("function() { return ");
-                for (IExpressionNode getterNode : getterNodes)
+                int n = getterNodes.size();
+                for (int i = 0; i < n; i++)
                 {
-                    sb.append(asEmitter.stringifyNode(getterNode));
+                	IExpressionNode getterNode = getterNodes.get(i);
+                	if (getterNode.getNodeID() == ASTNodeID.LiteralStringID)
+                	{
+                		sb.append(ASEmitterTokens.DOUBLE_QUOTE.getToken());
+                		sb.append(asEmitter.stringifyNode(getterNode));
+                		sb.append(ASEmitterTokens.DOUBLE_QUOTE.getToken());
+                	}
+                	else
+                		sb.append(asEmitter.stringifyNode(getterNode));
+                    if (i < n - 1)
+                    	sb.append(ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.PLUS.getToken() + ASEmitterTokens.SPACE.getToken());
                 }
                 sb.append("; },");
                 writeNewline(sb.toString());
@@ -1439,7 +1450,9 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     	else
     	{
             MXMLDescriptorSpecifier ps = getCurrentDescriptor("ps");
-            ps.value = "{";	
+            if (ps.value == null)
+            	ps.value = "";
+            ps.value += "{";	
             for (int i = 0; i < len; i++)
             {
                 IMXMLPropertySpecifierNode propName = (IMXMLPropertySpecifierNode)node.getChild(i);


[2/8] git commit: [flex-falcon] [refs/heads/develop] - fix css output

Posted by ah...@apache.org.
fix css output


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

Branch: refs/heads/develop
Commit: 00147b62490e0e4df52024ca875aeb9d432b423d
Parents: 5354db8
Author: Alex Harui <ah...@apache.org>
Authored: Thu Nov 13 15:12:46 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Nov 13 15:12:46 2014 -0800

----------------------------------------------------------------------
 .../internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00147b62/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java
index 6e62dbe..d4a613e 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSBlockWalker.java
@@ -106,7 +106,7 @@ public class MXMLFlexJSBlockWalker extends MXMLBlockWalker
             return;
         
         session.setKeepAllTypeSelectors(true);
-        encodedCSS += ((JSCSSCompilationSession)session).getEncodedCSS(flexProject, problems);
+        encodedCSS = ((JSCSSCompilationSession)session).getEncodedCSS(flexProject, problems);
     }
 
 }