Repository: flex-falcon Updated Branches: refs/heads/develop 3bcbbffc8 -> c054eae5a
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/develop Commit: c054eae5ae416cd8e6675dc88cd255a9a47f8029 Parents: 3bcbbff Author: Alex Harui <[email protected]> Authored: Sat Apr 9 23:42:25 2016 -0700 Committer: Alex Harui <[email protected]> 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); }
