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)
