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

Reply via email to