Compiler: fixed issue where adding an id to a fx:Vector when using -keep 
compiler argument would result in a compiler error because the wrong class was 
imported in the generated code for the bindable property.

 getMultiName() in flex2.compiler.as3.binding.Info wasn't treating 
__AS3__.vec.Vector.<T> the same as __AS3__.vec:Vector.<T>, causing it to return 
the wrong namespace and class name.


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

Branch: refs/heads/develop
Commit: ab27364581abb4476132ef2b1cdbcb90d2514331
Parents: ffdb071
Author: Josh Tynjala <[email protected]>
Authored: Tue May 26 15:14:53 2015 -0700
Committer: Josh Tynjala <[email protected]>
Committed: Tue May 26 15:14:53 2015 -0700

----------------------------------------------------------------------
 .../src/java/flex2/compiler/as3/binding/Info.java        | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/ab273645/modules/compiler/src/java/flex2/compiler/as3/binding/Info.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flex2/compiler/as3/binding/Info.java 
b/modules/compiler/src/java/flex2/compiler/as3/binding/Info.java
index 73ccbdd..f8b4fac 100644
--- a/modules/compiler/src/java/flex2/compiler/as3/binding/Info.java
+++ b/modules/compiler/src/java/flex2/compiler/as3/binding/Info.java
@@ -262,7 +262,16 @@ abstract class Info
 
         if (lastIndex < 0)
         {
-            lastIndex = name.lastIndexOf(".");
+            // check for __AS3__.vec.Vector.<T>
+            int dotLessThanIndex = name.lastIndexOf(".<");
+            if (dotLessThanIndex != -1)
+            {
+                lastIndex = name.lastIndexOf(".", dotLessThanIndex - 1);
+            }
+            else
+            {
+                lastIndex = name.lastIndexOf(".");
+            }
         }
 
         if (lastIndex > 0)

Reply via email to