;;; Code for implicitparenthesis.ImplicitParenthesis [type definition]
(type $implicitparenthesis.ImplicitParenthesis.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_test__void (ref $function.m_test__void))
 ))
)
(type $implicitparenthesis.ImplicitParenthesis (sub $java.lang.Object (struct
 (field $vtable (ref $implicitparenthesis.ImplicitParenthesis.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for implicitparenthesis.ImplicitParenthesis [imports]

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

;;; Code for implicitparenthesis.ImplicitParenthesis [vtable.init]
(global $implicitparenthesis.ImplicitParenthesis.vtable (ref $implicitparenthesis.ImplicitParenthesis.vtable)
 (struct.new $implicitparenthesis.ImplicitParenthesis.vtable
  (ref.func $$getClassImpl__java_lang_Class@implicitparenthesis.ImplicitParenthesis)
  (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_test__void@implicitparenthesis.ImplicitParenthesis)
 )
)

;;; Code for implicitparenthesis.ImplicitParenthesis [methods]

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

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

;;; void ImplicitParenthesis.test()
(func $m_test__void@implicitparenthesis.ImplicitParenthesis
 (type $function.m_test__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:23:14
 (local $this (ref null $implicitparenthesis.ImplicitParenthesis))
 (local.set $this (ref.cast (ref $implicitparenthesis.ImplicitParenthesis) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:24:4
  (call $m_examples__void@implicitparenthesis.ImplicitParenthesis )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:25:4
  (call $m_nonExamples__void@implicitparenthesis.ImplicitParenthesis )
 )
)
(elem declare func $m_test__void@implicitparenthesis.ImplicitParenthesis)

;;; void ImplicitParenthesis.examples()
(func $m_examples__void@implicitparenthesis.ImplicitParenthesis
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:28:22
 (local $primitiveInt i32)
 (local $boxedInt (ref null $java.lang.Integer))
 (local $$value (ref null $java.lang.Integer))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:29:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:30:4
  
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:34:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:35:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:36:6
   (local.set $primitiveInt (call $m_intValue__int@java.lang.Integer (ref.as_non_null (if (result (ref null $java.lang.Integer)) (i32.eq (local.get $primitiveInt) (i32.const 5)) (then (call $$create__int@java.lang.Integer (i32.const 15))) (else (call $$create__int@java.lang.Integer (i32.const 30)))))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:37:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:37:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 15)))
    )
   )
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:42:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:43:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:44:6
   (local.set $primitiveInt (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
    (local.set $boxedInt (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInt))) (local.get $primitiveInt))))
    (local.get $boxedInt)
   ))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:45:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:45:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 15)))
    )
   )
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:50:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:51:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:52:6
   (local.set $primitiveInt (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
    (local.set $boxedInt (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (local.get $primitiveInt)))
    (local.get $boxedInt)
   ))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:53:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:53:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 5)))
    )
   )
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:58:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:59:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:60:6
   (local.set $primitiveInt (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
    (local.set $$value (local.get $boxedInt))
    (local.set $boxedInt (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInt))) (i32.const 1))))
    (local.get $$value)
   ))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:61:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:61:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 10)))
    )
   )
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:66:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:67:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:68:6
   (local.set $primitiveInt (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
    (local.set $boxedInt (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInt))) (i32.const 1))))
    (local.get $boxedInt)
   ))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:69:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:69:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 11)))
    )
   )
  )
 )
)

;;; void ImplicitParenthesis.nonExamples()
(func $m_nonExamples__void@implicitparenthesis.ImplicitParenthesis
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:73:22
 (local $primitiveInt i32)
 (local $boxedInt (ref null $java.lang.Integer))
 (local $boxedBoolean (ref null $java.lang.Boolean))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:74:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:75:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:76:4
  
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:82:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:83:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:84:6
   (local.set $primitiveInt (i32.sub (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInt))) (local.get $primitiveInt)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:85:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:85:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (local.get $primitiveInt) (i32.const 5)))
    )
   )
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:91:6
   (local.set $primitiveInt (i32.const 5))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:92:6
   (local.set $boxedInt (call $$create__int@java.lang.Integer (i32.const 10)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:93:6
   (local.set $boxedBoolean (call $m_valueOf__boolean__java_lang_Boolean@java.lang.Boolean (i32.const 1)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:94:6
   (local.set $boxedBoolean (call $m_valueOf__boolean__java_lang_Boolean@java.lang.Boolean (i32.eq (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInt))) (local.get $primitiveInt))))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:95:6
   (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:95:6
     (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (call $m_booleanValue__boolean@java.lang.Boolean (ref.as_non_null (local.get $boxedBoolean))) (i32.const 0)))
    )
   )
  )
 )
)

;;; void ImplicitParenthesis.parenthesisRemoval()
(func $m_parenthesisRemoval__void@implicitparenthesis.ImplicitParenthesis
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:99:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/implicitparenthesis/readable-j2wasm.js/implicitparenthesis/ImplicitParenthesis.java:100:4
  (drop (call $$create__int@java.lang.Integer (i32.add (i32.const 1) (i32.const 2))))
 )
)

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

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

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