rascal 0.3.4

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/program.rs
expression: parsed
input_file: samples/as2/import_affects_functions.as
---
Ok:
  initial_script:
    - Expr:
        span:
          start: 0
          end: 47
          file: 0
        value:
          Function:
            signature:
              name:
                span:
                  start: 9
                  end: 21
                  file: 0
                value: beforeImport
              args: []
              return_type: ~
            body:
              - Expr:
                  span:
                    start: 27
                    end: 44
                    file: 0
                  value:
                    Trace:
                      span:
                        start: 33
                        end: 43
                        file: 0
                      value:
                        Constant:
                          Identifier: BitmapData
            scope:
              defined_variables:
                this:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                arguments:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                super:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _root:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _parent:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _global:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
              referenced_variables:
                - BitmapData
              could_reference_anything: false
            register_count: 1
            preload_this: false
            suppress_this: true
            preload_arguments: false
            suppress_arguments: true
            preload_super: false
            suppress_super: true
            preload_root: false
            preload_parent: false
            preload_global: false
    - Block: []
    - Expr:
        span:
          start: 81
          end: 127
          file: 0
        value:
          Function:
            signature:
              name:
                span:
                  start: 90
                  end: 101
                  file: 0
                value: afterImport
              args: []
              return_type: ~
            body:
              - Expr:
                  span:
                    start: 107
                    end: 124
                    file: 0
                  value:
                    Trace:
                      span:
                        start: 113
                        end: 123
                        file: 0
                      value:
                        Field:
                          - span:
                              start: 113
                              end: 123
                              file: 0
                            value:
                              Field:
                                - span:
                                    start: 113
                                    end: 123
                                    file: 0
                                  value:
                                    Constant:
                                      Identifier: flash
                                - span:
                                    start: 113
                                    end: 123
                                    file: 0
                                  value:
                                    Constant:
                                      String: display
                          - span:
                              start: 113
                              end: 123
                              file: 0
                            value:
                              Constant:
                                String: BitmapData
            scope:
              defined_variables:
                this:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                arguments:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                super:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _root:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _parent:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
                _global:
                  used: false
                  used_in_inner_scope: false
                  type_name: ~
              referenced_variables:
                - flash
              could_reference_anything: false
            register_count: 1
            preload_this: false
            suppress_this: true
            preload_arguments: false
            suppress_arguments: true
            preload_super: false
            suppress_super: true
            preload_root: false
            preload_parent: false
            preload_global: false
    - Expr:
        span:
          start: 128
          end: 142
          file: 0
        value:
          Call:
            name:
              span:
                start: 128
                end: 140
                file: 0
              value:
                Constant:
                  Identifier: beforeImport
            args: []
    - Expr:
        span:
          start: 143
          end: 156
          file: 0
        value:
          Call:
            name:
              span:
                start: 143
                end: 154
                file: 0
              value:
                Constant:
                  Identifier: afterImport
            args: []
  interfaces: []
  classes: []
  custom_pcodes: []
  compile_options:
    swf_version: 15
    optimizations:
      fold_constants: true
      promote_variables_to_registers: true