package test {
  class Literal extends Object {
    /* Static initializer */
    /*
    static public function Literal() {
      return;
    }
     */

    public function Literal() {
      super();
      return;
    }

    function test() {
      call(1, 1, 200, 200);
      return;
    }

  }
}

package test {
  class Arithmetics extends Object {
    /* Static initializer */
    /*
    static public function Arithmetics() {
      return;
    }
     */

    public function Arithmetics() {
      super();
      return;
    }

    function b() {
      var local1:int = 0;
      var local0:int = 0;
      var sp1 = local0 + 1;
      var local2 = sp1;
      local0 = sp1;
      local1 = local2;
      var sp2 = local0 + 1;
      local2 = sp2;
      local0 = sp2;
      var sp3 = local1 - local2;
      local2 = sp3;
      local1 = sp3;
      return local2;
    }

    function a() {
      var local0:int = 0;
      var sp1 = local0 + 1;
      local0 = sp1;
      var local1:int = sp1;
      var sp2 = local0;
      local0 = sp2 + 1;
      var local2:int = sp2;
      return local0;
    }

  }
}

package test {
  class Logic extends Object {
    /* Static initializer */
    /*
    static public function Logic() {
      return;
    }
     */

    public function Logic() {
      super();
      return;
    }

    function P_a_or_b_p_and_P_c_and_d_p_or_e(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      var local0:Boolean = ((a || b) && (c && d)) || e;
      away();
      return local0;
    }

    function a_or_b(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function a_and_b_and_c(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return a && (b && c);
    }

    function P_a_and_b_p_and_c(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return (a && b) && c;
    }

    function a_and_b(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return a && b;
    }

  }
}

package test {
  class Ternary extends Object {
    /* Static initializer */
    /*
    static public function Ternary() {
      return;
    }
     */

    public function Ternary() {
      super();
      return;
    }

    function hardcore(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function q(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return (a ? b : c) ? (b ? c : d) : (c ? d : e);
    }

    function a_I_b_E_c_I_d_E_e(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return a ? b : (c ? d : e);
    }

    function a_I_b_I_c_E_d_E_e(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return a ? (b ? c : d) : e;
    }

    function a_I_b_E_c(a:Boolean, b:Boolean, c:Boolean, d:Boolean, e:Boolean):Boolean {
      return (1 > 2) ? b : c;
    }

  }
}

package test {
  class Conditionals extends Object {
    /* Static initializer */
    /*
    static public function Conditionals() {
      return;
    }
     */

    public function Conditionals() {
      super();
      return;
    }

    function b(a:Boolean) {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function a(a:Boolean) {
      baz();
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

  }
}

package test {
  class Loops extends Object {
    /* Static initializer */
    /*
    static public function Loops() {
      return;
    }
     */

    public function Loops() {
      super();
      return;
    }

    function e(f:Boolean) {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function d() {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function b() {
      weee();
      var local0:int = 1;
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

  }
}

package test {
  class Switch extends Object {
    /* Static initializer */
    /*
    static public function Switch() {
      return;
    }
     */

    public function Switch() {
      super();
      return;
    }

    function b(q:int):Boolean {
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

    function a(q:int):Boolean {
      var local0 = q;
      /* 'Ouch!' cried I, then died.
      RuntimeError: no jumps yet :/
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:458:in `expr_jump'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:83:in `expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:72:in `block in on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `catch'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:71:in `on_expression'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/decompiler.rb:22:in `decompile'
            ... et cetera
       */
    }

  }
}

package test {
  class Exceptions extends Object {
    /* Static initializer */
    /*
    static public function Exceptions() {
      return;
    }
     */

    public function Exceptions() {
      super();
      return;
    }

    function c() {
      /* 'Ouch!' cried I, then died.
      RuntimeError: cannot consume 1: stack underflow with 0
          /home/whitequark/furnace-avm2/lib/furnace-avm2/transform/ast_build.rb:34:in `block in transform'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/transform/ast_build.rb:182:in `call'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/transform/ast_build.rb:182:in `block in transform'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/primitives/opcode_sequence.rb:32:in `each'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/abc/primitives/opcode_sequence.rb:32:in `each'
          /home/whitequark/furnace-avm2/lib/furnace-avm2/transform/ast_build.rb:91:in `transform'
            ... et cetera
       */
    }

    function b() {
      /* Well, this is embarassing.

      Stage `expression' failed at:
      (7:new-activation)

      Opcode at the top of stack:
      (set-spurious 1
        (7:new-activation))
       */
    }

    function a() {
      /* Well, this is embarassing.

      Stage `expression' failed at:
      (7:new-activation)

      Opcode at the top of stack:
      (set-spurious 1
        (7:new-activation))
       */
    }

  }
}