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 2017/03/30 19:16:30 UTC

[1/4] git commit: [flex-falcon] [refs/heads/develop] - make sure impls are in main deps list

Repository: flex-falcon
Updated Branches:
  refs/heads/develop f11724087 -> a8f7a5cc0


make sure impls are in main deps list


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

Branch: refs/heads/develop
Commit: 2bab63deb151905254060c90f889c95ac11e4a46
Parents: f117240
Author: Alex Harui <ah...@apache.org>
Authored: Wed Mar 29 23:05:28 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Mar 29 23:05:28 2017 -0700

----------------------------------------------------------------------
 .../compiler/internal/graph/GoogDepsWriter.java   | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2bab63de/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
index 8efaf77..c4f841d 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
@@ -156,16 +156,28 @@ public class GoogDepsWriter {
 			// get the list of all units not referenced by other units
 			for (GoogDep gd : depMap.values())
 			{
-				if (gd.className.equals(mainName)) continue;
+				if (gd.className.equals(mainName)) 
+				{
+					for (String d : gd.fileInfo.impls)
+					{
+						if (!restOfDeps.contains(d))
+							restOfDeps.add(d);
+					}
+					continue;
+				}
 				ICompilationUnit unit = requireMap.get(gd.className);
 				if (unit == null)
 				{
-					restOfDeps.add(gd.className);
+					if (!restOfDeps.contains(gd.className))
+						restOfDeps.add(gd.className);
 					continue;
 				}
 				Set<ICompilationUnit> deps = graph.getDirectReverseDependencies(unit, dependencyTypes);
 				if (deps.size() == 0)
-					restOfDeps.add(gd.className);
+				{
+					if (!restOfDeps.contains(gd.className))
+						restOfDeps.add(gd.className);
+				}
 			}
 			mainDeps.append(getDependencies(restOfDeps)).append("]);\n");
 			sb.insert(0, mainDeps);


[2/4] git commit: [flex-falcon] [refs/heads/develop] - handle subcomponents

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


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

Branch: refs/heads/develop
Commit: 1de54cf60c37434cb92b84275e5831818824a1cb
Parents: 2bab63d
Author: Alex Harui <ah...@apache.org>
Authored: Thu Mar 30 11:57:38 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Mar 30 11:57:38 2017 -0700

----------------------------------------------------------------------
 .../compiler/internal/graph/GoogDepsWriter.java   | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1de54cf6/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
index c4f841d..48937fd 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
@@ -515,7 +515,10 @@ public class GoogDepsWriter {
 	{
 		FileInfo fi = new FileInfo();
 		
+		int numProvides = 0;
+		int constructorCount = 0;
 	    int n = lines.size();
+	    fi.constructorLine = -1;
 	    fi.suppressLine = -1;
 	    fi.fileoverviewLine = -1;
 	    fi.googProvideLine = -1;
@@ -525,7 +528,7 @@ public class GoogDepsWriter {
 	        String line = lines.get(i);
 	        int c2;
 	        int c = line.indexOf("*/");
-	        if (c > -1 && fi.constructorLine > 0)
+	        if (c > -1 && constructorCount > 0 && constructorCount == numProvides)
 	        {
                 return fi;
 	        }
@@ -551,7 +554,12 @@ public class GoogDepsWriter {
                 }
 		        c = line.indexOf("@constructor");
 		        if (c > -1)
-		        	fi.constructorLine = i;
+		        {
+		        	if (fi.constructorLine == -1)
+		        		fi.constructorLine = i;
+		        	constructorCount++;
+		        		
+		        }
 		        else
 		        {
 			        c = line.indexOf("@interface");
@@ -571,7 +579,11 @@ public class GoogDepsWriter {
 				        	{
 					        	c = line.indexOf("goog.provide");
 					        	if (c > -1)
-					        		fi.googProvideLine = i;
+					        	{
+					        		if (fi.googProvideLine == -i)
+					        			fi.googProvideLine = i;
+					        		numProvides++;
+					        	}
 					        	else
 					        	{
 					        		c = line.indexOf("@implements");


[4/4] git commit: [flex-falcon] [refs/heads/develop] - parseFloat and others don't have a node?

Posted by ah...@apache.org.
parseFloat and others don't have a node?


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

Branch: refs/heads/develop
Commit: a8f7a5cc0a5f4e7f62335bba311ab23ce0cad20c
Parents: 5331a77
Author: Alex Harui <ah...@apache.org>
Authored: Thu Mar 30 12:16:15 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Mar 30 12:16:15 2017 -0700

----------------------------------------------------------------------
 .../flex/compiler/internal/codegen/js/jx/FieldEmitter.java    | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/a8f7a5cc/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
index 7fabff0..07d23a3 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
@@ -122,8 +122,11 @@ public class FieldEmitter extends JSSubEmitter implements
             		// otherwise it would be a memberaccessexpression?
             		FunctionDefinition fd = (FunctionDefinition)fcn.getNameNode().resolve(getProject());
             		IASNode m = fd.getNode();
-            		// re-emit it to collect static initializer class references in usedNames
-            		getEmitter().stringifyNode(m);
+            		if (m != null)
+            		{
+	            		// re-emit it to collect static initializer class references in usedNames
+	            		getEmitter().stringifyNode(m);
+            		}
             	}
             }
         	getModel().inStaticInitializer = false;


[3/4] git commit: [flex-falcon] [refs/heads/develop] - handle simple static initialization via function calls

Posted by ah...@apache.org.
handle simple static initialization via function calls


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

Branch: refs/heads/develop
Commit: 5331a7703e0e16f69f1cf66c9746419c529e23be
Parents: 1de54cf
Author: Alex Harui <ah...@apache.org>
Authored: Thu Mar 30 11:57:56 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Mar 30 11:57:56 2017 -0700

----------------------------------------------------------------------
 .../internal/codegen/js/jx/FieldEmitter.java        | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5331a770/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
index 7029028..7fabff0 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/FieldEmitter.java
@@ -31,7 +31,10 @@ import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens;
 import org.apache.flex.compiler.internal.codegen.js.JSSessionModel.BindableVarInfo;
 import org.apache.flex.compiler.internal.codegen.js.JSSubEmitter;
 import org.apache.flex.compiler.internal.codegen.js.utils.EmitterUtils;
+import org.apache.flex.compiler.internal.definitions.FunctionDefinition;
 import org.apache.flex.compiler.internal.tree.as.ChainedVariableNode;
+import org.apache.flex.compiler.internal.tree.as.FunctionCallNode;
+import org.apache.flex.compiler.internal.tree.as.IdentifierNode;
 import org.apache.flex.compiler.tree.ASTNodeID;
 import org.apache.flex.compiler.tree.as.IASNode;
 import org.apache.flex.compiler.tree.as.IExpressionNode;
@@ -110,6 +113,19 @@ public class FieldEmitter extends JSSubEmitter implements
         {
         	getModel().inStaticInitializer = ndef.isStatic();
             String vnodeString = getEmitter().stringifyNode(vnode);
+            if (ndef.isStatic() && vnode instanceof FunctionCallNode)
+            {
+            	FunctionCallNode fcn = (FunctionCallNode)vnode;
+            	if (fcn.getNameNode() instanceof IdentifierNode)
+            	{
+            		// assume this is a call to static method in the class
+            		// otherwise it would be a memberaccessexpression?
+            		FunctionDefinition fd = (FunctionDefinition)fcn.getNameNode().resolve(getProject());
+            		IASNode m = fd.getNode();
+            		// re-emit it to collect static initializer class references in usedNames
+            		getEmitter().stringifyNode(m);
+            	}
+            }
         	getModel().inStaticInitializer = false;
         	if ((ndef.isStatic() && !EmitterUtils.needsStaticInitializer(vnodeString, className)) || 
         			(!ndef.isStatic() && EmitterUtils.isScalar(vnode)) ||