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/06/26 15:44:50 UTC
[10/50] git commit: [flex-falcon] [refs/heads/master] - don't put
external library dependencies in the requires
don't put external library dependencies in the requires
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/faec4e06
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/faec4e06
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/faec4e06
Branch: refs/heads/master
Commit: faec4e06a1390d709e5255826f2f4ba1a1e0769a
Parents: 8511fac
Author: Alex Harui <ah...@apache.org>
Authored: Wed May 3 21:45:38 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed May 3 21:45:38 2017 -0700
----------------------------------------------------------------------
.../internal/codegen/js/flexjs/JSFlexJSEmitter.java | 13 ++++++++++++-
.../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 13 ++++++++++++-
2 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
index 897408f..2d7b257 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
@@ -101,6 +101,7 @@ import org.apache.flex.compiler.tree.as.ISetterNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
+import org.apache.flex.compiler.units.ICompilationUnit;
import org.apache.flex.compiler.utils.ASNodeUtils;
import com.google.common.base.Joiner;
@@ -551,7 +552,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
if (!staticUsedNames.contains(name) && !NativeUtils.isJSNative(name))
staticUsedNames.add(name);
- if (!usedNames.contains(name))
+ if (!usedNames.contains(name) && !isExternal(name))
usedNames.add(name);
}
return name;
@@ -1286,4 +1287,14 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
{
write(JSFlexJSEmitterTokens.VECTOR);
}
+
+ boolean isExternal(String className)
+ {
+ ICompilerProject project = getWalker().getProject();
+ ICompilationUnit cu = project.resolveQNameToCompilationUnit(className);
+ if (cu == null) return false; // unit testing
+
+ return ((FlexJSProject)project).isExternalLinkage(cu);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 573e0ff..0fbf7ac 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -278,6 +278,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
boolean firstOne = true;
for (String mixin : mixins)
{
+ if (isExternal(mixin))
+ continue;
if (!firstOne)
mixinInject += ", ";
mixinInject += mixin;
@@ -2695,7 +2697,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
if (subDocumentNames.contains(name))
return documentDefinition.getQualifiedName() + "." + name;
if (NativeUtils.isJSNative(name)) return name;
- if (useName && !usedNames.contains(name))
+ if (useName && !usedNames.contains(name) && !isExternal(name))
usedNames.add(name);
return name;
}
@@ -2791,4 +2793,13 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
interfaceList = list.toString();
}
+ boolean isExternal(String className)
+ {
+ ICompilerProject project = getMXMLWalker().getProject();
+ ICompilationUnit cu = project.resolveQNameToCompilationUnit(className);
+ if (cu == null) return false; // unit testing
+
+ return ((FlexJSProject)project).isExternalLinkage(cu);
+ }
+
}