You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/01/06 16:43:31 UTC
[4/4] git commit: [flex-falcon] [refs/heads/develop] - Cleaned up
special case code for toString()
Cleaned up special case code for toString()
Fixes missing toString() in generated Date.as and others
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/d868ffda
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/d868ffda
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/d868ffda
Branch: refs/heads/develop
Commit: d868ffda1a2c8a91e4752412b53bcafe868a20f1
Parents: ef2ed76
Author: Andy Dufilie <an...@iweave.com>
Authored: Tue Jan 5 10:06:55 2016 -0500
Committer: Andy Dufilie <an...@iweave.com>
Committed: Wed Jan 6 09:21:36 2016 -0500
----------------------------------------------------------------------
.../codegen/externals/reference/ClassReference.java | 12 ++++++++++--
.../codegen/externals/reference/MethodReference.java | 12 ++++--------
2 files changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d868ffda/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/ClassReference.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/ClassReference.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/ClassReference.java
index 59c5859..405aaa0 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/ClassReference.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/ClassReference.java
@@ -572,9 +572,17 @@ public class ClassReference extends BaseReference
MethodReference method = new MethodReference(getModel(), this, node, functionName, comment, isStatic);
if (isStatic)
- staticMethods.put(functionName, method);
+ {
+ staticMethods.put(functionName, method);
+ }
+ else if (getQualifiedName().equals("Object") && functionName.equals("toString"))
+ {
+ // skipping Object.prototype.toString() allows toString(opt_radix) for Number, int and uint
+ }
else
- instanceMethods.put(functionName, method);
+ {
+ instanceMethods.put(functionName, method);
+ }
return method;
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d868ffda/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/MethodReference.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/MethodReference.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/MethodReference.java
index 58b7034..96aa9f2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/MethodReference.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/MethodReference.java
@@ -140,11 +140,8 @@ public class MethodReference extends MemberReference
}
String qName = getQualifiedName();
- // allow overrides of toString for Number, int and uint
- if (!qName.equals("toString") && getClassReference().hasSuperMethod(qName))
- return;
- else if (qName.equals("toString") &&
- !(className.equals("Number") || className.equals("int") || className.equals("uint")))
+ // skip overrides since they have to have the same signature as the super method
+ if (getClassReference().hasSuperMethod(qName))
return;
emitComment(sb);
@@ -198,10 +195,9 @@ public class MethodReference extends MemberReference
braces = " { " + returns + " }";
}
- // allow overrides of toString for Number
- if (qName.equals("toString") && getClassReference().hasSuperMethod(qName))
+ if (getClassReference().hasSuperMethod(qName))
{
- publicModifier = "AS3 ";
+ isOverride = "override ";
}
if (outputJS)