|
@@ -42,6 +42,12 @@ class Calls extends TestCase {
|
|
|
var cSub:CallClass = new CallClassChild();
|
|
|
var cInterface:CallInterface = c;
|
|
|
var cAnon:{ function instanceCall0():String; } = c;
|
|
|
+ var cActualAnon = {
|
|
|
+ instanceCall0: function ():String {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ escape(cActualAnon);
|
|
|
var cDynamic:Dynamic = c;
|
|
|
var staticClosureCall0 = CallClass.staticCall0;
|
|
|
var memberClosureCall0 = c.instanceCall0;
|
|
@@ -54,7 +60,8 @@ class Calls extends TestCase {
|
|
|
suite.add("override", cSub.overrideCall0());
|
|
|
suite.add("final", cSub.finalCall0());
|
|
|
suite.add("interface", cInterface.instanceCall0());
|
|
|
- suite.add("anon", cAnon.instanceCall0());
|
|
|
+ suite.add("class-to-anon", cAnon.instanceCall0());
|
|
|
+ suite.add("anon", cActualAnon.instanceCall0());
|
|
|
suite.add("dynamic", cDynamic.instanceCall0());
|
|
|
suite.add("local function", localFunctionCall0());
|
|
|
suite.add("local closure", closureCall0());
|
|
@@ -71,6 +78,12 @@ class Calls extends TestCase {
|
|
|
var cAnon:{
|
|
|
function instanceCall1(s1:String):String;
|
|
|
} = c;
|
|
|
+ var cActualAnon = {
|
|
|
+ instanceCall1: function (s1:String):String {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ escape(cActualAnon);
|
|
|
var cDynamic:Dynamic = c;
|
|
|
var staticClosureCall1 = CallClass.staticCall1;
|
|
|
var memberClosureCall1 = c.instanceCall1;
|
|
@@ -83,7 +96,8 @@ class Calls extends TestCase {
|
|
|
suite.add("override", cSub.overrideCall1("foo"));
|
|
|
suite.add("final", cSub.finalCall1("foo"));
|
|
|
suite.add("interface", cInterface.instanceCall1("foo"));
|
|
|
- suite.add("anon", cAnon.instanceCall1("foo"));
|
|
|
+ suite.add("class-to-anon", cAnon.instanceCall1("foo"));
|
|
|
+ suite.add("anon", cActualAnon.instanceCall1("foo"));
|
|
|
suite.add("dynamic", cDynamic.instanceCall1("foo"));
|
|
|
suite.add("local function", localFunctionCall1("foo"));
|
|
|
suite.add("local closure", closureCall1("foo"));
|
|
@@ -100,6 +114,12 @@ class Calls extends TestCase {
|
|
|
var cAnon:{
|
|
|
function instanceCall2(s1:String, s2:String):String;
|
|
|
} = c;
|
|
|
+ var cActualAnon = {
|
|
|
+ instanceCall2: function (s1:String, s2:String):String {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ escape(cActualAnon);
|
|
|
var cDynamic:Dynamic = c;
|
|
|
var staticClosureCall2 = CallClass.staticCall2;
|
|
|
var memberClosureCall2 = c.instanceCall2;
|
|
@@ -112,7 +132,8 @@ class Calls extends TestCase {
|
|
|
suite.add("override", cSub.overrideCall2("foo", "bar"));
|
|
|
suite.add("final", cSub.finalCall2("foo", "bar"));
|
|
|
suite.add("interface", cInterface.instanceCall2("foo", "bar"));
|
|
|
- suite.add("anon", cAnon.instanceCall2("foo", "bar"));
|
|
|
+ suite.add("class-to-anon", cAnon.instanceCall2("foo", "bar"));
|
|
|
+ suite.add("anon", cActualAnon.instanceCall2("foo", "bar"));
|
|
|
suite.add("dynamic", cDynamic.instanceCall2("foo", "bar"));
|
|
|
suite.add("local function", localFunctionCall2("foo", "bar"));
|
|
|
suite.add("local closure", closureCall2("foo", "bar"));
|
|
@@ -120,4 +141,6 @@ class Calls extends TestCase {
|
|
|
suite.add("field closure", memberClosureCall2("foo", "bar"));
|
|
|
return suite.run();
|
|
|
}
|
|
|
+
|
|
|
+ static function escape(d:Dynamic) { }
|
|
|
}
|