X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fok%2Freconcile.as;h=3c99727475008f05a4c6f397b72b0db054acddbb;hb=4dacf8e5890fb8cd0f53afbd4305c8b9ff9e7986;hp=86574a5ccfc6a40e64e6178a931acac03e857ad9;hpb=d9ef7c0f7757575fb40ba2a59b5cac201a5c27fc;p=swftools.git diff --git a/lib/as3/ok/reconcile.as b/lib/as3/ok/reconcile.as index 86574a5..3c99727 100644 --- a/lib/as3/ok/reconcile.as +++ b/lib/as3/ok/reconcile.as @@ -13,7 +13,7 @@ if(dataBuffer) break; } - trace("ok 1/7"); + trace("ok 1/9"); } public function test2() { @@ -21,7 +21,7 @@ while(output.length<1) { output += "abc".charAt(0); } - trace("ok 2/7"); + trace("ok 2/9"); } public function test3() { @@ -32,7 +32,7 @@ } break; } - trace("ok 3/7"); + trace("ok 3/9"); } public var b:Boolean = false; @@ -44,7 +44,7 @@ x = x+y; y = y+x; } - trace("ok 4/7"); + trace("ok 4/9"); } public function test5() { var x:int; @@ -54,19 +54,142 @@ x = x*y; z = x*z; } - trace("ok 5/7"); + trace("ok 5/9"); } public function test6() { var i:int = b?3.0:3; var j:uint = b?3:"abc"; - trace("ok 6/7"); + trace("ok 6/9"); } public function test7() { var j:Number = 0; if(b) { j += 8; } - trace("ok 7/7"); + trace("ok 7/9"); + } + public function s():String { + return "x"; + } + public function test8() { + var x:String = "abcd"; + + var i:String = "test"; + // test return types of system libraries + if(!b) { + i = x.charAt(0); + } + var a = "test"; + // test return types of system libraries + if(!b) { + a = x.charAt(0); + } + + // ...and local functions + if(!b) { + i = s(); + } + trace("ok 8/9"); + } + + public function test_add() { + var i:int = 3; + var s:String = "4"; + var any1 = "any1"; + var any2 = "any2"; + var xml:XML = + var xmllist:XMLList = XMLList() + var d1:Date = new Date(); + var d2:Date = new Date(); + var array1:Array = [1]; + var array2:Array = [1,2]; + + /* int+String */ + var z1a:Object; + var z1b:String; + if(b) { + z1a = i+s; + z1b = i+s; + } + + /* String+int */ + var z2a:Object; + var z2b:String; + if(b) { + z2a = s+i; + z2b = s+i; + } + + /* any+any */ + var z3a:*; + var z3b:Object; + if(b) { + z3a = any1+any2; + z3b = any1+any2; + } + + /* any+String */ + var z4a:Object; + var z4b:*; + if(b) { + z4a = any1+s; + z4b = any1+s; + } + + /* xml+xmllist */ + var z5a:Object; + var z5b:XMLList; + if(b) { + z5a = xml+xmllist; + z5b = xml+xmllist; + } + + /* xmllist+xml */ + var z6:Object; + if(b) { + z6 = xmllist+xml; + } + + /* xml+any */ + var z7a:*; + var z7b:XMLList; + if(b) { + z7a = xml+any1; + z7b = xml+any1; + } + + /* date+date */ + var z8a:Object; + var z8b:String; + if(b) { + z8a = d1+d2; + z8b = d1+d2; + } + + /* date+any */ + var z9a:Object; + var z9b:String; + if(b) { + z9a = d1+any1; + z9b = d1+any1; + } + + /* any+date */ + var z10a:Object; + var z10b:*; + if(b) { + z10a = any1+d1; + z10b = any1+d1; + } + + /* array+array */ + var z11a:Object; + var z11b:Array; + if(b) { + z11a = array1+array2; + z11b = array1+array2; + } + trace("ok 9/9"); } public function Main() { @@ -77,6 +200,8 @@ test5(); test6(); test7(); + test8(); + test_add(); trace("[exit]"); }