You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2016/04/11 16:00:14 UTC
[47/50] git commit: [flex-falcon]
[refs/heads/feature/maven-migration] - add XML require to MXML files as well
add XML require to MXML files as well
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/c054eae5
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/c054eae5
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/c054eae5
Branch: refs/heads/feature/maven-migration
Commit: c054eae5ae416cd8e6675dc88cd255a9a47f8029
Parents: 3bcbbff
Author: Alex Harui <ah...@apache.org>
Authored: Sat Apr 9 23:42:25 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Apr 9 23:43:43 2016 -0700
----------------------------------------------------------------------
.../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c054eae5/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 a3dfac8..dde558f 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
@@ -36,6 +36,7 @@ import org.apache.flex.abc.semantics.Namespace;
import org.apache.flex.compiler.codegen.as.IASEmitter;
import org.apache.flex.compiler.codegen.mxml.flexjs.IMXMLFlexJSEmitter;
import org.apache.flex.compiler.constants.IASKeywordConstants;
+import org.apache.flex.compiler.constants.IASLanguageConstants;
import org.apache.flex.compiler.definitions.IClassDefinition;
import org.apache.flex.compiler.definitions.IDefinition;
import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
@@ -157,6 +158,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
IASEmitter asEmitter = ((IMXMLBlockWalker) getMXMLWalker()).getASEmitter();
usedNames.addAll(((JSFlexJSEmitter)asEmitter).usedNames);
+ boolean foundXML = false;
String[] lines = output.split("\n");
ArrayList<String> finalLines = new ArrayList<String>();
boolean sawRequires = false;
@@ -170,6 +172,10 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
{
int c2 = line.indexOf(")");
String s = line.substring(c + 14, c2 - 1);
+ if (s.equals(IASLanguageConstants.XML))
+ {
+ foundXML = true;
+ }
sawRequires = true;
if (!usedNames.contains(s))
continue;
@@ -179,6 +185,20 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
}
finalLines.add(line);
}
+ boolean needXML = ((FlexJSProject)(((IMXMLBlockWalker) getMXMLWalker()).getProject())).needXML;
+ if (needXML && !foundXML)
+ {
+ StringBuilder appendString = new StringBuilder();
+ appendString.append(JSGoogEmitterTokens.GOOG_REQUIRE.getToken());
+ appendString.append(ASEmitterTokens.PAREN_OPEN.getToken());
+ appendString.append(ASEmitterTokens.SINGLE_QUOTE.getToken());
+ appendString.append(IASLanguageConstants.XML);
+ appendString.append(ASEmitterTokens.SINGLE_QUOTE.getToken());
+ appendString.append(ASEmitterTokens.PAREN_CLOSE.getToken());
+ appendString.append(ASEmitterTokens.SEMICOLON.getToken());
+ finalLines.add(appendString.toString());
+ // TODO (aharui) addLineToMappings(finalLines.size());
+ }
return Joiner.on("\n").join(finalLines);
}