compiler.jx: externc can now handle templates on fields
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/b1bfa692 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/b1bfa692 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/b1bfa692 Branch: refs/heads/feature/maven-migration-test Commit: b1bfa692007d10de4ee3f3b9a8434e36aaae462d Parents: a6887f8 Author: Josh Tynjala <joshtynj...@apache.org> Authored: Wed Apr 20 10:31:23 2016 -0700 Committer: Josh Tynjala <joshtynj...@apache.org> Committed: Wed Apr 20 10:31:23 2016 -0700 ---------------------------------------------------------------------- .../codegen/externals/reference/FieldReference.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b1bfa692/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java index d99a66d..e01a72a 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java @@ -20,6 +20,7 @@ package org.apache.flex.compiler.internal.codegen.externals.reference; import org.apache.flex.compiler.clients.ExternCConfiguration.ExcludedMember; +import org.apache.flex.compiler.internal.codegen.externals.utils.FunctionUtils; import org.apache.flex.compiler.internal.codegen.externals.utils.JSTypeUtils; import com.google.javascript.rhino.JSDocInfo; @@ -220,7 +221,13 @@ public class FieldReference extends MemberReference { if (overrideStringType != null) return overrideStringType; - return JSTypeUtils.toFieldTypeString(this); + String typeString = JSTypeUtils.toFieldTypeString(this); + if (FunctionUtils.hasTemplate(this) + && FunctionUtils.containsTemplate(this, typeString)) + { + return "Object"; + } + return typeString; } @Override