rascal 0.3.4

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/tests.rs
expression: result
input_file: samples/as2/constant_folding.as
---
initializer:
  actions:
    - ConstantPool:
        - foo
        - ab3true123.45
        - "12"
        - truefalse
    - Push:
        - "True"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "True"
    - Trace
    - Push:
        - "True"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "True"
    - Trace
    - Push:
        - "True"
    - Trace
    - Push:
        - "True"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "False"
    - Trace
    - Push:
        - "Null"
    - Not
    - Not
    - Trace
    - Push:
        - Undefined
    - Not
    - Not
    - Trace
    - Push:
        - Constant: 0
    - GetVariable
    - Not
    - Not
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Float: -0.1
    - Trace
    - Push:
        - Integer: -123
    - Trace
    - Push:
        - Float: -2.5
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Integer: 0
        - "Null"
    - Subtract
    - Trace
    - Push:
        - Integer: 0
        - Undefined
    - Subtract
    - Trace
    - Push:
        - Integer: 0
        - Constant: 0
    - GetVariable
    - Subtract
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Float: 0.1
    - Trace
    - Push:
        - Integer: 123
    - Trace
    - Push:
        - Float: 2.5
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - "Null"
    - Trace
    - Push:
        - Undefined
    - Trace
    - Push:
        - Constant: 0
    - GetVariable
    - Trace
    - Push:
        - Integer: -2
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -2
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: -6
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -6
    - Trace
    - Push:
        - Integer: -124
    - Trace
    - Push:
        - Integer: -3
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - "Null"
        - Float: 4294967295
    - BitXor
    - Trace
    - Push:
        - Undefined
        - Float: 4294967295
    - BitXor
    - Trace
    - Push:
        - Constant: 0
    - GetVariable
    - Push:
        - Float: 4294967295
    - BitXor
    - Trace
    - Push:
        - Constant: 1
    - Trace
    - Push:
        - Constant: 2
    - Trace
    - Push:
        - Constant: 2
    - Trace
    - Push:
        - Constant: 2
    - Trace
    - Push:
        - Integer: 3
    - Trace
    - Push:
        - Integer: 3
    - Trace
    - Push:
        - Integer: 3
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Constant: 3
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Float: NaN
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 1
    - Trace
    - Push:
        - Integer: -1
    - Trace
    - Push:
        - Integer: 5
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: 5
    - Trace
    - Push:
        - Integer: 123
    - Trace
    - Push:
        - Integer: 2
    - Trace
    - Push:
        - Integer: 0
    - Trace
    - Push:
        - Integer: -2147483648
    - Trace
    - Push:
        - Integer: -2147483648
    - Trace
    - Push:
        - Integer: -2147483648
    - Trace
    - Push:
        - "Null"
    - ToInteger
    - Trace
    - Push:
        - Undefined
    - ToInteger
    - Trace
    - Push:
        - Constant: 0
    - GetVariable
    - ToInteger
    - Trace
  label_positions: {}
extra_modules: []
compile_options:
  swf_version: 15
  optimizations:
    fold_constants: true
    promote_variables_to_registers: true
custom_pcodes: []