---
source: crates/rascal/src/tests.rs
expression: result
input_file: samples/as2/op_precedence/general.as
---
initializer:
actions:
- ConstantPool:
- one
- two
- three
- four
- five
- ten
- zero
- negOne
- a
- b
- c
- p
- s
- t
- "one + two * three = "
- "(one + two) * three = "
- "-one * two = "
- "-(one * two) = "
- "++p + p++ = "
- "p++ * 2 = "
- "2 * ++p = "
- "four / two * two = "
- "one + two << one = "
- "(one + two) << one = "
- "one + (two << one) = "
- "one + two < five = "
- "(one + two) < five = "
- "one + (two < five) = "
- "one + two == three = "
- "(one + two) == three = "
- "one + (two == three) = "
- "one | two == three = "
- "(one | two) == three = "
- "one | (two == three) = "
- "one & three | two = "
- "(one & three) | two = "
- "one & (three | two) = "
- "~one = "
- "-~one = "
- "(one < two && three > two) = "
- "(one > two || three > two) = "
- "one & three && two > zero = "
- "one < two ? five : ten = "
- "one + two < three ? five : ten = "
- "a after a = b = c -> "
- "b after a = b = c -> "
- "a after a += b * c = "
- obj
- Object
- x
- "obj.x + two = "
- "typeof one = "
- "typeof s = "
- "a after a = (b>c)?b:c = "
- "a + b * c << one & three == ((a + (b * c)) << one & three) ? five : ten = "
- "+one + +two = "
- "-one + -two = "
- "ten % three + one = "
- "(ten % three) + one = "
- "one + two * three > four = "
- Push:
- Constant: 0
- Integer: 1
- DefineLocal
- Push:
- Constant: 1
- Integer: 2
- DefineLocal
- Push:
- Constant: 2
- Integer: 3
- DefineLocal
- Push:
- Constant: 3
- Integer: 4
- DefineLocal
- Push:
- Constant: 4
- Integer: 5
- DefineLocal
- Push:
- Constant: 5
- Integer: 10
- DefineLocal
- Push:
- Constant: 6
- Integer: 0
- DefineLocal
- Push:
- Constant: 7
- Integer: -1
- DefineLocal
- Push:
- Constant: 8
- DefineLocal2
- Push:
- Constant: 9
- DefineLocal2
- Push:
- Constant: 10
- DefineLocal2
- Push:
- Constant: 11
- DefineLocal2
- Push:
- Constant: 12
- Constant: 12
- DefineLocal
- Push:
- Constant: 13
- Constant: 13
- DefineLocal
- Push:
- Constant: 14
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Multiply
- Add2
- Add2
- Trace
- Push:
- Constant: 15
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 2
- GetVariable
- Multiply
- Add2
- Trace
- Push:
- Constant: 16
- Integer: 0
- Constant: 0
- GetVariable
- Subtract
- Push:
- Constant: 1
- GetVariable
- Multiply
- Add2
- Trace
- Push:
- Constant: 17
- Integer: 0
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Multiply
- Subtract
- Add2
- Trace
- Push:
- Constant: 11
- Constant: 0
- GetVariable
- SetVariable
- Push:
- Constant: 18
- Constant: 11
- Constant: 11
- GetVariable
- Increment
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Constant: 11
- GetVariable
- Push:
- Constant: 11
- Constant: 11
- GetVariable
- Increment
- SetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 11
- Constant: 1
- GetVariable
- SetVariable
- Push:
- Constant: 19
- Constant: 11
- GetVariable
- Push:
- Constant: 11
- Constant: 11
- GetVariable
- Increment
- SetVariable
- Push:
- Integer: 2
- Multiply
- Add2
- Trace
- Push:
- Constant: 11
- Constant: 1
- GetVariable
- SetVariable
- Push:
- Constant: 20
- Integer: 2
- Constant: 11
- Constant: 11
- GetVariable
- Increment
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Multiply
- Add2
- Trace
- Push:
- Constant: 21
- Constant: 3
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Divide
- Push:
- Constant: 1
- GetVariable
- Multiply
- Add2
- Trace
- Push:
- Constant: 22
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 0
- GetVariable
- BitLShift
- Add2
- Trace
- Push:
- Constant: 23
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 0
- GetVariable
- BitLShift
- Add2
- Trace
- Push:
- Constant: 24
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 0
- GetVariable
- BitLShift
- Add2
- Add2
- Trace
- Push:
- Constant: 25
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 4
- GetVariable
- Less2
- Add2
- Trace
- Push:
- Constant: 26
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 4
- GetVariable
- Less2
- Add2
- Trace
- Push:
- Constant: 27
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 4
- GetVariable
- Less2
- Add2
- Add2
- Trace
- Push:
- Constant: 28
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 2
- GetVariable
- Equals2
- Add2
- Trace
- Push:
- Constant: 29
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 2
- GetVariable
- Equals2
- Add2
- Trace
- Push:
- Constant: 30
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Equals2
- Add2
- Add2
- Trace
- Push:
- Constant: 31
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Equals2
- BitOr
- Add2
- Trace
- Push:
- Constant: 32
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- BitOr
- Push:
- Constant: 2
- GetVariable
- Equals2
- Add2
- Trace
- Push:
- Constant: 33
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Equals2
- BitOr
- Add2
- Trace
- Push:
- Constant: 34
- Constant: 0
- GetVariable
- Push:
- Constant: 2
- GetVariable
- BitAnd
- Push:
- Constant: 1
- GetVariable
- BitOr
- Add2
- Trace
- Push:
- Constant: 35
- Constant: 0
- GetVariable
- Push:
- Constant: 2
- GetVariable
- BitAnd
- Push:
- Constant: 1
- GetVariable
- BitOr
- Add2
- Trace
- Push:
- Constant: 36
- Constant: 0
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Push:
- Constant: 1
- GetVariable
- BitOr
- BitAnd
- Add2
- Trace
- Push:
- Constant: 37
- Constant: 0
- GetVariable
- Push:
- Float: 4294967295
- BitXor
- Add2
- Trace
- Push:
- Constant: 38
- Integer: 0
- Constant: 0
- GetVariable
- Push:
- Float: 4294967295
- BitXor
- Subtract
- Add2
- Trace
- Push:
- Constant: 39
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Less2
- PushDuplicate
- Not
- If: loc0000
- Pop
- Push:
- Constant: 2
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Greater
- Add2
- Trace
- Push:
- Constant: 40
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Greater
- PushDuplicate
- If: loc0001
- Pop
- Push:
- Constant: 2
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Greater
- Add2
- Trace
- Push:
- Constant: 41
- Constant: 0
- GetVariable
- Push:
- Constant: 2
- GetVariable
- BitAnd
- PushDuplicate
- Not
- If: loc0002
- Pop
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 6
- GetVariable
- Greater
- Add2
- Trace
- Push:
- Constant: 42
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Less2
- If: loc0004
- Push:
- Constant: 5
- GetVariable
- Jump: loc0003
- Push:
- Constant: 4
- GetVariable
- Add2
- Trace
- Push:
- Constant: 43
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Push:
- Constant: 2
- GetVariable
- Less2
- If: loc0006
- Push:
- Constant: 5
- GetVariable
- Jump: loc0005
- Push:
- Constant: 4
- GetVariable
- Add2
- Trace
- Push:
- Constant: 8
- Integer: 0
- SetVariable
- Push:
- Constant: 9
- Integer: 0
- SetVariable
- Push:
- Constant: 10
- Constant: 4
- GetVariable
- SetVariable
- Push:
- Constant: 8
- Constant: 9
- Constant: 10
- GetVariable
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- SetVariable
- Push:
- Constant: 44
- Constant: 8
- GetVariable
- Add2
- Trace
- Push:
- Constant: 45
- Constant: 9
- GetVariable
- Add2
- Trace
- Push:
- Constant: 8
- Integer: 1
- SetVariable
- Push:
- Constant: 9
- Integer: 2
- SetVariable
- Push:
- Constant: 10
- Integer: 3
- SetVariable
- Push:
- Constant: 8
- Constant: 8
- GetVariable
- Push:
- Constant: 9
- GetVariable
- Push:
- Constant: 10
- GetVariable
- Multiply
- Add2
- SetVariable
- Push:
- Constant: 46
- Constant: 8
- GetVariable
- Add2
- Trace
- Push:
- Constant: 47
- Integer: 0
- Constant: 48
- NewObject
- DefineLocal
- Push:
- Constant: 47
- GetVariable
- Push:
- Constant: 49
- Integer: 2
- SetMember
- Push:
- Constant: 50
- Constant: 47
- GetVariable
- Push:
- Constant: 49
- GetMember
- Push:
- Constant: 1
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 51
- Constant: 0
- GetVariable
- TypeOf
- Add2
- Trace
- Push:
- Constant: 52
- Constant: 12
- GetVariable
- TypeOf
- Add2
- Trace
- Push:
- Constant: 8
- Integer: 1
- SetVariable
- Push:
- Constant: 9
- Integer: 2
- SetVariable
- Push:
- Constant: 10
- Integer: 3
- SetVariable
- Push:
- Constant: 8
- Constant: 9
- GetVariable
- Push:
- Constant: 10
- GetVariable
- Greater
- If: loc0008
- Push:
- Constant: 10
- GetVariable
- Jump: loc0007
- Push:
- Constant: 9
- GetVariable
- SetVariable
- Push:
- Constant: 53
- Constant: 8
- GetVariable
- Add2
- Trace
- Push:
- Constant: 8
- Integer: 1
- SetVariable
- Push:
- Constant: 9
- Integer: 2
- SetVariable
- Push:
- Constant: 10
- Integer: 3
- SetVariable
- Push:
- Constant: 54
- Constant: 8
- GetVariable
- Push:
- Constant: 9
- GetVariable
- Push:
- Constant: 10
- GetVariable
- Multiply
- Add2
- Push:
- Constant: 0
- GetVariable
- BitLShift
- Push:
- Constant: 2
- GetVariable
- BitAnd
- Push:
- Constant: 8
- GetVariable
- Push:
- Constant: 9
- GetVariable
- Push:
- Constant: 10
- GetVariable
- Multiply
- Add2
- Push:
- Constant: 0
- GetVariable
- BitLShift
- Push:
- Constant: 2
- GetVariable
- BitAnd
- Equals2
- If: loc000a
- Push:
- Constant: 5
- GetVariable
- Jump: loc0009
- Push:
- Constant: 4
- GetVariable
- Add2
- Trace
- Push:
- Constant: 55
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 56
- Integer: 0
- Constant: 0
- GetVariable
- Subtract
- Push:
- Integer: 0
- Constant: 1
- GetVariable
- Subtract
- Add2
- Add2
- Trace
- Push:
- Constant: 57
- Constant: 5
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Modulo
- Push:
- Constant: 0
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 58
- Constant: 5
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Modulo
- Push:
- Constant: 0
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 59
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Push:
- Constant: 2
- GetVariable
- Multiply
- Add2
- Push:
- Constant: 3
- GetVariable
- Greater
- Add2
- Trace
label_positions:
loc0000: 294
loc0001: 309
loc0002: 325
loc0004: 336
loc0003: 338
loc0006: 352
loc0005: 354
loc0008: 437
loc0007: 439
loc000a: 483
loc0009: 485
extra_modules: []
compile_options:
swf_version: 15
optimizations:
fold_constants: true
promote_variables_to_registers: true
custom_pcodes: []