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

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

;;; Code for anonymousinnerclass.A.B [type definition]
(type $anonymousinnerclass.A.B.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))
 ))
)
(type $anonymousinnerclass.A.B (sub $java.lang.Object (struct
 (field $vtable (ref $anonymousinnerclass.A.B.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@anonymousinnerclass.A.B (mut (ref null $anonymousinnerclass.A)))
 ))
)

;;; Code for anonymousinnerclass.AnonymousInnerClass.InnerClass [type definition]
(type $anonymousinnerclass.AnonymousInnerClass.InnerClass.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))
 ))
)
(type $anonymousinnerclass.AnonymousInnerClass.InnerClass (sub $java.lang.Object (struct
 (field $vtable (ref $anonymousinnerclass.AnonymousInnerClass.InnerClass.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.InnerClass (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 ))
)

;;; Code for anonymousinnerclass.AnonymousInnerClass.1C [type definition]
(type $anonymousinnerclass.AnonymousInnerClass.1C.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))
 ))
)
(type $anonymousinnerclass.AnonymousInnerClass.1C (sub $java.lang.Object (struct
 (field $vtable (ref $anonymousinnerclass.AnonymousInnerClass.1C.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$captured_arg@anonymousinnerclass.AnonymousInnerClass.1C (mut i32))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.1C (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 (field $fInC@anonymousinnerclass.AnonymousInnerClass.1C (mut i32))
 ))
)

;;; Code for anonymousinnerclass.AnonymousInnerClass.1 [type definition]
(type $anonymousinnerclass.AnonymousInnerClass.1.vtable (sub $anonymousinnerclass.AnonymousInnerClass.InnerClass.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))
 ))
)
(type $anonymousinnerclass.AnonymousInnerClass.1 (sub $anonymousinnerclass.AnonymousInnerClass.InnerClass (struct
 (field $vtable (ref $anonymousinnerclass.AnonymousInnerClass.1.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.InnerClass (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.1 (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 ))
)

;;; Code for anonymousinnerclass.AnonymousInnerClass.2 [type definition]
(type $anonymousinnerclass.AnonymousInnerClass.2.vtable (sub $anonymousinnerclass.A.B.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))
 ))
)
(type $anonymousinnerclass.AnonymousInnerClass.2 (sub $anonymousinnerclass.A.B (struct
 (field $vtable (ref $anonymousinnerclass.AnonymousInnerClass.2.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@anonymousinnerclass.A.B (mut (ref null $anonymousinnerclass.A)))
 (field $$captured_a@anonymousinnerclass.AnonymousInnerClass.2 (mut (ref null $anonymousinnerclass.A)))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.2 (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 ))
)

;;; Code for anonymousinnerclass.AnonymousInnerClass.3 [type definition]
(type $anonymousinnerclass.AnonymousInnerClass.3.vtable (sub $anonymousinnerclass.AnonymousInnerClass.1C.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))
 ))
)
(type $anonymousinnerclass.AnonymousInnerClass.3 (sub $anonymousinnerclass.AnonymousInnerClass.1C (struct
 (field $vtable (ref $anonymousinnerclass.AnonymousInnerClass.3.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$captured_arg@anonymousinnerclass.AnonymousInnerClass.1C (mut i32))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.1C (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 (field $fInC@anonymousinnerclass.AnonymousInnerClass.1C (mut i32))
 (field $$captured_arg@anonymousinnerclass.AnonymousInnerClass.3 (mut i32))
 (field $$outer_this@anonymousinnerclass.AnonymousInnerClass.3 (mut (ref null $anonymousinnerclass.AnonymousInnerClass)))
 ))
)

;;; Code for anonymousinnerclass.A [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass [imports]

;;; Code for anonymousinnerclass.A.B [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass.InnerClass [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass.1C [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass.1 [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass.2 [imports]

;;; Code for anonymousinnerclass.AnonymousInnerClass.3 [imports]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.1C [vtable.init]
(global $anonymousinnerclass.AnonymousInnerClass.1C.vtable (ref $anonymousinnerclass.AnonymousInnerClass.1C.vtable)
 (struct.new $anonymousinnerclass.AnonymousInnerClass.1C.vtable
  (ref.func $$getClassImpl__java_lang_Class@anonymousinnerclass.AnonymousInnerClass.1C)
  (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)
 )
)

;;; Code for anonymousinnerclass.A [methods]

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

;;; void A.$ctor()
(func $$ctor__void_$p_anonymousinnerclass_A@anonymousinnerclass.A
 (param $this (ref null $anonymousinnerclass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:18:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:18:6
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for anonymousinnerclass.AnonymousInnerClass [methods]

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

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

;;; void AnonymousInnerClass.test(int arg)
(func $m_test__int__void@anonymousinnerclass.AnonymousInnerClass
 (type $function.m_test__int__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:26:14
 (local $ic (ref null $anonymousinnerclass.AnonymousInnerClass.InnerClass))
 (local $a (ref null $anonymousinnerclass.A))
 (local $b (ref null $anonymousinnerclass.A.B))
 (local $c (ref null $anonymousinnerclass.AnonymousInnerClass.1C))
 (local $this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (local.set $this (ref.cast (ref $anonymousinnerclass.AnonymousInnerClass) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:4
  (local.set $ic (call $$create__anonymousinnerclass_AnonymousInnerClass@anonymousinnerclass.AnonymousInnerClass.1 (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:28:4
  (local.set $a (call $$create__@anonymousinnerclass.A ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:4
  (local.set $b (call $$create__anonymousinnerclass_AnonymousInnerClass__anonymousinnerclass_A@anonymousinnerclass.AnonymousInnerClass.2 (local.get $this)(local.get $a)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:4
  (local.set $c (call $$create__anonymousinnerclass_AnonymousInnerClass__int@anonymousinnerclass.AnonymousInnerClass.3 (local.get $this)(local.get $arg)))
 )
)
(elem declare func $m_test__int__void@anonymousinnerclass.AnonymousInnerClass)

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

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

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

;;; Code for anonymousinnerclass.A.B [methods]

;;; B B.$create(A $outer_this)
(func $$create__anonymousinnerclass_A@anonymousinnerclass.A.B
 (param $$outer_this (ref null $anonymousinnerclass.A))
 (result (ref null $anonymousinnerclass.A.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
 (local $$instance (ref null $anonymousinnerclass.A.B))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (call $$clinit__void_<once>_@anonymousinnerclass.A.B )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (local.set $$instance (struct.new $anonymousinnerclass.A.B (global.get $anonymousinnerclass.A.B.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $anonymousinnerclass.A)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (call $$ctor__anonymousinnerclass_A__void_$p_anonymousinnerclass_A_B@anonymousinnerclass.A.B (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (return (local.get $$instance))
 )
)

;;; void B.$ctor(A $outer_this)
(func $$ctor__anonymousinnerclass_A__void_$p_anonymousinnerclass_A_B@anonymousinnerclass.A.B
 (param $this (ref null $anonymousinnerclass.A.B))
 (param $$outer_this (ref null $anonymousinnerclass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (struct.set $anonymousinnerclass.A.B $$outer_this@anonymousinnerclass.A.B (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:19:8
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.InnerClass [methods]

;;; InnerClass InnerClass.$create(AnonymousInnerClass $outer_this)
(func $$create__anonymousinnerclass_AnonymousInnerClass@anonymousinnerclass.AnonymousInnerClass.InnerClass
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (result (ref null $anonymousinnerclass.AnonymousInnerClass.InnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
 (local $$instance (ref null $anonymousinnerclass.AnonymousInnerClass.InnerClass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.InnerClass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (local.set $$instance (struct.new $anonymousinnerclass.AnonymousInnerClass.InnerClass (global.get $anonymousinnerclass.AnonymousInnerClass.InnerClass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $anonymousinnerclass.AnonymousInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__void_$p_anonymousinnerclass_AnonymousInnerClass_InnerClass@anonymousinnerclass.AnonymousInnerClass.InnerClass (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (return (local.get $$instance))
 )
)

;;; void InnerClass.$ctor(AnonymousInnerClass $outer_this)
(func $$ctor__anonymousinnerclass_AnonymousInnerClass__void_$p_anonymousinnerclass_AnonymousInnerClass_InnerClass@anonymousinnerclass.AnonymousInnerClass.InnerClass
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.InnerClass))
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (struct.set $anonymousinnerclass.AnonymousInnerClass.InnerClass $$outer_this@anonymousinnerclass.AnonymousInnerClass.InnerClass (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:24:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.1C [methods]

;;; C C.$create(AnonymousInnerClass $outer_this, int $captured_arg)
(func $$create__anonymousinnerclass_AnonymousInnerClass__int@anonymousinnerclass.AnonymousInnerClass.1C
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_arg i32)
 (result (ref null $anonymousinnerclass.AnonymousInnerClass.1C))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
 (local $$instance (ref null $anonymousinnerclass.AnonymousInnerClass.1C))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.1C )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (local.set $$instance (struct.new $anonymousinnerclass.AnonymousInnerClass.1C (global.get $anonymousinnerclass.AnonymousInnerClass.1C.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $anonymousinnerclass.AnonymousInnerClass) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__int__void_$p_anonymousinnerclass_AnonymousInnerClass_1C@anonymousinnerclass.AnonymousInnerClass.1C (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $$captured_arg))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (return (local.get $$instance))
 )
)

;;; void C.$ctor(AnonymousInnerClass $outer_this, int $captured_arg)
(func $$ctor__anonymousinnerclass_AnonymousInnerClass__int__void_$p_anonymousinnerclass_AnonymousInnerClass_1C@anonymousinnerclass.AnonymousInnerClass.1C
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.1C))
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_arg i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (struct.set $anonymousinnerclass.AnonymousInnerClass.1C $$outer_this@anonymousinnerclass.AnonymousInnerClass.1C (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:26:29
  (struct.set $anonymousinnerclass.AnonymousInnerClass.1C $$captured_arg@anonymousinnerclass.AnonymousInnerClass.1C (local.get $this) (local.get $$captured_arg))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
  (call $$init__void_$p_anonymousinnerclass_AnonymousInnerClass_1C@anonymousinnerclass.AnonymousInnerClass.1C (ref.as_non_null (local.get $this)))
 )
)

;;; void C.$init()
(func $$init__void_$p_anonymousinnerclass_AnonymousInnerClass_1C@anonymousinnerclass.AnonymousInnerClass.1C
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.1C))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:30:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:31:6
  (struct.set $anonymousinnerclass.AnonymousInnerClass.1C $fInC@anonymousinnerclass.AnonymousInnerClass.1C (local.get $this) (struct.get $anonymousinnerclass.AnonymousInnerClass.1C $$captured_arg@anonymousinnerclass.AnonymousInnerClass.1C (local.get $this)))
 )
)

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

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

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.1 [methods]

;;; <anonymous> extends InnerClass <anonymous> extends InnerClass.$create(AnonymousInnerClass $outer_this)
(func $$create__anonymousinnerclass_AnonymousInnerClass@anonymousinnerclass.AnonymousInnerClass.1
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (result (ref null $anonymousinnerclass.AnonymousInnerClass.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
 (local $$instance (ref null $anonymousinnerclass.AnonymousInnerClass.1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (local.set $$instance (struct.new $anonymousinnerclass.AnonymousInnerClass.1 (global.get $anonymousinnerclass.AnonymousInnerClass.1.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $anonymousinnerclass.AnonymousInnerClass) (ref.null $anonymousinnerclass.AnonymousInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__void_$p_anonymousinnerclass_AnonymousInnerClass_1@anonymousinnerclass.AnonymousInnerClass.1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends InnerClass.$ctor(AnonymousInnerClass $outer_this)
(func $$ctor__anonymousinnerclass_AnonymousInnerClass__void_$p_anonymousinnerclass_AnonymousInnerClass_1@anonymousinnerclass.AnonymousInnerClass.1
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.1))
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (struct.set $anonymousinnerclass.AnonymousInnerClass.1 $$outer_this@anonymousinnerclass.AnonymousInnerClass.1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__void_$p_anonymousinnerclass_AnonymousInnerClass_InnerClass@anonymousinnerclass.AnonymousInnerClass.InnerClass (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void <anonymous> extends InnerClass.$clinit()
(func $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.1
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (if (global.get $$class-initialized@anonymousinnerclass.AnonymousInnerClass.1)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (global.set $$class-initialized@anonymousinnerclass.AnonymousInnerClass.1 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:27:37
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.InnerClass )
 )
)

;;; Class<T> <anonymous> extends InnerClass.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.AnonymousInnerClass.1
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@anonymousinnerclass.AnonymousInnerClass.1)))
   (then
    (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.1))
   )
  )
  (global.set $$class@anonymousinnerclass.AnonymousInnerClass.1 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|anonymousinn...|__java_lang_String_<once>_@anonymousinnerclass.AnonymousInnerClass.1 )(call $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.AnonymousInnerClass.InnerClass )))
  (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.1))
 )
)

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.2 [methods]

;;; <anonymous> extends B <anonymous> extends B.$create(AnonymousInnerClass $outer_this, A $captured_a)
(func $$create__anonymousinnerclass_AnonymousInnerClass__anonymousinnerclass_A@anonymousinnerclass.AnonymousInnerClass.2
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_a (ref null $anonymousinnerclass.A))
 (result (ref null $anonymousinnerclass.AnonymousInnerClass.2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
 (local $$instance (ref null $anonymousinnerclass.AnonymousInnerClass.2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (local.set $$instance (struct.new $anonymousinnerclass.AnonymousInnerClass.2 (global.get $anonymousinnerclass.AnonymousInnerClass.2.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $anonymousinnerclass.A) (ref.null $anonymousinnerclass.A) (ref.null $anonymousinnerclass.AnonymousInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__anonymousinnerclass_A__void_$p_anonymousinnerclass_AnonymousInnerClass_2@anonymousinnerclass.AnonymousInnerClass.2 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $$captured_a))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends B.$ctor(AnonymousInnerClass $outer_this, A $captured_a)
(func $$ctor__anonymousinnerclass_AnonymousInnerClass__anonymousinnerclass_A__void_$p_anonymousinnerclass_AnonymousInnerClass_2@anonymousinnerclass.AnonymousInnerClass.2
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.2))
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_a (ref null $anonymousinnerclass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (struct.set $anonymousinnerclass.AnonymousInnerClass.2 $$outer_this@anonymousinnerclass.AnonymousInnerClass.2 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:28:6
  (struct.set $anonymousinnerclass.AnonymousInnerClass.2 $$captured_a@anonymousinnerclass.AnonymousInnerClass.2 (local.get $this) (local.get $$captured_a))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (call $$ctor__anonymousinnerclass_A__void_$p_anonymousinnerclass_A_B@anonymousinnerclass.A.B (ref.as_non_null (local.get $this))(local.get $$captured_a))
 )
)

;;; void <anonymous> extends B.$clinit()
(func $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.2
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (if (global.get $$class-initialized@anonymousinnerclass.AnonymousInnerClass.2)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (global.set $$class-initialized@anonymousinnerclass.AnonymousInnerClass.2 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:29:21
  (call $$clinit__void_<once>_@anonymousinnerclass.A.B )
 )
)

;;; Class<T> <anonymous> extends B.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.AnonymousInnerClass.2
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@anonymousinnerclass.AnonymousInnerClass.2)))
   (then
    (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.2))
   )
  )
  (global.set $$class@anonymousinnerclass.AnonymousInnerClass.2 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|anonymousinn...|__java_lang_String_<once>_@anonymousinnerclass.AnonymousInnerClass.2 )(call $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.A.B )))
  (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.2))
 )
)

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

;;; Code for anonymousinnerclass.AnonymousInnerClass.3 [methods]

;;; <anonymous> extends C <anonymous> extends C.$create(AnonymousInnerClass $outer_this, int $captured_arg)
(func $$create__anonymousinnerclass_AnonymousInnerClass__int@anonymousinnerclass.AnonymousInnerClass.3
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_arg i32)
 (result (ref null $anonymousinnerclass.AnonymousInnerClass.3))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
 (local $$instance (ref null $anonymousinnerclass.AnonymousInnerClass.3))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.3 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (local.set $$instance (struct.new $anonymousinnerclass.AnonymousInnerClass.3 (global.get $anonymousinnerclass.AnonymousInnerClass.3.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $anonymousinnerclass.AnonymousInnerClass) (i32.const 0) (i32.const 0) (ref.null $anonymousinnerclass.AnonymousInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__int__void_$p_anonymousinnerclass_AnonymousInnerClass_3@anonymousinnerclass.AnonymousInnerClass.3 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $$captured_arg))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends C.$ctor(AnonymousInnerClass $outer_this, int $captured_arg)
(func $$ctor__anonymousinnerclass_AnonymousInnerClass__int__void_$p_anonymousinnerclass_AnonymousInnerClass_3@anonymousinnerclass.AnonymousInnerClass.3
 (param $this (ref null $anonymousinnerclass.AnonymousInnerClass.3))
 (param $$outer_this (ref null $anonymousinnerclass.AnonymousInnerClass))
 (param $$captured_arg i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (struct.set $anonymousinnerclass.AnonymousInnerClass.3 $$outer_this@anonymousinnerclass.AnonymousInnerClass.3 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:26:29
  (struct.set $anonymousinnerclass.AnonymousInnerClass.3 $$captured_arg@anonymousinnerclass.AnonymousInnerClass.3 (local.get $this) (local.get $$captured_arg))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (call $$ctor__anonymousinnerclass_AnonymousInnerClass__int__void_$p_anonymousinnerclass_AnonymousInnerClass_1C@anonymousinnerclass.AnonymousInnerClass.1C (ref.as_non_null (local.get $this))(local.get $$outer_this)(local.get $$captured_arg))
 )
)

;;; void <anonymous> extends C.$clinit()
(func $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.3
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (if (global.get $$class-initialized@anonymousinnerclass.AnonymousInnerClass.3)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (global.set $$class-initialized@anonymousinnerclass.AnonymousInnerClass.3 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/anonymousinnerclass/readable-j2wasm.js/anonymousinnerclass/AnonymousInnerClass.java:33:18
  (call $$clinit__void_<once>_@anonymousinnerclass.AnonymousInnerClass.1C )
 )
)

;;; Class<T> <anonymous> extends C.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.AnonymousInnerClass.3
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@anonymousinnerclass.AnonymousInnerClass.3)))
   (then
    (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.3))
   )
  )
  (global.set $$class@anonymousinnerclass.AnonymousInnerClass.3 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|anonymousinn...|__java_lang_String_<once>_@anonymousinnerclass.AnonymousInnerClass.3 )(call $$getClassMetadata__java_lang_Class_<once>_@anonymousinnerclass.AnonymousInnerClass.1C )))
  (return (global.get $$class@anonymousinnerclass.AnonymousInnerClass.3))
 )
)

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