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)
69 [calculate Math.random(100), gives us two stack values]
70 dup2 [a.k.a. setlocal tmp, dup , getlocal tmp, swap, getlocal tmp]
71 getproperty (consumes two stack values)
73 setlocal tmp (we don't have *any* kind of useful stack exchange operations, so no way around a local register)
74 setproperty (consumes two stack values again)
76 kill tmp (so the verifier is happy)
79 -----------------------------------------------------------------------
81 VerifyError: Error #1030: Stack depth is unbalanced. 0 != 1.
84 1 : position I'm jumping to
86 -----------------------------------------------------------------------
90 verify test.package::Main()
92 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$]
93 locals: test.package::Main
95 stack: test.package::Main
96 scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$]
97 locals: test.package::Main
100 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
101 locals: test.package::Main
105 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
106 locals: test.package::Main?
110 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?
111 locals: test.package::Main?
114 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?
115 locals: test.package::Main?
118 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?
119 locals: test.package::Main?
121 VerifyError: Error #1068: test.package.Main and test.package.Main cannot be reconciled.
123 at test.package::Main()
126 static void xx_scopetest()
128 /* findpropstrict doesn't just return a scope object- it
129 also makes it "active" somehow. Push local_0 on the
130 scope stack and read it back with findpropstrict, it'll
131 contain properties like "trace". Trying to find the same
132 property on a "vanilla" local_0 yields only a "undefined" */
133 //c = abc_findpropstrict(c, "[package]::trace");
135 /*c = abc_getlocal_0(c);
136 c = abc_findpropstrict(c, "[package]::trace");
138 c = abc_setlocal_1(c);
140 c = abc_pushbyte(c, 0);
141 c = abc_setlocal_2(c);
143 code_t*xx = c = abc_label(c);
144 c = abc_findpropstrict(c, "[package]::trace");
145 c = abc_pushstring(c, "prop:");
146 c = abc_hasnext2(c, 1, 2);
148 c = abc_setlocal_3(c);
149 c = abc_callpropvoid(c, "[package]::trace", 2);
150 c = abc_getlocal_3(c);
152 c = abc_iftrue(c,xx);*/