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)) ||