1 -----------------------------------------------------------------------
6 [x=a at [ExcludeClass(...)] or x=a, then embed command?]
8 -----------------------------------------------------------------------
14 [return i++ or just return?]
16 -----------------------------------------------------------------------
22 [x=3;regexp abc;y++ or x divided by abc divided by y++?]
24 -----------------------------------------------------------------------
29 [x=5, evaluate "minus obj" or x=5-obj?]
31 -----------------------------------------------------------------------
35 [coerce y to static field z of X, or coerce y to X, then evaluate member z?]
37 -----------------------------------------------------------------------
42 [return object:{myloop:i++} or execute code block with myloop label?]
45 -----------------------------------------------------------------------
49 [only after encountering the first ; it becomes clear that this is in
50 fact *not* a for-in loop]
52 -----------------------------------------------------------------------
55 namespace1 ++ namespace2
60 [x = namespace1, increment namespace2? or is test in namespace2?]
62 -----------------------------------------------------------------------
65 x = (a[Math.random(100)] += 10)
70 calculate Math.random(100), push
71 dup2 [a.k.a. setlocal tmp, dup , getlocal tmp, swap, getlocal tmp]
72 getproperty (consumes two stack values)
74 setlocal tmp (we don't have *any* kind of useful stack exchange operations, so no way around a local register)
75 setproperty (consumes two stack values again)
77 kill tmp (so the verifier is happy)
80 -----------------------------------------------------------------------
82 VerifyError: Error #1030: Stack depth is unbalanced. 0 != 1.
85 1 : position I'm jumping to
87 -----------------------------------------------------------------------
91 verify test.package::Main()
93 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$]
94 locals: test.package::Main
96 stack: test.package::Main
97 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$]
98 locals: test.package::Main
101 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main
102 locals: test.package::Main
106 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main
107 locals: test.package::Main?
111 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main?
112 locals: test.package::Main?
115 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main?
116 locals: test.package::Main?
119 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main?
120 locals: test.package::Main?
122 VerifyError: Error #1068: test.package.Main and test.package.Main cannot be reconciled.
124 at test.package::Main()
127 static void xx_scopetest()
129 /* findpropstrict doesn't just return a scope object- it
130 also makes it "active" somehow. Push local_0 on the
131 scope stack and read it back with findpropstrict, it'll
132 contain properties like "trace". Trying to find the same
133 property on a "vanilla" local_0 yields only a "undefined" */
134 //c = abc_findpropstrict(c, "[package]::trace");
136 /*c = abc_getlocal_0(c);
137 c = abc_findpropstrict(c, "[package]::trace");
139 c = abc_setlocal_1(c);
141 c = abc_pushbyte(c, 0);
142 c = abc_setlocal_2(c);
144 code_t*xx = c = abc_label(c);
145 c = abc_findpropstrict(c, "[package]::trace");
146 c = abc_pushstring(c, "prop:");
147 c = abc_hasnext2(c, 1, 2);
149 c = abc_setlocal_3(c);
150 c = abc_callpropvoid(c, "[package]::trace", 2);
151 c = abc_getlocal_3(c);
153 c = abc_iftrue(c,xx);*/