Repository: flex-falcon
Updated Branches:
  refs/heads/develop 251672631 -> 7676cf9c7


don't do removes from within the iterator


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/7676cf9c
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/7676cf9c
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/7676cf9c

Branch: refs/heads/develop
Commit: 7676cf9c7da9fae567e1548a96fcd3b0816d33e7
Parents: 2516726
Author: Alex Harui <[email protected]>
Authored: Tue Mar 28 13:45:31 2017 -0700
Committer: Alex Harui <[email protected]>
Committed: Tue Mar 28 13:49:24 2017 -0700

----------------------------------------------------------------------
 .../internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java       | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7676cf9c/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 560927c..74fa0a5 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
@@ -160,12 +160,17 @@ public class MXMLFlexJSEmitter extends MXMLEmitter 
implements
                 .getASEmitter();
 
         String currentClassName = 
fjs.getModel().getCurrentClass().getQualifiedName();
+        ArrayList<String> removals = new ArrayList<String>();
         for (String usedName : asEmitterUsedNames) {
             //remove any internal component that has been registered with the 
other emitter's usedNames
             if (usedName.startsWith(currentClassName+".") && 
subDocumentNames.contains(usedName.substring(currentClassName.length()+1))) {
-                asEmitterUsedNames.remove(usedName);
+                removals.add(usedName);
             }
         }
+        for (String usedName : removals)
+        {
+               asEmitterUsedNames.remove(usedName);
+        }
         System.out.println(currentClassName + " as: " + 
asEmitterUsedNames.toString());
         System.out.println(currentClassName + " mxml: " + 
usedNames.toString());
         usedNames.addAll(asEmitterUsedNames);

Reply via email to