;;; Code for forstatement.ForStatement [type definition]
(type $forstatement.ForStatement.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 (field $m_testContinue__void (ref $function.m_testContinue__void))
 (field $m_testForStatementInsideDeadCode__void (ref $function.m_testForStatementInsideDeadCode__void))
 (field $m_testInitializeInForCondition__void (ref $function.m_testInitializeInForCondition__void))
 (field $m_test__void (ref $function.m_test__void))
 ))
)
(type $forstatement.ForStatement (sub $java.lang.Object (struct
 (field $vtable (ref $forstatement.ForStatement.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for forstatement.ForStatement [imports]

;;; Code for forstatement.ForStatement [static fields]
(global $$class-initialized@forstatement.ForStatement (mut i32)
 (i32.const 0)
)
(global $$class@forstatement.ForStatement (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

;;; Code for forstatement.ForStatement [vtable.init]
(global $forstatement.ForStatement.vtable (ref $forstatement.ForStatement.vtable)
 (struct.new $forstatement.ForStatement.vtable
  (ref.func $$getClassImpl__java_lang_Class@forstatement.ForStatement)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_testContinue__void@forstatement.ForStatement)
  (ref.func $m_testForStatementInsideDeadCode__void@forstatement.ForStatement)
  (ref.func $m_testInitializeInForCondition__void@forstatement.ForStatement)
  (ref.func $m_test__void@forstatement.ForStatement)
 )
)

;;; Code for forstatement.ForStatement [methods]

;;; ForStatement ForStatement.$create()
(func $$create__@forstatement.ForStatement
 (result (ref null $forstatement.ForStatement))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
 (local $$instance (ref null $forstatement.ForStatement))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (call $$clinit__void_<once>_@forstatement.ForStatement )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (local.set $$instance (struct.new $forstatement.ForStatement (global.get $forstatement.ForStatement.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (call $$ctor__void_$p_forstatement_ForStatement@forstatement.ForStatement (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (return (local.get $$instance))
 )
)

;;; void ForStatement.$ctor()
(func $$ctor__void_$p_forstatement_ForStatement@forstatement.ForStatement
 (param $this (ref null $forstatement.ForStatement))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void ForStatement.test()
(func $m_test__void@forstatement.ForStatement
 (type $function.m_test__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:19:14
 (local $i i32)
 (local $count i32)
 (local $l i64)
 (local $count_1 i64)
 (local $c i32)
 (local $a i32)
 (local $b i32)
 (local $this (ref null $forstatement.ForStatement))
 (local.set $this (ref.cast (ref $forstatement.ForStatement) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:20:4
  (local.set $i (i32.const 0))
  (local.set $count (i32.const 0))
  (block $LOOP.BREAK
   (loop
    (br_if 1 (i32.eqz (i32.lt_s (local.get $i) (i32.const 100))))
    (block $LOOP.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:21:6
      (local.set $count (i32.add (local.get $count) (i32.const 1)))
     )
    )
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:24:4
  (local.set $l (i64.const 0))
  (local.set $count_1 (i64.const 0))
  (block $LOOP_1.BREAK
   (loop
    (br_if 1 (i32.eqz (i64.lt_s (local.get $l) (i64.const 100))))
    (block $LOOP_1.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:25:6
      (local.set $count_1 (i64.add (local.get $count_1) (i64.const 1)))
     )
    )
    (local.set $l (i64.add (local.get $l) (i64.const 1)))
    (local.set $l (i64.add (local.get $l) (i64.const 1)))
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:28:4
  (local.set $c (i32.const 97))
  (block $LOOP_2.BREAK
   (loop
    (br_if 1 (i32.eqz (i32.lt_s (local.get $c) (i32.const 122))))
    (block $LOOP_2.CONTINUE
     (block
     )
    )
    (local.set $c (call $m_narrowIntToChar__int__int@javaemul.internal.Primitives (i32.add (local.get $c) (i32.const 1))))
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:30:4
  (local.set $a (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:31:4
  (block $LOOP_3.BREAK
   (loop
    (br_if 1 (i32.eqz (block (result i32)
     (local.set $a (i32.or (local.get $a) (i32.const 1)))
     (local.get $a)
    )))
    (block $LOOP_3.CONTINUE
     (block
     )
    )
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:33:4
  (local.set $b (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:34:4
  (block $LOOP_4.BREAK
   (loop
    (br_if 1 (i32.eqz (block (result i32)
     (local.set $b (local.get $a))
     (local.get $b)
    )))
    (block $LOOP_4.CONTINUE
     (block
     )
    )
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:36:4
  (drop (call $m_returnsValue__int@forstatement.ForStatement ))
  (block $LOOP_5.BREAK
   (loop
    (block $LOOP_5.CONTINUE
     (block
     )
    )
    (drop (call $m_returnsValue__int@forstatement.ForStatement ))
    (br 0)
   )
  )
 )
)
(elem declare func $m_test__void@forstatement.ForStatement)

;;; void ForStatement.testContinue()
(func $m_testContinue__void@forstatement.ForStatement
 (type $function.m_testContinue__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:39:14
 (local $i i32)
 (local $j i32)
 (local $k i32)
 (local $l i32)
 (local $this (ref null $forstatement.ForStatement))
 (local.set $this (ref.cast (ref $forstatement.ForStatement) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:40:4
  (local.set $i (i32.const 0))
  (local.set $j (i32.const 0))
  (block $LABEL.BREAK
   (loop
    (br_if 1 (i32.eqz (i32.lt_s (local.get $i) (i32.const 10))))
    (block $LABEL.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:42:6
      (if (i32.eq (local.get $i) (i32.const 5))
       (then
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:43:8
         (br $LABEL.CONTINUE)
        )
       )
      )
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:45:6
      (local.set $k (i32.const 0))
      (local.set $l (i32.const 0))
      (block $LOOP.BREAK
       (loop
        (br_if 1 (i32.eqz (i32.lt_s (local.get $k) (i32.const 10))))
        (block $LOOP.CONTINUE
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:46:8
          (if (i32.eq (local.get $j) (i32.const 5))
           (then
            (block
             ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:47:10
             (br $LABEL.CONTINUE)
            )
           )
          )
         )
        )
        (local.set $k (i32.add (local.get $k) (i32.const 1)))
        (local.set $l (i32.add (local.get $l) (i32.const 1)))
        (br 0)
       )
      )
     )
    )
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (local.set $j (i32.add (local.get $j) (i32.const 1)))
    (br 0)
   )
  )
 )
)
(elem declare func $m_testContinue__void@forstatement.ForStatement)

;;; void ForStatement.testInitializeInForCondition()
(func $m_testInitializeInForCondition__void@forstatement.ForStatement
 (type $function.m_testInitializeInForCondition__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:53:14
 (local $i i32)
 (local $x i32)
 (local $y i32)
 (local $this (ref null $forstatement.ForStatement))
 (local.set $this (ref.cast (ref $forstatement.ForStatement) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:54:4
  (local.set $i (i32.const 0))
  (block $LOOP.BREAK
   (loop
    (br_if 1 (i32.eqz (if (result i32) (i32.lt_s (local.get $i) (i32.const 1)) (then (i32.ne (block (result i32)
     (local.set $x (i32.const 3))
     (local.get $x)
    ) (i32.const 0))) (else (i32.const 0)))))
    (block $LOOP.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:55:6
      
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:56:6
      (local.set $y (i32.add (local.get $i) (local.get $x)))
     )
    )
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (br 0)
   )
  )
 )
)
(elem declare func $m_testInitializeInForCondition__void@forstatement.ForStatement)

;;; void ForStatement.testForStatementInsideDeadCode()
(func $m_testForStatementInsideDeadCode__void@forstatement.ForStatement
 (type $function.m_testForStatementInsideDeadCode__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:60:14
 (local $i i32)
 (local $this (ref null $forstatement.ForStatement))
 (local.set $this (ref.cast (ref $forstatement.ForStatement) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:61:4
  (if (i32.const 0)
   (then
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:64:6
     (local.set $i (i32.const 0))
     (block $LOOP.BREAK
      (loop
       (br_if 1 (i32.eqz (i32.lt_s (local.get $i) (i32.const 100))))
       (block $LOOP.CONTINUE
        (block
        )
       )
       (local.set $i (i32.add (local.get $i) (i32.const 1)))
       (br 0)
      )
     )
    )
   )
  )
 )
)
(elem declare func $m_testForStatementInsideDeadCode__void@forstatement.ForStatement)

;;; int ForStatement.returnsValue()
(func $m_returnsValue__int@forstatement.ForStatement
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:68:21
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:69:4
  (return (i32.const 1))
 )
)

;;; void ForStatement.$clinit()
(func $$clinit__void_<once>_@forstatement.ForStatement
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (if (global.get $$class-initialized@forstatement.ForStatement)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (global.set $$class-initialized@forstatement.ForStatement (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/forstatement/readable-j2wasm.js/forstatement/ForStatement.java:18:13
  (call $$clinit__void_<once>_@java.lang.Object )
 )
)

;;; Class<T> ForStatement.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@forstatement.ForStatement
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@forstatement.ForStatement)))
   (then
    (return (global.get $$class@forstatement.ForStatement))
   )
  )
  (global.set $$class@forstatement.ForStatement (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|forstatement...|__java_lang_String_<once>_@forstatement.ForStatement )(call $$getClassMetadata__java_lang_Class_<once>_@java.lang.Object )))
  (return (global.get $$class@forstatement.ForStatement))
 )
)

;;; Class<?> ForStatement.$getClassImpl()
(func $$getClassImpl__java_lang_Class@forstatement.ForStatement
 (type $function.$getClassImpl__java_lang_Class)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.Class))
 (local $this (ref null $forstatement.ForStatement))
 (local.set $this (ref.cast (ref $forstatement.ForStatement) (local.get $this.untyped)))
 (block
  (return (call $$getClassMetadata__java_lang_Class_<once>_@forstatement.ForStatement ))
 )
)
(elem declare func $$getClassImpl__java_lang_Class@forstatement.ForStatement)
