;;; Code for bridgejsmethod.Main.I [type definition]
(type $bridgejsmethod.Main.I.vtable (sub (struct
 (field $m_fun__java_lang_Number__java_lang_Number (ref $function.m_fun__java_lang_Number__java_lang_Number))
 ))
)

;;; Code for bridgejsmethod.Main.J [type definition]
(type $bridgejsmethod.Main.J.vtable (sub (struct
 (field $m_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 ))
)

;;; Code for bridgejsmethod.Main.G [type definition]
(type $bridgejsmethod.Main.G.vtable (sub (struct
 (field $m_enclose__java_lang_Object__java_lang_Object (ref $function.m_enclose__java_lang_Object__java_lang_Object))
 ))
)

;;; Code for bridgejsmethod.Main.M [type definition]
(type $bridgejsmethod.Main.M.vtable (sub (struct
 (field $m_getB__bridgejsmethod_Main_B (ref $function.m_getB__bridgejsmethod_Main_B))
 ))
)

;;; Code for bridgejsmethod.Main.P [type definition]
(type $bridgejsmethod.Main.P.vtable (sub (struct
 (field $m_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)

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

;;; Code for bridgejsmethod.Main.I.$LambdaAdaptor [type definition]
(type $bridgejsmethod.Main.I.$LambdaAdaptor.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_fun__java_lang_Number__java_lang_Number (ref $function.m_fun__java_lang_Number__java_lang_Number))
 ))
)
(type $bridgejsmethod.Main.I.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.I.$LambdaAdaptor.vtable))
 (field $itable (ref $bridgejsmethod.Main.I.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.J.$LambdaAdaptor [type definition]
(type $bridgejsmethod.Main.J.$LambdaAdaptor.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_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 ))
)
(type $bridgejsmethod.Main.J.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.J.$LambdaAdaptor.vtable))
 (field $itable (ref $bridgejsmethod.Main.J.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.G.$LambdaAdaptor [type definition]
(type $bridgejsmethod.Main.G.$LambdaAdaptor.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_enclose__java_lang_Object__java_lang_Object (ref $function.m_enclose__java_lang_Object__java_lang_Object))
 ))
)
(type $bridgejsmethod.Main.G.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.G.$LambdaAdaptor.vtable))
 (field $itable (ref $bridgejsmethod.Main.G.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.M.$LambdaAdaptor [type definition]
(type $bridgejsmethod.Main.M.$LambdaAdaptor.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_getB__bridgejsmethod_Main_B (ref $function.m_getB__bridgejsmethod_Main_B))
 ))
)
(type $bridgejsmethod.Main.M.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.M.$LambdaAdaptor.vtable))
 (field $itable (ref $bridgejsmethod.Main.M.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.P.$LambdaAdaptor [type definition]
(type $bridgejsmethod.Main.P.$LambdaAdaptor.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.P.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.P.$LambdaAdaptor.vtable))
 (field $itable (ref $bridgejsmethod.Main.P.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

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

;;; Code for bridgejsmethod.Main.K [type definition]
(type $bridgejsmethod.Main.K.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_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod (ref $function.m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod))
 ))
)
(type $bridgejsmethod.Main.K (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.K.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.N [type definition]
(type $bridgejsmethod.Main.N.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_getB__bridgejsmethod_Main_B (ref $function.m_getB__bridgejsmethod_Main_B))
 ))
)
(type $bridgejsmethod.Main.N (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.N.vtable))
 (field $itable (ref $bridgejsmethod.Main.N.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.N (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.Q [type definition]
(type $bridgejsmethod.Main.Q.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.Q (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.Q.vtable))
 (field $itable (ref $bridgejsmethod.Main.Q.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.Q (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.GrandParent [type definition]
(type $bridgejsmethod.Main.GrandParent.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_jsMethod__java_lang_Object__void (ref $function.m_jsMethod__java_lang_Object__void))
 (field $m_method__java_lang_Object__void (ref $function.m_method__java_lang_Object__void))
 ))
)
(type $bridgejsmethod.Main.GrandParent (sub $java.lang.Object (struct
 (field $vtable (ref $bridgejsmethod.Main.GrandParent.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.GrandParent (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.B [type definition]
(type $bridgejsmethod.Main.B.vtable (sub $bridgejsmethod.Main.A.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_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 (field $m_fun__java_lang_Object__java_lang_Object (ref $function.m_fun__java_lang_Object__java_lang_Object))
 (field $m_bar__java_lang_String__void (ref $function.m_bar__java_lang_String__void))
 (field $m_fun__java_lang_String__java_lang_String (ref $function.m_fun__java_lang_String__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.B (sub $bridgejsmethod.Main.A (struct
 (field $vtable (ref $bridgejsmethod.Main.B.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.C [type definition]
(type $bridgejsmethod.Main.C.vtable (sub $bridgejsmethod.Main.A.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_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 (field $m_fun__java_lang_Object__java_lang_Object (ref $function.m_fun__java_lang_Object__java_lang_Object))
 (field $m_fun__java_lang_Integer__java_lang_Integer (ref $function.m_fun__java_lang_Integer__java_lang_Integer))
 ))
)
(type $bridgejsmethod.Main.C (sub $bridgejsmethod.Main.A (struct
 (field $vtable (ref $bridgejsmethod.Main.C.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.D [type definition]
(type $bridgejsmethod.Main.D.vtable (sub $bridgejsmethod.Main.A.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_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 (field $m_fun__java_lang_Object__java_lang_Object (ref $function.m_fun__java_lang_Object__java_lang_Object))
 (field $m_fun__java_lang_Integer__java_lang_Integer (ref $function.m_fun__java_lang_Integer__java_lang_Integer))
 (field $m_fun__java_lang_Number__java_lang_Number (ref $function.m_fun__java_lang_Number__java_lang_Number))
 ))
)
(type $bridgejsmethod.Main.D (sub $bridgejsmethod.Main.A (struct
 (field $vtable (ref $bridgejsmethod.Main.D.vtable))
 (field $itable (ref $bridgejsmethod.Main.D.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.F [type definition]
(type $bridgejsmethod.Main.F.vtable (sub $bridgejsmethod.Main.A.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_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 (field $m_fun__java_lang_Object__java_lang_Object (ref $function.m_fun__java_lang_Object__java_lang_Object))
 (field $m_fun__java_lang_Integer__java_lang_Integer (ref $function.m_fun__java_lang_Integer__java_lang_Integer))
 (field $m_fun__java_lang_Number__java_lang_Number (ref $function.m_fun__java_lang_Number__java_lang_Number))
 ))
)
(type $bridgejsmethod.Main.F (sub $bridgejsmethod.Main.A (struct
 (field $vtable (ref $bridgejsmethod.Main.F.vtable))
 (field $itable (ref $bridgejsmethod.Main.F.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.L [type definition]
(type $bridgejsmethod.Main.L.vtable (sub $bridgejsmethod.Main.K.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_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod (ref $function.m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod))
 (field $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod (ref $function.m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod))
 ))
)
(type $bridgejsmethod.Main.L (sub $bridgejsmethod.Main.K (struct
 (field $vtable (ref $bridgejsmethod.Main.L.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.O [type definition]
(type $bridgejsmethod.Main.O.vtable (sub $bridgejsmethod.Main.N.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_getB__bridgejsmethod_Main_B (ref $function.m_getB__bridgejsmethod_Main_B))
 ))
)
(type $bridgejsmethod.Main.O (sub $bridgejsmethod.Main.N (struct
 (field $vtable (ref $bridgejsmethod.Main.O.vtable))
 (field $itable (ref $bridgejsmethod.Main.O.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.N (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.O (mut (ref null $bridgejsmethod.Main)))
 (field $b@bridgejsmethod.Main.O (mut (ref null $bridgejsmethod.Main.B)))
 ))
)

;;; Code for bridgejsmethod.Main.R [type definition]
(type $bridgejsmethod.Main.R.vtable (sub $bridgejsmethod.Main.Q.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.R (sub $bridgejsmethod.Main.Q (struct
 (field $vtable (ref $bridgejsmethod.Main.R.vtable))
 (field $itable (ref $bridgejsmethod.Main.R.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.Q (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.R (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.Parent [type definition]
(type $bridgejsmethod.Main.Parent.vtable (sub $bridgejsmethod.Main.GrandParent.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_jsMethod__java_lang_Object__void (ref $function.m_jsMethod__java_lang_Object__void))
 (field $m_method__java_lang_Object__void (ref $function.m_method__java_lang_Object__void))
 (field $m_jsMethod__bridgejsmethod_Main_Parent__void (ref $function.m_jsMethod__bridgejsmethod_Main_Parent__void))
 (field $m_method__bridgejsmethod_Main_Parent__void (ref $function.m_method__bridgejsmethod_Main_Parent__void))
 ))
)
(type $bridgejsmethod.Main.Parent (sub $bridgejsmethod.Main.GrandParent (struct
 (field $vtable (ref $bridgejsmethod.Main.Parent.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.GrandParent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.Parent (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.ChildWithRenamedOverride [type definition]
(type $bridgejsmethod.Main.ChildWithRenamedOverride.vtable (sub $bridgejsmethod.Main.GrandParent.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_jsMethod__java_lang_Object__void (ref $function.m_jsMethod__java_lang_Object__void))
 (field $m_method__java_lang_Object__void (ref $function.m_method__java_lang_Object__void))
 (field $m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void (ref $function.m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void))
 ))
)
(type $bridgejsmethod.Main.ChildWithRenamedOverride (sub $bridgejsmethod.Main.GrandParent (struct
 (field $vtable (ref $bridgejsmethod.Main.ChildWithRenamedOverride.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.GrandParent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.ChildWithRenamedOverride (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.E [type definition]
(type $bridgejsmethod.Main.E.vtable (sub $bridgejsmethod.Main.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))
 (field $m_bar__java_lang_Object__void (ref $function.m_bar__java_lang_Object__void))
 (field $m_fun__java_lang_Object__java_lang_Object (ref $function.m_fun__java_lang_Object__java_lang_Object))
 (field $m_bar__java_lang_String__void (ref $function.m_bar__java_lang_String__void))
 (field $m_fun__java_lang_String__java_lang_String (ref $function.m_fun__java_lang_String__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.E (sub $bridgejsmethod.Main.B (struct
 (field $vtable (ref $bridgejsmethod.Main.E.vtable))
 (field $itable (ref $bridgejsmethod.Main.E.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for bridgejsmethod.Main.S [type definition]
(type $bridgejsmethod.Main.S.vtable (sub $bridgejsmethod.Main.R.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)
(type $bridgejsmethod.Main.S (sub $bridgejsmethod.Main.R (struct
 (field $vtable (ref $bridgejsmethod.Main.S.vtable))
 (field $itable (ref $bridgejsmethod.Main.S.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.Q (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.R (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.S (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.ChildWithoutOverrides [type definition]
(type $bridgejsmethod.Main.ChildWithoutOverrides.vtable (sub $bridgejsmethod.Main.Parent.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_jsMethod__java_lang_Object__void (ref $function.m_jsMethod__java_lang_Object__void))
 (field $m_method__java_lang_Object__void (ref $function.m_method__java_lang_Object__void))
 (field $m_jsMethod__bridgejsmethod_Main_Parent__void (ref $function.m_jsMethod__bridgejsmethod_Main_Parent__void))
 (field $m_method__bridgejsmethod_Main_Parent__void (ref $function.m_method__bridgejsmethod_Main_Parent__void))
 ))
)
(type $bridgejsmethod.Main.ChildWithoutOverrides (sub $bridgejsmethod.Main.Parent (struct
 (field $vtable (ref $bridgejsmethod.Main.ChildWithoutOverrides.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.GrandParent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.Parent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.ChildWithoutOverrides (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.ChildWithOverrides [type definition]
(type $bridgejsmethod.Main.ChildWithOverrides.vtable (sub $bridgejsmethod.Main.Parent.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_jsMethod__java_lang_Object__void (ref $function.m_jsMethod__java_lang_Object__void))
 (field $m_method__java_lang_Object__void (ref $function.m_method__java_lang_Object__void))
 (field $m_jsMethod__bridgejsmethod_Main_Parent__void (ref $function.m_jsMethod__bridgejsmethod_Main_Parent__void))
 (field $m_method__bridgejsmethod_Main_Parent__void (ref $function.m_method__bridgejsmethod_Main_Parent__void))
 (field $m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void (ref $function.m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void))
 (field $m_method__bridgejsmethod_Main_ChildWithOverrides__void (ref $function.m_method__bridgejsmethod_Main_ChildWithOverrides__void))
 ))
)
(type $bridgejsmethod.Main.ChildWithOverrides (sub $bridgejsmethod.Main.Parent (struct
 (field $vtable (ref $bridgejsmethod.Main.ChildWithOverrides.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@bridgejsmethod.Main.GrandParent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.Parent (mut (ref null $bridgejsmethod.Main)))
 (field $$outer_this@bridgejsmethod.Main.ChildWithOverrides (mut (ref null $bridgejsmethod.Main)))
 ))
)

;;; Code for bridgejsmethod.Main.I [imports]

;;; Code for bridgejsmethod.Main.J [imports]

;;; Code for bridgejsmethod.Main.G [imports]

;;; Code for bridgejsmethod.Main.M [imports]

;;; Code for bridgejsmethod.Main.P [imports]

;;; Code for bridgejsmethod.Main [imports]

;;; Code for bridgejsmethod.Main.I.$LambdaAdaptor [imports]

;;; Code for bridgejsmethod.Main.J.$LambdaAdaptor [imports]

;;; Code for bridgejsmethod.Main.G.$LambdaAdaptor [imports]

;;; Code for bridgejsmethod.Main.M.$LambdaAdaptor [imports]

;;; Code for bridgejsmethod.Main.P.$LambdaAdaptor [imports]

;;; Code for bridgejsmethod.Main.A [imports]

;;; Code for bridgejsmethod.Main.H [imports]

;;; Code for bridgejsmethod.Main.K [imports]

;;; Code for bridgejsmethod.Main.N [imports]

;;; Code for bridgejsmethod.Main.Q [imports]

;;; Code for bridgejsmethod.Main.GrandParent [imports]

;;; Code for bridgejsmethod.Main.B [imports]

;;; Code for bridgejsmethod.Main.C [imports]

;;; Code for bridgejsmethod.Main.D [imports]

;;; Code for bridgejsmethod.Main.F [imports]

;;; Code for bridgejsmethod.Main.L [imports]

;;; Code for bridgejsmethod.Main.O [imports]

;;; Code for bridgejsmethod.Main.R [imports]

;;; Code for bridgejsmethod.Main.Parent [imports]

;;; Code for bridgejsmethod.Main.ChildWithRenamedOverride [imports]

;;; Code for bridgejsmethod.Main.E [imports]

;;; Code for bridgejsmethod.Main.S [imports]

;;; Code for bridgejsmethod.Main.ChildWithoutOverrides [imports]

;;; Code for bridgejsmethod.Main.ChildWithOverrides [imports]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for bridgejsmethod.Main.B [vtable.init]
(global $bridgejsmethod.Main.B.vtable (ref $bridgejsmethod.Main.B.vtable)
 (struct.new $bridgejsmethod.Main.B.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.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)
  (ref.func $m_bar__java_lang_Object__void@bridgejsmethod.Main.B)
  (ref.func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.B)
  (ref.func $m_bar__java_lang_String__void@bridgejsmethod.Main.B)
  (ref.func $m_fun__java_lang_String__java_lang_String@bridgejsmethod.Main.B)
 )
)

;;; Code for bridgejsmethod.Main.C [vtable.init]
(global $bridgejsmethod.Main.C.vtable (ref $bridgejsmethod.Main.C.vtable)
 (struct.new $bridgejsmethod.Main.C.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.C)
  (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_bar__java_lang_Object__void@bridgejsmethod.Main.A)
  (ref.func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.C)
  (ref.func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.C)
 )
)

;;; Code for bridgejsmethod.Main.D [vtable.init]
(global $bridgejsmethod.Main.D.vtable (ref $bridgejsmethod.Main.D.vtable)
 (struct.new $bridgejsmethod.Main.D.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.D)
  (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_bar__java_lang_Object__void@bridgejsmethod.Main.A)
  (ref.func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.D)
  (ref.func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.D)
  (ref.func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.D)
 )
)
(global $bridgejsmethod.Main.I.vtable@$bridgejsmethod.Main.D (ref $bridgejsmethod.Main.I.vtable)
 (struct.new $bridgejsmethod.Main.I.vtable
  (ref.func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.D)
 )
)

;;; Code for bridgejsmethod.Main.E [vtable.init]
(global $bridgejsmethod.Main.E.vtable (ref $bridgejsmethod.Main.E.vtable)
 (struct.new $bridgejsmethod.Main.E.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.E)
  (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_bar__java_lang_Object__void@bridgejsmethod.Main.B)
  (ref.func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.B)
  (ref.func $m_bar__java_lang_String__void@bridgejsmethod.Main.B)
  (ref.func $m_fun__java_lang_String__java_lang_String@bridgejsmethod.Main.B)
 )
)
(global $bridgejsmethod.Main.J.vtable@$bridgejsmethod.Main.E (ref $bridgejsmethod.Main.J.vtable)
 (struct.new $bridgejsmethod.Main.J.vtable
  (ref.func $m_bar__java_lang_Object__void@bridgejsmethod.Main.B)
 )
)

;;; Code for bridgejsmethod.Main.F [vtable.init]
(global $bridgejsmethod.Main.F.vtable (ref $bridgejsmethod.Main.F.vtable)
 (struct.new $bridgejsmethod.Main.F.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.F)
  (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_bar__java_lang_Object__void@bridgejsmethod.Main.A)
  (ref.func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.A)
  (ref.func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.F)
  (ref.func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.F)
 )
)
(global $bridgejsmethod.Main.I.vtable@$bridgejsmethod.Main.F (ref $bridgejsmethod.Main.I.vtable)
 (struct.new $bridgejsmethod.Main.I.vtable
  (ref.func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.F)
 )
)

;;; Code for bridgejsmethod.Main.H [vtable.init]
(global $bridgejsmethod.Main.H.vtable (ref $bridgejsmethod.Main.H.vtable)
 (struct.new $bridgejsmethod.Main.H.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.H)
  (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_enclose__java_lang_Object__java_lang_Object@bridgejsmethod.Main.H)
 )
)
(global $bridgejsmethod.Main.G.vtable@$bridgejsmethod.Main.H (ref $bridgejsmethod.Main.G.vtable)
 (struct.new $bridgejsmethod.Main.G.vtable
  (ref.func $m_enclose__java_lang_Object__java_lang_Object@bridgejsmethod.Main.H)
 )
)

;;; Code for bridgejsmethod.Main.K [vtable.init]
(global $bridgejsmethod.Main.K.vtable (ref $bridgejsmethod.Main.K.vtable)
 (struct.new $bridgejsmethod.Main.K.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.K)
  (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_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.K)
 )
)

;;; Code for bridgejsmethod.Main.L [vtable.init]
(global $bridgejsmethod.Main.L.vtable (ref $bridgejsmethod.Main.L.vtable)
 (struct.new $bridgejsmethod.Main.L.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.L)
  (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_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L)
  (ref.func $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L)
 )
)

;;; Code for bridgejsmethod.Main.O [vtable.init]
(global $bridgejsmethod.Main.O.vtable (ref $bridgejsmethod.Main.O.vtable)
 (struct.new $bridgejsmethod.Main.O.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.O)
  (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_getB__bridgejsmethod_Main_B@bridgejsmethod.Main.O)
 )
)
(global $bridgejsmethod.Main.M.vtable@$bridgejsmethod.Main.O (ref $bridgejsmethod.Main.M.vtable)
 (struct.new $bridgejsmethod.Main.M.vtable
  (ref.func $m_getB__bridgejsmethod_Main_B@bridgejsmethod.Main.O)
 )
)

;;; Code for bridgejsmethod.Main.S [vtable.init]
(global $bridgejsmethod.Main.S.vtable (ref $bridgejsmethod.Main.S.vtable)
 (struct.new $bridgejsmethod.Main.S.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.S)
  (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_getKey__java_lang_String@bridgejsmethod.Main.R)
 )
)
(global $bridgejsmethod.Main.P.vtable@$bridgejsmethod.Main.S (ref $bridgejsmethod.Main.P.vtable)
 (struct.new $bridgejsmethod.Main.P.vtable
  (ref.func $m_getKey__java_lang_String@bridgejsmethod.Main.R)
 )
)

;;; Code for bridgejsmethod.Main.GrandParent [vtable.init]
(global $bridgejsmethod.Main.GrandParent.vtable (ref $bridgejsmethod.Main.GrandParent.vtable)
 (struct.new $bridgejsmethod.Main.GrandParent.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.GrandParent)
  (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_jsMethod__java_lang_Object__void@bridgejsmethod.Main.GrandParent)
  (ref.func $m_method__java_lang_Object__void@bridgejsmethod.Main.GrandParent)
 )
)

;;; Code for bridgejsmethod.Main.Parent [vtable.init]
(global $bridgejsmethod.Main.Parent.vtable (ref $bridgejsmethod.Main.Parent.vtable)
 (struct.new $bridgejsmethod.Main.Parent.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.Parent)
  (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_jsMethod__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_method__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)
  (ref.func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)
 )
)

;;; Code for bridgejsmethod.Main.ChildWithoutOverrides [vtable.init]
(global $bridgejsmethod.Main.ChildWithoutOverrides.vtable (ref $bridgejsmethod.Main.ChildWithoutOverrides.vtable)
 (struct.new $bridgejsmethod.Main.ChildWithoutOverrides.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.ChildWithoutOverrides)
  (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_jsMethod__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_method__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)
  (ref.func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)
 )
)

;;; Code for bridgejsmethod.Main.ChildWithOverrides [vtable.init]
(global $bridgejsmethod.Main.ChildWithOverrides.vtable (ref $bridgejsmethod.Main.ChildWithOverrides.vtable)
 (struct.new $bridgejsmethod.Main.ChildWithOverrides.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.ChildWithOverrides)
  (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_jsMethod__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_method__java_lang_Object__void@bridgejsmethod.Main.Parent)
  (ref.func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides)
  (ref.func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides)
  (ref.func $m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides)
  (ref.func $m_method__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides)
 )
)

;;; Code for bridgejsmethod.Main.ChildWithRenamedOverride [vtable.init]
(global $bridgejsmethod.Main.ChildWithRenamedOverride.vtable (ref $bridgejsmethod.Main.ChildWithRenamedOverride.vtable)
 (struct.new $bridgejsmethod.Main.ChildWithRenamedOverride.vtable
  (ref.func $$getClassImpl__java_lang_Class@bridgejsmethod.Main.ChildWithRenamedOverride)
  (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_jsMethod__java_lang_Object__void@bridgejsmethod.Main.ChildWithRenamedOverride)
  (ref.func $m_method__java_lang_Object__void@bridgejsmethod.Main.GrandParent)
  (ref.func $m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void@bridgejsmethod.Main.ChildWithRenamedOverride)
 )
)

;;; Code for bridgejsmethod.Main.I [methods]

;;; void I.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.I
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
  (if (global.get $$class-initialized@bridgejsmethod.Main.I)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
  (global.set $$class-initialized@bridgejsmethod.Main.I (i32.const 1))
 )
)

;;; Class<T> I.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@bridgejsmethod.Main.I
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@bridgejsmethod.Main.I)))
   (then
    (return (global.get $$class@bridgejsmethod.Main.I))
   )
  )
  (global.set $$class@bridgejsmethod.Main.I (call $m_createForInterface__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|bridgejsmeth...|__java_lang_String_<once>_@bridgejsmethod.Main.I )))
  (return (global.get $$class@bridgejsmethod.Main.I))
 )
)

;;; Code for bridgejsmethod.Main.J [methods]

;;; void J.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.J
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
  (if (global.get $$class-initialized@bridgejsmethod.Main.J)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
  (global.set $$class-initialized@bridgejsmethod.Main.J (i32.const 1))
 )
)

;;; Class<T> J.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@bridgejsmethod.Main.J
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@bridgejsmethod.Main.J)))
   (then
    (return (global.get $$class@bridgejsmethod.Main.J))
   )
  )
  (global.set $$class@bridgejsmethod.Main.J (call $m_createForInterface__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|bridgejsmeth...|__java_lang_String_<once>_@bridgejsmethod.Main.J )))
  (return (global.get $$class@bridgejsmethod.Main.J))
 )
)

;;; Code for bridgejsmethod.Main.G [methods]

;;; void G.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.G
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
  (if (global.get $$class-initialized@bridgejsmethod.Main.G)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
  (global.set $$class-initialized@bridgejsmethod.Main.G (i32.const 1))
 )
)

;;; Class<T> G.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@bridgejsmethod.Main.G
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@bridgejsmethod.Main.G)))
   (then
    (return (global.get $$class@bridgejsmethod.Main.G))
   )
  )
  (global.set $$class@bridgejsmethod.Main.G (call $m_createForInterface__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|bridgejsmeth...|__java_lang_String_<once>_@bridgejsmethod.Main.G )))
  (return (global.get $$class@bridgejsmethod.Main.G))
 )
)

;;; Code for bridgejsmethod.Main.M [methods]

;;; void M.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.M
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
  (if (global.get $$class-initialized@bridgejsmethod.Main.M)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
  (global.set $$class-initialized@bridgejsmethod.Main.M (i32.const 1))
 )
)

;;; Class<T> M.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@bridgejsmethod.Main.M
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@bridgejsmethod.Main.M)))
   (then
    (return (global.get $$class@bridgejsmethod.Main.M))
   )
  )
  (global.set $$class@bridgejsmethod.Main.M (call $m_createForInterface__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|bridgejsmeth...|__java_lang_String_<once>_@bridgejsmethod.Main.M )))
  (return (global.get $$class@bridgejsmethod.Main.M))
 )
)

;;; Code for bridgejsmethod.Main.P [methods]

;;; void P.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.P
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
  (if (global.get $$class-initialized@bridgejsmethod.Main.P)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
  (global.set $$class-initialized@bridgejsmethod.Main.P (i32.const 1))
 )
)

;;; Class<T> P.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@bridgejsmethod.Main.P
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@bridgejsmethod.Main.P)))
   (then
    (return (global.get $$class@bridgejsmethod.Main.P))
   )
  )
  (global.set $$class@bridgejsmethod.Main.P (call $m_createForInterface__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|bridgejsmeth...|__java_lang_String_<once>_@bridgejsmethod.Main.P )))
  (return (global.get $$class@bridgejsmethod.Main.P))
 )
)

;;; Code for bridgejsmethod.Main [methods]

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

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

;;; void Main.test()
(func $m_test__void@bridgejsmethod.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:162:21
 (local $a (ref null $bridgejsmethod.Main.A))
 (local $b (ref null $bridgejsmethod.Main.B))
 (local $c (ref null $bridgejsmethod.Main.C))
 (local $d (ref null $bridgejsmethod.Main.D))
 (local $e (ref null $bridgejsmethod.Main.E))
 (local $h (ref null $bridgejsmethod.Main.H))
 (local $l (ref null $bridgejsmethod.Main.L))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:162:28
  (call $$clinit__void_<once>_@bridgejsmethod.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:163:4
  (local.set $a (call $$create__@bridgejsmethod.Main.A ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:164:4
  (drop (call_ref $function.m_fun__java_lang_Object__java_lang_Object (ref.as_non_null (local.get $a))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.A.vtable $m_fun__java_lang_Object__java_lang_Object (struct.get $bridgejsmethod.Main.A $vtable(local.get $a)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:165:4
  (call_ref $function.m_bar__java_lang_Object__void (ref.as_non_null (local.get $a))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.A.vtable $m_bar__java_lang_Object__void (struct.get $bridgejsmethod.Main.A $vtable(local.get $a))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:166:4
  (local.set $b (call $$create__@bridgejsmethod.Main.B ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:167:4
  (drop (call_ref $function.m_fun__java_lang_String__java_lang_String (ref.as_non_null (local.get $b))(call $$getString_|abc|__java_lang_String_<once>_@bridgejsmethod.Main )(struct.get $bridgejsmethod.Main.B.vtable $m_fun__java_lang_String__java_lang_String (struct.get $bridgejsmethod.Main.B $vtable(local.get $b)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:168:4
  (call_ref $function.m_bar__java_lang_String__void (ref.as_non_null (local.get $b))(call $$getString_|abc|__java_lang_String_<once>_@bridgejsmethod.Main )(struct.get $bridgejsmethod.Main.B.vtable $m_bar__java_lang_String__void (struct.get $bridgejsmethod.Main.B $vtable(local.get $b))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:169:4
  (local.set $c (call $$create__@bridgejsmethod.Main.C ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:170:4
  (drop (call_ref $function.m_fun__java_lang_Integer__java_lang_Integer (ref.as_non_null (local.get $c))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.C.vtable $m_fun__java_lang_Integer__java_lang_Integer (struct.get $bridgejsmethod.Main.C $vtable(local.get $c)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:171:4
  (call_ref $function.m_bar__java_lang_Object__void (ref.as_non_null (local.get $c))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.C.vtable $m_bar__java_lang_Object__void (struct.get $bridgejsmethod.Main.C $vtable(local.get $c))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:172:4
  (local.set $d (call $$create__@bridgejsmethod.Main.D ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:173:4
  (drop (call_ref $function.m_fun__java_lang_Integer__java_lang_Integer (ref.as_non_null (local.get $d))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.D.vtable $m_fun__java_lang_Integer__java_lang_Integer (struct.get $bridgejsmethod.Main.D $vtable(local.get $d)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:174:4
  (call_ref $function.m_bar__java_lang_Object__void (ref.as_non_null (local.get $d))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.D.vtable $m_bar__java_lang_Object__void (struct.get $bridgejsmethod.Main.D $vtable(local.get $d))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:175:4
  (local.set $e (call $$create__@bridgejsmethod.Main.E ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:176:4
  (drop (call_ref $function.m_fun__java_lang_String__java_lang_String (ref.as_non_null (local.get $e))(call $$getString_|abc|__java_lang_String_<once>_@bridgejsmethod.Main )(struct.get $bridgejsmethod.Main.E.vtable $m_fun__java_lang_String__java_lang_String (struct.get $bridgejsmethod.Main.E $vtable(local.get $e)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:177:4
  (call_ref $function.m_bar__java_lang_String__void (ref.as_non_null (local.get $e))(call $$getString_|abc|__java_lang_String_<once>_@bridgejsmethod.Main )(struct.get $bridgejsmethod.Main.E.vtable $m_bar__java_lang_String__void (struct.get $bridgejsmethod.Main.E $vtable(local.get $e))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:178:4
  (local.set $h (call $$create__@bridgejsmethod.Main.H ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:179:4
  (drop (call_ref $function.m_enclose__java_lang_Object__java_lang_Object (ref.as_non_null (local.get $h))(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.H.vtable $m_enclose__java_lang_Object__java_lang_Object (struct.get $bridgejsmethod.Main.H $vtable(local.get $h)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:180:4
  (local.set $l (call $$create__@bridgejsmethod.Main.L ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:181:4
  (call_ref $function.m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod (ref.as_non_null (local.get $l))(call $$getString_|foo|__java_lang_String_<once>_@bridgejsmethod.Main )(call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1))(struct.get $bridgejsmethod.Main.L.vtable $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod (struct.get $bridgejsmethod.Main.L $vtable(local.get $l))))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.I.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_I_$LambdaAdaptor@bridgejsmethod.Main.I.$LambdaAdaptor
 (param $this (ref null $bridgejsmethod.Main.I.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:33:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.J.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_J_$LambdaAdaptor@bridgejsmethod.Main.J.$LambdaAdaptor
 (param $this (ref null $bridgejsmethod.Main.J.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:39:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.G.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_G_$LambdaAdaptor@bridgejsmethod.Main.G.$LambdaAdaptor
 (param $this (ref null $bridgejsmethod.Main.G.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:87:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.M.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_M_$LambdaAdaptor@bridgejsmethod.Main.M.$LambdaAdaptor
 (param $this (ref null $bridgejsmethod.Main.M.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:119:12
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.P.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_P_$LambdaAdaptor@bridgejsmethod.Main.P.$LambdaAdaptor
 (param $this (ref null $bridgejsmethod.Main.P.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:141:12
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.A [methods]

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

;;; void A.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_A@bridgejsmethod.Main.A
 (param $this (ref null $bridgejsmethod.Main.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:22:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:22:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; T A.fun(T t)
(func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.A
 (type $function.m_fun__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:24:13
 (local $this (ref null $bridgejsmethod.Main.A))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.A) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:25:6
  (return (local.get $t))
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.A)

;;; void A.bar(T t)
(func $m_bar__java_lang_Object__void@bridgejsmethod.Main.A
 (type $function.m_bar__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:29:16
 (local $this (ref null $bridgejsmethod.Main.A))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.A) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_bar__java_lang_Object__void@bridgejsmethod.Main.A)

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

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

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

;;; Code for bridgejsmethod.Main.H [methods]

;;; H<V> H.$create()
(func $$create__@bridgejsmethod.Main.H
 (result (ref null $bridgejsmethod.Main.H))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
 (local $$instance (ref null $bridgejsmethod.Main.H))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.H )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.H (global.get $bridgejsmethod.Main.H.vtable) (global.get $bridgejsmethod.Main.H.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
  (call $$ctor__void_$p_bridgejsmethod_Main_H@bridgejsmethod.Main.H (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
  (return (local.get $$instance))
 )
)

;;; void H.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_H@bridgejsmethod.Main.H
 (param $this (ref null $bridgejsmethod.Main.H))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:91:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; V H.enclose(V value)
(func $m_enclose__java_lang_Object__java_lang_Object@bridgejsmethod.Main.H
 (type $function.m_enclose__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $value (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:100:13
 (local $this (ref null $bridgejsmethod.Main.H))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.H) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:101:6
  (return (ref.null $java.lang.Object))
 )
)
(elem declare func $m_enclose__java_lang_Object__java_lang_Object@bridgejsmethod.Main.H)

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

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

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

;;; Code for bridgejsmethod.Main.K [methods]

;;; K<K1, K2> K.$create()
(func $$create__@bridgejsmethod.Main.K
 (result (ref null $bridgejsmethod.Main.K))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
 (local $$instance (ref null $bridgejsmethod.Main.K))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.K )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.K (global.get $bridgejsmethod.Main.K.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
  (call $$ctor__void_$p_bridgejsmethod_Main_K@bridgejsmethod.Main.K (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
  (return (local.get $$instance))
 )
)

;;; void K.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_K@bridgejsmethod.Main.K
 (param $this (ref null $bridgejsmethod.Main.K))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:105:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void K.fun(K1 k1, K2 k2)
(func $m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.K
 (type $function.m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod)
 (param $this.untyped (ref $java.lang.Object))
 (param $k1 (ref null $java.lang.Object))
 (param $k2 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:106:9
 (local $this (ref null $bridgejsmethod.Main.K))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.K) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.K)

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

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

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

;;; Code for bridgejsmethod.Main.N [methods]

;;; void N.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_N@bridgejsmethod.Main.N
 (param $this (ref null $bridgejsmethod.Main.N))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:126:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:125:17
  (struct.set $bridgejsmethod.Main.N $$outer_this@bridgejsmethod.Main.N (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:126:8
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.Q [methods]

;;; void Q.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Q@bridgejsmethod.Main.Q
 (param $this (ref null $bridgejsmethod.Main.Q))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:147:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:147:17
  (struct.set $bridgejsmethod.Main.Q $$outer_this@bridgejsmethod.Main.Q (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:147:17
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for bridgejsmethod.Main.GrandParent [methods]

;;; GrandParent<T> GrandParent.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.GrandParent
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.GrandParent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
 (local $$instance (ref null $bridgejsmethod.Main.GrandParent))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.GrandParent )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.GrandParent (global.get $bridgejsmethod.Main.GrandParent.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_GrandParent@bridgejsmethod.Main.GrandParent (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (return (local.get $$instance))
 )
)

;;; void GrandParent.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_GrandParent@bridgejsmethod.Main.GrandParent
 (param $this (ref null $bridgejsmethod.Main.GrandParent))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (struct.set $bridgejsmethod.Main.GrandParent $$outer_this@bridgejsmethod.Main.GrandParent (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:185:8
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void GrandParent.jsMethod(T t)
(func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.GrandParent
 (type $function.m_jsMethod__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:189:16
 (local $this (ref null $bridgejsmethod.Main.GrandParent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.GrandParent) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.GrandParent)

;;; void GrandParent.method(T t)
(func $m_method__java_lang_Object__void@bridgejsmethod.Main.GrandParent
 (type $function.m_method__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:191:16
 (local $this (ref null $bridgejsmethod.Main.GrandParent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.GrandParent) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_method__java_lang_Object__void@bridgejsmethod.Main.GrandParent)

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

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

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

;;; Code for bridgejsmethod.Main.B [methods]

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

;;; void B.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_B@bridgejsmethod.Main.B
 (param $this (ref null $bridgejsmethod.Main.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
  (call $$ctor__void_$p_bridgejsmethod_Main_A@bridgejsmethod.Main.A (ref.as_non_null (local.get $this)))
 )
)

;;; String B.fun(String s)
(func $m_fun__java_lang_String__java_lang_String@bridgejsmethod.Main.B
 (type $function.m_fun__java_lang_String__java_lang_String)
 (param $this.untyped (ref $java.lang.Object))
 (param $s (ref null $java.lang.String))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:49:18
 (local $this (ref null $bridgejsmethod.Main.B))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.B) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:50:6
  (return (local.get $s))
 )
)
(elem declare func $m_fun__java_lang_String__java_lang_String@bridgejsmethod.Main.B)

;;; void B.bar(String s)
(func $m_bar__java_lang_String__void@bridgejsmethod.Main.B
 (type $function.m_bar__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $s (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:58:16
 (local $this (ref null $bridgejsmethod.Main.B))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.B) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_bar__java_lang_String__void@bridgejsmethod.Main.B)

;;; void B.bar(T arg0)
(func $m_bar__java_lang_Object__void@bridgejsmethod.Main.B
 (type $function.m_bar__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
 (local $this (ref null $bridgejsmethod.Main.B))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.B) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
  (call_ref $function.m_bar__java_lang_String__void (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0))(struct.get $bridgejsmethod.Main.B.vtable $m_bar__java_lang_String__void (struct.get $bridgejsmethod.Main.B $vtable(local.get $this))))
 )
)
(elem declare func $m_bar__java_lang_Object__void@bridgejsmethod.Main.B)

;;; String B.fun(T arg0)
(func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.B
 (type $function.m_fun__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
 (local $this (ref null $bridgejsmethod.Main.B))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.B) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:43:22
  (return (call_ref $function.m_fun__java_lang_String__java_lang_String (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0))(struct.get $bridgejsmethod.Main.B.vtable $m_fun__java_lang_String__java_lang_String (struct.get $bridgejsmethod.Main.B $vtable(local.get $this)))))
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.B)

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

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

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

;;; Code for bridgejsmethod.Main.C [methods]

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

;;; void C.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_C@bridgejsmethod.Main.C
 (param $this (ref null $bridgejsmethod.Main.C))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
  (call $$ctor__void_$p_bridgejsmethod_Main_A@bridgejsmethod.Main.A (ref.as_non_null (local.get $this)))
 )
)

;;; Integer C.fun(Integer i)
(func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.C
 (type $function.m_fun__java_lang_Integer__java_lang_Integer)
 (param $this.untyped (ref $java.lang.Object))
 (param $i (ref null $java.lang.Integer))
 (result (ref null $java.lang.Integer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:65:19
 (local $this (ref null $bridgejsmethod.Main.C))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.C) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:66:6
  (return (local.get $i))
 )
)
(elem declare func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.C)

;;; Integer C.fun(T arg0)
(func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.C
 (type $function.m_fun__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
 (local $this (ref null $bridgejsmethod.Main.C))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.C) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
  (return (call_ref $function.m_fun__java_lang_Integer__java_lang_Integer (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.Integer) (local.get $arg0))(struct.get $bridgejsmethod.Main.C.vtable $m_fun__java_lang_Integer__java_lang_Integer (struct.get $bridgejsmethod.Main.C $vtable(local.get $this)))))
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.C)

;;; void C.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.C
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
  (if (global.get $$class-initialized@bridgejsmethod.Main.C)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
  (global.set $$class-initialized@bridgejsmethod.Main.C (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:61:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.A )
 )
)

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

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

;;; Code for bridgejsmethod.Main.D [methods]

;;; D D.$create()
(func $$create__@bridgejsmethod.Main.D
 (result (ref null $bridgejsmethod.Main.D))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
 (local $$instance (ref null $bridgejsmethod.Main.D))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.D )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.D (global.get $bridgejsmethod.Main.D.vtable) (global.get $bridgejsmethod.Main.D.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (call $$ctor__void_$p_bridgejsmethod_Main_D@bridgejsmethod.Main.D (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (return (local.get $$instance))
 )
)

;;; void D.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_D@bridgejsmethod.Main.D
 (param $this (ref null $bridgejsmethod.Main.D))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (call $$ctor__void_$p_bridgejsmethod_Main_A@bridgejsmethod.Main.A (ref.as_non_null (local.get $this)))
 )
)

;;; Integer D.fun(Integer i)
(func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.D
 (type $function.m_fun__java_lang_Integer__java_lang_Integer)
 (param $this.untyped (ref $java.lang.Object))
 (param $i (ref null $java.lang.Integer))
 (result (ref null $java.lang.Integer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:74:19
 (local $this (ref null $bridgejsmethod.Main.D))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.D) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:75:6
  (return (local.get $i))
 )
)
(elem declare func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.D)

;;; Integer D.fun(T arg0)
(func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.D
 (type $function.m_fun__java_lang_Number__java_lang_Number)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Number))
 (result (ref null $java.lang.Number))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
 (local $this (ref null $bridgejsmethod.Main.D))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.D) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (return (call_ref $function.m_fun__java_lang_Integer__java_lang_Integer (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.Integer) (local.get $arg0))(struct.get $bridgejsmethod.Main.D.vtable $m_fun__java_lang_Integer__java_lang_Integer (struct.get $bridgejsmethod.Main.D $vtable(local.get $this)))))
 )
)
(elem declare func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.D)

;;; Integer D.fun(T arg0)
(func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.D
 (type $function.m_fun__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
 (local $this (ref null $bridgejsmethod.Main.D))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.D) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (return (call_ref $function.m_fun__java_lang_Integer__java_lang_Integer (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.Integer) (local.get $arg0))(struct.get $bridgejsmethod.Main.D.vtable $m_fun__java_lang_Integer__java_lang_Integer (struct.get $bridgejsmethod.Main.D $vtable(local.get $this)))))
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.D)

;;; void D.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.D
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (if (global.get $$class-initialized@bridgejsmethod.Main.D)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (global.set $$class-initialized@bridgejsmethod.Main.D (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:70:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.A )
 )
)

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

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

;;; Code for bridgejsmethod.Main.F [methods]

;;; F F.$create()
(func $$create__@bridgejsmethod.Main.F
 (result (ref null $bridgejsmethod.Main.F))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
 (local $$instance (ref null $bridgejsmethod.Main.F))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.F )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.F (global.get $bridgejsmethod.Main.F.vtable) (global.get $bridgejsmethod.Main.F.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (call $$ctor__void_$p_bridgejsmethod_Main_F@bridgejsmethod.Main.F (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (return (local.get $$instance))
 )
)

;;; void F.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_F@bridgejsmethod.Main.F
 (param $this (ref null $bridgejsmethod.Main.F))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (call $$ctor__void_$p_bridgejsmethod_Main_A@bridgejsmethod.Main.A (ref.as_non_null (local.get $this)))
 )
)

;;; Integer F.fun(T arg0)
(func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.F
 (type $function.m_fun__java_lang_Number__java_lang_Number)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Number))
 (result (ref null $java.lang.Number))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
 (local $this (ref null $bridgejsmethod.Main.F))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.F) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (return (ref.cast (ref null $java.lang.Integer) (call_ref $function.m_fun__java_lang_Object__java_lang_Object (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.Integer) (local.get $arg0))(struct.get $bridgejsmethod.Main.F.vtable $m_fun__java_lang_Object__java_lang_Object (struct.get $bridgejsmethod.Main.F $vtable(local.get $this))))))
 )
)
(elem declare func $m_fun__java_lang_Number__java_lang_Number@bridgejsmethod.Main.F)

;;; Integer F.fun(Integer arg0)
(func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.F
 (type $function.m_fun__java_lang_Integer__java_lang_Integer)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Integer))
 (result (ref null $java.lang.Integer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
 (local $this (ref null $bridgejsmethod.Main.F))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.F) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (return (ref.cast (ref null $java.lang.Integer) (call $m_fun__java_lang_Object__java_lang_Object@bridgejsmethod.Main.A (ref.as_non_null (local.get $this))(local.get $arg0))))
 )
)
(elem declare func $m_fun__java_lang_Integer__java_lang_Integer@bridgejsmethod.Main.F)

;;; void F.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.F
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (if (global.get $$class-initialized@bridgejsmethod.Main.F)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (global.set $$class-initialized@bridgejsmethod.Main.F (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:85:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.A )
 )
)

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

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

;;; Code for bridgejsmethod.Main.L [methods]

;;; L<L1> L.$create()
(func $$create__@bridgejsmethod.Main.L
 (result (ref null $bridgejsmethod.Main.L))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
 (local $$instance (ref null $bridgejsmethod.Main.L))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.L )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.L (global.get $bridgejsmethod.Main.L.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (call $$ctor__void_$p_bridgejsmethod_Main_L@bridgejsmethod.Main.L (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (return (local.get $$instance))
 )
)

;;; void L.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_L@bridgejsmethod.Main.L
 (param $this (ref null $bridgejsmethod.Main.L))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (call $$ctor__void_$p_bridgejsmethod_Main_K@bridgejsmethod.Main.K (ref.as_non_null (local.get $this)))
 )
)

;;; void L.fun(String string, L1 l1)
(func $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L
 (type $function.m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod)
 (param $this.untyped (ref $java.lang.Object))
 (param $string (ref null $java.lang.String))
 (param $l1 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:116:9
 (local $this (ref null $bridgejsmethod.Main.L))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.L) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L)

;;; void L.fun(K1 arg0, K2 arg1)
(func $m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L
 (type $function.m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 (param $arg1 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
 (local $this (ref null $bridgejsmethod.Main.L))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.L) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (call_ref $function.m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0))(local.get $arg1)(struct.get $bridgejsmethod.Main.L.vtable $m_fun__java_lang_String__java_lang_Object__void_$pp_bridgejsmethod (struct.get $bridgejsmethod.Main.L $vtable(local.get $this))))
 )
)
(elem declare func $m_fun__java_lang_Object__java_lang_Object__void_$pp_bridgejsmethod@bridgejsmethod.Main.L)

;;; void L.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.L
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (if (global.get $$class-initialized@bridgejsmethod.Main.L)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (global.set $$class-initialized@bridgejsmethod.Main.L (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:109:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.K )
 )
)

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

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

;;; Code for bridgejsmethod.Main.O [methods]

;;; O O.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.O
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.O))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
 (local $$instance (ref null $bridgejsmethod.Main.O))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.O )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.O (global.get $bridgejsmethod.Main.O.vtable) (global.get $bridgejsmethod.Main.O.itable) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main.B)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_O@bridgejsmethod.Main.O (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (return (local.get $$instance))
 )
)

;;; void O.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_O@bridgejsmethod.Main.O
 (param $this (ref null $bridgejsmethod.Main.O))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (struct.set $bridgejsmethod.Main.O $$outer_this@bridgejsmethod.Main.O (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_N@bridgejsmethod.Main.N (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; B O.getB()
(func $m_getB__bridgejsmethod_Main_B@bridgejsmethod.Main.O
 (type $function.m_getB__bridgejsmethod_Main_B)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $bridgejsmethod.Main.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:136:13
 (local $this (ref null $bridgejsmethod.Main.O))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.O) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:137:6
  (return (struct.get $bridgejsmethod.Main.O $b@bridgejsmethod.Main.O (local.get $this)))
 )
)
(elem declare func $m_getB__bridgejsmethod_Main_B@bridgejsmethod.Main.O)

;;; void O.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.O
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.O)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (global.set $$class-initialized@bridgejsmethod.Main.O (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:132:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.N )
 )
)

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

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

;;; Code for bridgejsmethod.Main.R [methods]

;;; void R.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_R@bridgejsmethod.Main.R
 (param $this (ref null $bridgejsmethod.Main.R))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
  (struct.set $bridgejsmethod.Main.R $$outer_this@bridgejsmethod.Main.R (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Q@bridgejsmethod.Main.Q (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; String R.getKey()
(func $m_getKey__java_lang_String@bridgejsmethod.Main.R
 (type $function.m_getKey__java_lang_String)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:155:18
 (local $this (ref null $bridgejsmethod.Main.R))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.R) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:156:6
  (return (ref.null $java.lang.String))
 )
)
(elem declare func $m_getKey__java_lang_String@bridgejsmethod.Main.R)

;;; void R.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.R
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
  (if (global.get $$class-initialized@bridgejsmethod.Main.R)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
  (global.set $$class-initialized@bridgejsmethod.Main.R (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:153:17
  (call $$clinit__void_<once>_@bridgejsmethod.Main.Q )
 )
)

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

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

;;; Code for bridgejsmethod.Main.Parent [methods]

;;; Parent<T> Parent.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.Parent
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.Parent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
 (local $$instance (ref null $bridgejsmethod.Main.Parent))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.Parent )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.Parent (global.get $bridgejsmethod.Main.Parent.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Parent@bridgejsmethod.Main.Parent (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (return (local.get $$instance))
 )
)

;;; void Parent.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Parent@bridgejsmethod.Main.Parent
 (param $this (ref null $bridgejsmethod.Main.Parent))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (struct.set $bridgejsmethod.Main.Parent $$outer_this@bridgejsmethod.Main.Parent (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_GrandParent@bridgejsmethod.Main.GrandParent (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void Parent.jsMethod(T t)
(func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent
 (type $function.m_jsMethod__bridgejsmethod_Main_Parent__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $bridgejsmethod.Main.Parent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:200:16
 (local $this (ref null $bridgejsmethod.Main.Parent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.Parent) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)

;;; void Parent.method(T t)
(func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent
 (type $function.m_method__bridgejsmethod_Main_Parent__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $bridgejsmethod.Main.Parent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:203:16
 (local $this (ref null $bridgejsmethod.Main.Parent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.Parent) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.Parent)

;;; void Parent.jsMethod(T arg0)
(func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.Parent
 (type $function.m_jsMethod__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
 (local $this (ref null $bridgejsmethod.Main.Parent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.Parent) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call_ref $function.m_jsMethod__bridgejsmethod_Main_Parent__void (ref.as_non_null (local.get $this))(ref.cast (ref null $bridgejsmethod.Main.Parent) (local.get $arg0))(struct.get $bridgejsmethod.Main.Parent.vtable $m_jsMethod__bridgejsmethod_Main_Parent__void (struct.get $bridgejsmethod.Main.Parent $vtable(local.get $this))))
 )
)
(elem declare func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.Parent)

;;; void Parent.method(T arg0)
(func $m_method__java_lang_Object__void@bridgejsmethod.Main.Parent
 (type $function.m_method__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
 (local $this (ref null $bridgejsmethod.Main.Parent))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.Parent) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call_ref $function.m_method__bridgejsmethod_Main_Parent__void (ref.as_non_null (local.get $this))(ref.cast (ref null $bridgejsmethod.Main.Parent) (local.get $arg0))(struct.get $bridgejsmethod.Main.Parent.vtable $m_method__bridgejsmethod_Main_Parent__void (struct.get $bridgejsmethod.Main.Parent $vtable(local.get $this))))
 )
)
(elem declare func $m_method__java_lang_Object__void@bridgejsmethod.Main.Parent)

;;; void Parent.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.Parent
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.Parent)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (global.set $$class-initialized@bridgejsmethod.Main.Parent (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:194:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.GrandParent )
 )
)

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

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

;;; Code for bridgejsmethod.Main.ChildWithRenamedOverride [methods]

;;; ChildWithRenamedOverride ChildWithRenamedOverride.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.ChildWithRenamedOverride
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
 (local $$instance (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithRenamedOverride )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.ChildWithRenamedOverride (global.get $bridgejsmethod.Main.ChildWithRenamedOverride.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithRenamedOverride@bridgejsmethod.Main.ChildWithRenamedOverride (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (return (local.get $$instance))
 )
)

;;; void ChildWithRenamedOverride.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithRenamedOverride@bridgejsmethod.Main.ChildWithRenamedOverride
 (param $this (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (struct.set $bridgejsmethod.Main.ChildWithRenamedOverride $$outer_this@bridgejsmethod.Main.ChildWithRenamedOverride (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_GrandParent@bridgejsmethod.Main.GrandParent (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void ChildWithRenamedOverride.jsMethod(ChildWithRenamedOverride t)
(func $m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void@bridgejsmethod.Main.ChildWithRenamedOverride
 (type $function.m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:229:16
 (local $this (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithRenamedOverride) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void@bridgejsmethod.Main.ChildWithRenamedOverride)

;;; void ChildWithRenamedOverride.jsMethod(T arg0)
(func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.ChildWithRenamedOverride
 (type $function.m_jsMethod__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
 (local $this (ref null $bridgejsmethod.Main.ChildWithRenamedOverride))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithRenamedOverride) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (call_ref $function.m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void (ref.as_non_null (local.get $this))(ref.cast (ref null $bridgejsmethod.Main.ChildWithRenamedOverride) (local.get $arg0))(struct.get $bridgejsmethod.Main.ChildWithRenamedOverride.vtable $m_jsMethod__bridgejsmethod_Main_ChildWithRenamedOverride__void (struct.get $bridgejsmethod.Main.ChildWithRenamedOverride $vtable(local.get $this))))
 )
)
(elem declare func $m_jsMethod__java_lang_Object__void@bridgejsmethod.Main.ChildWithRenamedOverride)

;;; void ChildWithRenamedOverride.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithRenamedOverride
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.ChildWithRenamedOverride)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (global.set $$class-initialized@bridgejsmethod.Main.ChildWithRenamedOverride (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:225:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.GrandParent )
 )
)

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

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

;;; Code for bridgejsmethod.Main.E [methods]

;;; E E.$create()
(func $$create__@bridgejsmethod.Main.E
 (result (ref null $bridgejsmethod.Main.E))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
 (local $$instance (ref null $bridgejsmethod.Main.E))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.E )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (local.set $$instance (struct.new $bridgejsmethod.Main.E (global.get $bridgejsmethod.Main.E.vtable) (global.get $bridgejsmethod.Main.E.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (call $$ctor__void_$p_bridgejsmethod_Main_E@bridgejsmethod.Main.E (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (return (local.get $$instance))
 )
)

;;; void E.$ctor()
(func $$ctor__void_$p_bridgejsmethod_Main_E@bridgejsmethod.Main.E
 (param $this (ref null $bridgejsmethod.Main.E))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (call $$ctor__void_$p_bridgejsmethod_Main_B@bridgejsmethod.Main.B (ref.as_non_null (local.get $this)))
 )
)

;;; void E.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.E
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (if (global.get $$class-initialized@bridgejsmethod.Main.E)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (global.set $$class-initialized@bridgejsmethod.Main.E (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:79:22
  (call $$clinit__void_<once>_@bridgejsmethod.Main.B )
 )
)

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

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

;;; Code for bridgejsmethod.Main.S [methods]

;;; S S.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.S
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.S))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
 (local $$instance (ref null $bridgejsmethod.Main.S))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.S )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.S (global.get $bridgejsmethod.Main.S.vtable) (global.get $bridgejsmethod.Main.S.itable) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_S@bridgejsmethod.Main.S (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (return (local.get $$instance))
 )
)

;;; void S.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_S@bridgejsmethod.Main.S
 (param $this (ref null $bridgejsmethod.Main.S))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (struct.set $bridgejsmethod.Main.S $$outer_this@bridgejsmethod.Main.S (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_R@bridgejsmethod.Main.R (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void S.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.S
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.S)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (global.set $$class-initialized@bridgejsmethod.Main.S (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:160:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.R )
 )
)

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

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

;;; Code for bridgejsmethod.Main.ChildWithoutOverrides [methods]

;;; ChildWithoutOverrides ChildWithoutOverrides.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.ChildWithoutOverrides
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.ChildWithoutOverrides))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
 (local $$instance (ref null $bridgejsmethod.Main.ChildWithoutOverrides))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithoutOverrides )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.ChildWithoutOverrides (global.get $bridgejsmethod.Main.ChildWithoutOverrides.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithoutOverrides@bridgejsmethod.Main.ChildWithoutOverrides (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (return (local.get $$instance))
 )
)

;;; void ChildWithoutOverrides.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithoutOverrides@bridgejsmethod.Main.ChildWithoutOverrides
 (param $this (ref null $bridgejsmethod.Main.ChildWithoutOverrides))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (struct.set $bridgejsmethod.Main.ChildWithoutOverrides $$outer_this@bridgejsmethod.Main.ChildWithoutOverrides (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Parent@bridgejsmethod.Main.Parent (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void ChildWithoutOverrides.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithoutOverrides
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.ChildWithoutOverrides)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (global.set $$class-initialized@bridgejsmethod.Main.ChildWithoutOverrides (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:210:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.Parent )
 )
)

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

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

;;; Code for bridgejsmethod.Main.ChildWithOverrides [methods]

;;; ChildWithOverrides<T> ChildWithOverrides.$create(Main $outer_this)
(func $$create__bridgejsmethod_Main@bridgejsmethod.Main.ChildWithOverrides
 (param $$outer_this (ref null $bridgejsmethod.Main))
 (result (ref null $bridgejsmethod.Main.ChildWithOverrides))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
 (local $$instance (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithOverrides )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (local.set $$instance (struct.new $bridgejsmethod.Main.ChildWithOverrides (global.get $bridgejsmethod.Main.ChildWithOverrides.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main) (ref.null $bridgejsmethod.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithOverrides@bridgejsmethod.Main.ChildWithOverrides (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (return (local.get $$instance))
 )
)

;;; void ChildWithOverrides.$ctor(Main $outer_this)
(func $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_ChildWithOverrides@bridgejsmethod.Main.ChildWithOverrides
 (param $this (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (param $$outer_this (ref null $bridgejsmethod.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (struct.set $bridgejsmethod.Main.ChildWithOverrides $$outer_this@bridgejsmethod.Main.ChildWithOverrides (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call $$ctor__bridgejsmethod_Main__void_$p_bridgejsmethod_Main_Parent@bridgejsmethod.Main.Parent (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void ChildWithOverrides.jsMethod(T t)
(func $m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides
 (type $function.m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $bridgejsmethod.Main.ChildWithOverrides))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:219:16
 (local $this (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithOverrides) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides)

;;; void ChildWithOverrides.method(T t)
(func $m_method__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides
 (type $function.m_method__bridgejsmethod_Main_ChildWithOverrides__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $bridgejsmethod.Main.ChildWithOverrides))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:222:16
 (local $this (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithOverrides) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_method__bridgejsmethod_Main_ChildWithOverrides__void@bridgejsmethod.Main.ChildWithOverrides)

;;; void ChildWithOverrides.jsMethod(T arg0)
(func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides
 (type $function.m_jsMethod__bridgejsmethod_Main_Parent__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $bridgejsmethod.Main.Parent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
 (local $this (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithOverrides) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call_ref $function.m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void (ref.as_non_null (local.get $this))(ref.cast (ref null $bridgejsmethod.Main.ChildWithOverrides) (local.get $arg0))(struct.get $bridgejsmethod.Main.ChildWithOverrides.vtable $m_jsMethod__bridgejsmethod_Main_ChildWithOverrides__void (struct.get $bridgejsmethod.Main.ChildWithOverrides $vtable(local.get $this))))
 )
)
(elem declare func $m_jsMethod__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides)

;;; void ChildWithOverrides.method(T arg0)
(func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides
 (type $function.m_method__bridgejsmethod_Main_Parent__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $bridgejsmethod.Main.Parent))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
 (local $this (ref null $bridgejsmethod.Main.ChildWithOverrides))
 (local.set $this (ref.cast (ref $bridgejsmethod.Main.ChildWithOverrides) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call_ref $function.m_method__bridgejsmethod_Main_ChildWithOverrides__void (ref.as_non_null (local.get $this))(ref.cast (ref null $bridgejsmethod.Main.ChildWithOverrides) (local.get $arg0))(struct.get $bridgejsmethod.Main.ChildWithOverrides.vtable $m_method__bridgejsmethod_Main_ChildWithOverrides__void (struct.get $bridgejsmethod.Main.ChildWithOverrides $vtable(local.get $this))))
 )
)
(elem declare func $m_method__bridgejsmethod_Main_Parent__void@bridgejsmethod.Main.ChildWithOverrides)

;;; void ChildWithOverrides.$clinit()
(func $$clinit__void_<once>_@bridgejsmethod.Main.ChildWithOverrides
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (if (global.get $$class-initialized@bridgejsmethod.Main.ChildWithOverrides)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (global.set $$class-initialized@bridgejsmethod.Main.ChildWithOverrides (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/bridgejsmethod/readable-j2wasm.js/bridgejsmethod/Main.java:212:8
  (call $$clinit__void_<once>_@bridgejsmethod.Main.Parent )
 )
)

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

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