AIRでArray push時の謎bug解消法
下記の珍百景バグですが、pushの引数を複数指定した際に、カンマが抜けていたため発生していました。なおArrayにArray(その中身はString)をpushした際に発生。
because missing array push method inner argument split commma.
typecheck com.test.arraybug::Data_GameOverTips/getGameOverTips() outer-scope = [global Object$ com.test.arraybug::Data_GameOverTips$] [com.test.arraybug::Data_GameOverTips~[O] *[A]] {} () 0:debugfile "C:\ArrayBugTest.as" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {} () 3:debugline 7 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {} () 5:getlocal0 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {} (com.test.arraybug::Data_GameOverTips~[O]) 6:pushscope [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} () 7:debug [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} () 13:pushstring "array value1-1-1" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (String~[S]) 16:pushstring "array value1-1-2" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (String~[S] String~[S]) 19:debugline 9 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (String~[S] String~[S]) 21:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) 23:pushstring "array value1-2-1" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S]) 26:pushstring "array value1-2-2" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 29:debugline 10 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 31:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O]) 33:pushstring "array value1-3-1" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S]) 36:pushstring "array value1-3-2" [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 39:debugline 11 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 41:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O]) 43:newarray 3 [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) 45:coerce Array [com.test.arraybug::Data_GameOverTips~[O] *[A]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) 47:setlocal1 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 48:debugline 14 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 50:getlex 5034 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (com.test.arraybug::Vars$[O]) 53:getproperty {com.test.arraybug:Data_GameOverTips,public,Data_GameOverTips.as$459,com.test.arraybug,com.test.arraybug,http://adobe.com/AS3/2006/builtin,com.test.arraybug:Data_GameOverTips,com.test.arraybug:Data_GameOverTips}::_currentStage [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (int[I]) 56:pushbyte 4 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (int[I] int[I]) 58:ifngt 89 ------------------------------------ MERGE FIRST B89: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () ------------------------------------ [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 62:debugline 15 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 64:getlocal1 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) 65:pushstring "array value2-1-1" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S]) 68:pushstring "array value2-1-2" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 71:debugline 16 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 73:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O]) 75:pushstring "array value2-2-1" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S]) 78:pushstring "array value2-2-2" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 81:debugline 17 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 83:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O]) 85:callpropvoid {com.test.arraybug:Data_GameOverTips,public,Data_GameOverTips.as$459,com.test.arraybug,com.test.arraybug,http://adobe.com/AS3/2006/builtin,com.test.arraybug:Data_GameOverTips,com.test.arraybug:Data_GameOverTips}::push 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () ------------------------------------ MERGE CURRENT 89: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () MERGE TARGET B89: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () AFTER MERGE B89: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () ------------------------------------ B89: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 89:debugline 20 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 91:getlex 5034 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (com.test.arraybug::Vars$[O]) 94:getproperty {com.test.arraybug:Data_GameOverTips,public,Data_GameOverTips.as$459,com.test.arraybug,com.test.arraybug,http://adobe.com/AS3/2006/builtin,com.test.arraybug:Data_GameOverTips,com.test.arraybug:Data_GameOverTips}::_currentStage [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (int[I]) 97:pushbyte 8 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (int[I] int[I]) 99:ifngt 141 ------------------------------------ MERGE FIRST B141: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () ------------------------------------ [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 103:debugline 21 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} () 105:getlocal1 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) 106:pushstring "array value3-1-1" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S]) 109:pushstring "array value3-1-2" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 112:debugline 22 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] String~[S] String~[S]) 114:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O]) 116:pushstring "array value3-2-1" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S]) 119:pushstring "array value3-2-2" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 122:debugline 23 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] String~[S] String~[S]) 124:newarray 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O]) 126:pushstring "array value3-3-1" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O] String~[S]) 129:pushstring "array value3-3-2" [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O] String~[S] String~[S]) 132:debugline 24 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O] String~[S] String~[S]) 134:getproperty {com.test.arraybug:Data_GameOverTips,public,Data_GameOverTips.as$459,com.test.arraybug,com.test.arraybug,http://adobe.com/AS3/2006/builtin,com.test.arraybug:Data_GameOverTips,com.test.arraybug:Data_GameOverTips}::[] [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O] Array~[O] Array~[O] *[A]) 137:callpropvoid {com.test.arraybug:Data_GameOverTips,public,Data_GameOverTips.as$459,com.test.arraybug,com.test.arraybug,http://adobe.com/AS3/2006/builtin,com.test.arraybug:Data_GameOverTips,com.test.arraybug:Data_GameOverTips}::push 2 [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) ------------------------------------ MERGE CURRENT 141: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} (Array~[O]) MERGE TARGET B141: [com.test.arraybug::Data_GameOverTips~[O] Array~[O]] {com.test.arraybug::Data_GameOverTips~[O]} ()