;;; Code for innerclassinitorder.InnerClassInitOrder [type definition]
(type $innerclassinitorder.InnerClassInitOrder.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_testExtendsNestedWithGenerics__void (ref $function.m_testExtendsNestedWithGenerics__void))
 (field $m_testExtendsNested__void (ref $function.m_testExtendsNested__void))
 (field $m_testInnerClassCtors__void (ref $function.m_testInnerClassCtors__void))
 (field $m_testInnerClassInitialization__void (ref $function.m_testInnerClassInitialization__void))
 (field $m_testInnerClassLoop__void (ref $function.m_testInnerClassLoop__void))
 (field $m_testOuterIsNotSuperAnon__void (ref $function.m_testOuterIsNotSuperAnon__void))
 (field $m_testOuterIsNotSuper__void (ref $function.m_testOuterIsNotSuper__void))
 (field $m_testOuterThisFromSuperCall__void (ref $function.m_testOuterThisFromSuperCall__void))
 (field $m_testOuterThisFromThisCall__void (ref $function.m_testOuterThisFromThisCall__void))
 (field $m_testQualifiedSuperCallAnon__void (ref $function.m_testQualifiedSuperCallAnon__void))
 (field $m_testQualifiedSuperCall__void (ref $function.m_testQualifiedSuperCall__void))
 (field $m_testSuperDispatch__void (ref $function.m_testSuperDispatch__void))
 (field $m_testUnqualifiedAlloc__void (ref $function.m_testUnqualifiedAlloc__void))
 (field $m_testUnqualifiedSuperCallAnon__void (ref $function.m_testUnqualifiedSuperCallAnon__void))
 (field $m_testUnqualifiedSuperCall__void (ref $function.m_testUnqualifiedSuperCall__void))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder (sub $java.lang.Object (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $number@innerclassinitorder.InnerClassInitOrder (mut i32))
 (field $outerIsSuper@innerclassinitorder.InnerClassInitOrder (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)))
 (field $outer@innerclassinitorder.InnerClassInitOrder (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 ))
)

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

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass [type definition]
(type $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 (field $m_callInner__void_$pp_innerclassinitorder (ref $function.m_callInner__void_$pp_innerclassinitorder))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.InnerClass (sub $java.lang.Object (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 ))
)

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

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

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (sub $java.lang.Object (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.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_checkDispatch__int (ref $function.m_checkDispatch__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer (sub $java.lang.Object (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $value@innerclassinitorder.InnerClassInitOrder.Outer (mut i32))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.1AddNumber [type definition]
(type $innerclassinitorder.InnerClassInitOrder.1AddNumber.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_act__void (ref $function.m_act__void))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.1AddNumber (sub $java.lang.Object (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.1AddNumber.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.1AddNumber (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 (field $num@innerclassinitorder.InnerClassInitOrder.1AddNumber (mut i32))
 ))
)

;;; Code for innerclassinitorder.J2ktIncompatible [type definition]
(type $innerclassinitorder.J2ktIncompatible.vtable (sub $java.lang.annotation.Annotation.vtable (struct
 (field $m_annotationType__java_lang_Class (ref $function.m_annotationType__java_lang_Class))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.1 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.1.vtable (sub $innerclassinitorder.InnerClassInitOrder.1AddNumber.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_act__void (ref $function.m_act__void))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.1 (sub $innerclassinitorder.InnerClassInitOrder.1AddNumber (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.1.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.1AddNumber (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 (field $num@innerclassinitorder.InnerClassInitOrder.1AddNumber (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.1 (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.2 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.2.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.2 (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.2.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.2 (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 ))
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESInnerSubclass [type definition]
(type $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable (sub $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.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 $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (sub $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (mut (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter)))
 (field $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (mut i32))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass [type definition]
(type $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable (sub $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.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 $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (sub $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (mut (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter)))
 (field $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (mut i32))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.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_checkDispatch__int (ref $function.m_checkDispatch__int))
 (field $m_go__int (ref $function.m_go__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (sub $innerclassinitorder.InnerClassInitOrder.Outer (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $value@innerclassinitorder.InnerClassInitOrder.Outer (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.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_checkDispatch__int (ref $function.m_checkDispatch__int))
 (field $m_checkDispatchFromSub1__int (ref $function.m_checkDispatchFromSub1__int))
 (field $m_checkDispatchFromSub2__int (ref $function.m_checkDispatchFromSub2__int))
 (field $m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper (ref $function.m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (sub $innerclassinitorder.InnerClassInitOrder.Outer (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $value@innerclassinitorder.InnerClassInitOrder.Outer (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall [type definition]
(type $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (sub $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.3 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.3.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.3 (sub $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.3.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.3 (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.4 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.4.vtable (sub $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.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_getValue__int (ref $function.m_getValue__int))
 ))
)
(type $innerclassinitorder.InnerClassInitOrder.4 (sub $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.4.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (mut (ref null $innerclassinitorder.InnerClassInitOrder.Outer)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.4 (mut (ref null $innerclassinitorder.InnerClassInitOrder)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2.P3 [type definition]
(type $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable (sub $innerclassinitorder.InnerClassInitOrder.P1.P2.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 $innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (sub $innerclassinitorder.InnerClassInitOrder.P1.P2 (struct
 (field $vtable (ref $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $value@innerclassinitorder.InnerClassInitOrder.P1 (mut i32))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.P1.P2 (mut (ref null $innerclassinitorder.InnerClassInitOrder.P1)))
 (field $$outer_this@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (mut (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2)))
 ))
)

;;; Code for innerclassinitorder.InnerClassInitOrder [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.P1 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESOuter [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGOuter [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.1AddNumber [imports]

;;; Code for innerclassinitorder.J2ktIncompatible [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.1 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.2 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESInnerSubclass [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.3 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.4 [imports]

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2.P3 [imports]

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2.P3 [static fields]
(global $$class-initialized@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (mut i32)
 (i32.const 0)
)
(global $$class@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.vtable (ref $innerclassinitorder.InnerClassInitOrder.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder)
  (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_testExtendsNestedWithGenerics__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testExtendsNested__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testInnerClassCtors__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testInnerClassInitialization__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testInnerClassLoop__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testOuterIsNotSuperAnon__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testOuterIsNotSuper__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testOuterThisFromSuperCall__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testOuterThisFromThisCall__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testQualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testQualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testSuperDispatch__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testUnqualifiedAlloc__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testUnqualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder)
  (ref.func $m_testUnqualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.1 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.1.vtable (ref $innerclassinitorder.InnerClassInitOrder.1.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.1.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.1)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_act__void@innerclassinitorder.InnerClassInitOrder.1)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.2 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.2.vtable (ref $innerclassinitorder.InnerClassInitOrder.2.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.2.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.2)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.3 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.3.vtable (ref $innerclassinitorder.InnerClassInitOrder.3.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.3.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.3)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.4 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.4.vtable (ref $innerclassinitorder.InnerClassInitOrder.4.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.4.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.4)
  (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_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase.vtable (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase)
  (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 innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1.vtable (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.vtable (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall)
  (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 innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1.vtable (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.vtable (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall)
  (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 innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass.vtable (ref $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass)
  (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_callReallyInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable (ref $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.InnerClass)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_callInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2.P3 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable (ref $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.P1.P2.P3)
  (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 innerclassinitorder.InnerClassInitOrder.P1.P2 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.P1.P2.vtable (ref $innerclassinitorder.InnerClassInitOrder.P1.P2.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.P1.P2)
  (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 innerclassinitorder.InnerClassInitOrder.P1 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.P1.vtable (ref $innerclassinitorder.InnerClassInitOrder.P1.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.P1.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.P1)
  (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 innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner)
  (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 innerclassinitorder.InnerClassInitOrder.ESOuter [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESOuter.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESOuter.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESOuter.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESOuter)
  (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_newESInner__innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.ESInnerSubclass [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass)
  (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 innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner)
  (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 innerclassinitorder.InnerClassInitOrder.ESWGOuter [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESWGOuter.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESWGOuter.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGOuter.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESWGOuter)
  (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_newESWGInner__innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable (ref $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass)
  (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 innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
  (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_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer)
  (ref.func $m_go__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)
  (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_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)
  (ref.func $m_checkDispatchFromSub1__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)
  (ref.func $m_checkDispatchFromSub2__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)
  (ref.func $m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall)
  (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_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall [vtable.init]
(global $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable (ref $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable)
 (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable
  (ref.func $$getClassImpl__java_lang_Class@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall)
  (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_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)
 )
)

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

;;; Code for innerclassinitorder.InnerClassInitOrder [methods]

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

;;; void InnerClassInitOrder.$ctor()
(func $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:19:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:19:13
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:19:13
  (call $$init__void_$p_innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder (ref.as_non_null (local.get $this)))
 )
)

;;; void InnerClassInitOrder.testOuterThisFromSuperCall()
(func $m_testOuterThisFromSuperCall__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testOuterThisFromSuperCall__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:58:14
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:59:4
  (drop (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:60:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:60:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (local.get $this)) (i32.const 100)))
   )
  )
 )
)
(elem declare func $m_testOuterThisFromSuperCall__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testOuterThisFromThisCall()
(func $m_testOuterThisFromThisCall__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testOuterThisFromThisCall__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:63:14
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:64:4
  (drop (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:65:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:65:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (local.get $this)) (i32.const 1100)))
   )
  )
 )
)
(elem declare func $m_testOuterThisFromThisCall__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testExtendsNested()
(func $m_testExtendsNested__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testExtendsNested__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:181:14
 (local $o (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:182:4
  (local.set $o (call $$create__@innerclassinitorder.InnerClassInitOrder.ESOuter ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:183:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:183:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $o)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:184:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:184:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESOuter__int@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $o)(i32.const 2)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:185:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:185:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (local.get $o)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:186:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:186:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (call $$create__int__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (i32.const 2)(local.get $o)))))
   )
  )
 )
)
(elem declare func $m_testExtendsNested__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testExtendsNestedWithGenerics()
(func $m_testExtendsNestedWithGenerics__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testExtendsNestedWithGenerics__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:191:14
 (local $o (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:192:4
  (local.set $o (call $$create__@innerclassinitorder.InnerClassInitOrder.ESWGOuter ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:193:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:193:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $o)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:194:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:194:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter__int@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $o)(i32.const 2)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:195:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:195:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (call $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (local.get $o)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:196:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:196:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (call $$create__int__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (i32.const 2)(local.get $o)))))
   )
  )
 )
)
(elem declare func $m_testExtendsNestedWithGenerics__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testInnerClassCtors()
(func $m_testInnerClassCtors__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testInnerClassCtors__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:199:14
 (local $p1 (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (local $p2 (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:200:4
  (local.set $p1 (call $$create__@innerclassinitorder.InnerClassInitOrder.P1 ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:201:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:201:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (local.get $p1))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:202:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:202:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (call $$create__int@innerclassinitorder.InnerClassInitOrder.P1 (i32.const 2)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:203:4
  (local.set $p2 (call $$create__innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1.P2 (local.get $p1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:204:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:204:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (local.get $p2))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:205:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:205:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (call $$create__innerclassinitorder_InnerClassInitOrder_P1__int@innerclassinitorder.InnerClassInitOrder.P1.P2 (local.get $p1)(i32.const 2)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:206:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:206:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (call $$create__innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (local.get $p2)))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:207:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:207:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (struct.get $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (call $$create__innerclassinitorder_InnerClassInitOrder_P1_P2__int@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (local.get $p2)(i32.const 2)))))
   )
  )
 )
)
(elem declare func $m_testInnerClassCtors__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testInnerClassInitialization()
(func $m_testInnerClassInitialization__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testInnerClassInitialization__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:210:14
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:211:4
  (drop (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.InnerClass (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:212:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:212:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (local.get $this)) (i32.const 1111)))
   )
  )
 )
)
(elem declare func $m_testInnerClassInitialization__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testInnerClassLoop()
(func $m_testInnerClassLoop__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testInnerClassLoop__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:215:14
 (local $results (ref null $javaemul.internal.WasmArray.OfObject))
 (local $i i32)
 (local $ap (ref null $innerclassinitorder.InnerClassInitOrder.1AddNumber))
 (local $$array (ref null $javaemul.internal.WasmArray.OfObject))
 (local $$index i32)
 (local $theAp (ref null $innerclassinitorder.InnerClassInitOrder.1AddNumber))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:225:4
  (local.set $results (call $m_newWithLength__int__javaemul_internal_WasmArray_OfObject@javaemul.internal.WasmArray.OfObject (i32.const 10)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:226:4
  (local.set $i (i32.const 0))
  (block $LOOP.BREAK
   (loop
    (br_if 1 (i32.eqz (i32.lt_s (local.get $i) (i32.const 10))))
    (block $LOOP.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:227:6
      (local.set $ap (call $$create__innerclassinitorder_InnerClassInitOrder__int@innerclassinitorder.InnerClassInitOrder.1 (local.get $this)(local.get $i)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:234:6
      (array.set $java.lang.Object.array (struct.get $javaemul.internal.WasmArray.OfObject $elements@javaemul.internal.WasmArray.OfObject (local.get $results)) (local.get $i) (local.get $ap))
     )
    )
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:236:4
  (local.set $$array (local.get $results))
  (local.set $$index (i32.const 0))
  (block $LOOP_1.BREAK
   (loop
    (br_if 1 (i32.eqz (i32.lt_s (local.get $$index) (array.len (struct.get $javaemul.internal.WasmArray.OfObject $elements@javaemul.internal.WasmArray.OfObject (local.get $$array))))))
    (block $LOOP_1.CONTINUE
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:236:4
      (local.set $theAp (ref.cast (ref null $innerclassinitorder.InnerClassInitOrder.1AddNumber) (array.get $java.lang.Object.array (struct.get $javaemul.internal.WasmArray.OfObject $elements@javaemul.internal.WasmArray.OfObject (local.get $$array)) (local.get $$index))))
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:237:6
       (call_ref $function.m_act__void (ref.as_non_null (local.get $theAp))(struct.get $innerclassinitorder.InnerClassInitOrder.1AddNumber.vtable $m_act__void (struct.get $innerclassinitorder.InnerClassInitOrder.1AddNumber $vtable(local.get $theAp))))
      )
     )
    )
    (local.set $$index (i32.add (local.get $$index) (i32.const 1)))
    (br 0)
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:239:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:239:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (local.get $this)) (i32.const 1156)))
   )
  )
 )
)
(elem declare func $m_testInnerClassLoop__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testOuterIsNotSuper()
(func $m_testOuterIsNotSuper__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testOuterIsNotSuper__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:304:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:305:4
  (local.set $x (call $$create__innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:306:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:306:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testOuterIsNotSuper__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testOuterIsNotSuperAnon()
(func $m_testOuterIsNotSuperAnon__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testOuterIsNotSuperAnon__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:311:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:4
  (local.set $x (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.2 (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:313:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:313:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testOuterIsNotSuperAnon__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testQualifiedSuperCall()
(func $m_testQualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testQualifiedSuperCall__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:317:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:318:4
  (local.set $x (call $$create__@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:319:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:319:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testQualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testQualifiedSuperCallAnon()
(func $m_testQualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testQualifiedSuperCallAnon__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:323:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:4
  (local.set $x (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.3 (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:325:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:325:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testQualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testSuperDispatch()
(func $m_testSuperDispatch__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testSuperDispatch__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:328:14
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:329:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:329:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (call_ref $function.m_checkDispatchFromSub1__int (ref.as_non_null (struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this)))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable $m_checkDispatchFromSub1__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper $vtable(struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this)))))))
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:330:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:330:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 1) (call_ref $function.m_checkDispatchFromSub2__int (ref.as_non_null (struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this)))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable $m_checkDispatchFromSub2__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper $vtable(struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this)))))))
   )
  )
 )
)
(elem declare func $m_testSuperDispatch__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testUnqualifiedAlloc()
(func $m_testUnqualifiedAlloc__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testUnqualifiedAlloc__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:333:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:334:4
  (local.set $x (call_ref $function.m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper (ref.as_non_null (struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this)))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable $m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper $vtable(struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this))))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:335:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:335:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testUnqualifiedAlloc__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testUnqualifiedSuperCall()
(func $m_testUnqualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testUnqualifiedSuperCall__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:338:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:339:4
  (local.set $x (call $$create__innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:340:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:340:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testUnqualifiedSuperCall__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.testUnqualifiedSuperCallAnon()
(func $m_testUnqualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder
 (type $function.m_testUnqualifiedSuperCallAnon__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:345:14
 (local $x (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:4
  (local.set $x (call $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.4 (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:347:4
  (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:347:4
    (call $$assert__boolean__void@javaemul.internal.Asserts (i32.eq (i32.const 2) (call_ref $function.m_getValue__int (ref.as_non_null (local.get $x))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable $m_getValue__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall $vtable(local.get $x))))))
   )
  )
 )
)
(elem declare func $m_testUnqualifiedSuperCallAnon__void@innerclassinitorder.InnerClassInitOrder)

;;; void InnerClassInitOrder.$init()
(func $$init__void_$p_innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:19:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:20:2
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (local.get $this) (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:300:2
  (struct.set $innerclassinitorder.InnerClassInitOrder $outer@innerclassinitorder.InnerClassInitOrder (local.get $this) (call $$create__int@innerclassinitorder.InnerClassInitOrder.Outer (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:302:2
  (struct.set $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $this) (call $$create__innerclassinitorder_InnerClassInitOrder_Outer__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (struct.get $innerclassinitorder.InnerClassInitOrder $outer@innerclassinitorder.InnerClassInitOrder (local.get $this))(i32.const 2)))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase [methods]

;;; OuterRefFromSuperCtorBase OuterRefFromSuperCtorBase.$create(Object o)
(func $$create__java_lang_Object@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase
 (param $o (ref null $java.lang.Object))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
  (call $$ctor__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorBase@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase (ref.as_non_null (local.get $$instance))(local.get $o))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
  (return (local.get $$instance))
 )
)

;;; void OuterRefFromSuperCtorBase.$ctor(Object o)
(func $$ctor__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorBase@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase))
 (param $o (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:23:40
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:24:6
  (drop (call_ref $function.m_hashCode__int (ref.as_non_null (local.get $o))(struct.get $java.lang.Object.vtable $m_hashCode__int (struct.get $java.lang.Object $vtable(local.get $o)))))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 [methods]

;;; <anonymous> extends Object <anonymous> extends Object.$create(OuterRefFromSuperCtorCall $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall_1@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends Object.$ctor(OuterRefFromSuperCtorCall $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall_1@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (struct.set $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:31:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; int <anonymous> extends Object.hashCode()
(func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1
 (type $function.m_hashCode__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:33:23
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:34:14
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (local.get $this))) (i32.add (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (local.get $this)))) (i32.const 100)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:35:14
  (return (i32.const 0))
 )
)
(elem declare func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 [methods]

;;; <anonymous> extends Object <anonymous> extends Object.$create(OuterRefFromThisCtorCall $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall_1@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends Object.$ctor(OuterRefFromThisCtorCall $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall_1@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (struct.set $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:48:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; int <anonymous> extends Object.hashCode()
(func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1
 (type $function.m_hashCode__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:50:23
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:51:14
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (local.get $this))) (i32.add (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (struct.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (local.get $this)))) (i32.const 1000)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:52:14
  (return (i32.const 0))
 )
)
(elem declare func $m_hashCode__int@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass [methods]

;;; ReallyInnerClass ReallyInnerClass.$create(InnerClass $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (global.get $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.InnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_InnerClass__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass_1ReallyInnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (return (local.get $$instance))
 )
)

;;; void ReallyInnerClass.$ctor(InnerClass $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_InnerClass__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass_1ReallyInnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (struct.set $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
  (call $$init__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass_1ReallyInnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (ref.as_non_null (local.get $this)))
 )
)

;;; void ReallyInnerClass.callReallyInner()
(func $m_callReallyInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass
 (type $function.m_callReallyInner__void_$pp_innerclassinitorder)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:80:13
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:81:10
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (local.get $this))) (i32.add (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (local.get $this)))) (i32.const 10)))
 )
)
(elem declare func $m_callReallyInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass)

;;; void ReallyInnerClass.$init()
(func $$init__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass_1ReallyInnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:75:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:77:10
  (call_ref $function.m_callReallyInner__void_$pp_innerclassinitorder (ref.as_non_null (local.get $this))(struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass.vtable $m_callReallyInner__void_$pp_innerclassinitorder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass $vtable(local.get $this))))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.InnerClass [methods]

;;; InnerClass InnerClass.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.InnerClass
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.InnerClass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.InnerClass (global.get $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (return (local.get $$instance))
 )
)

;;; void InnerClass.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.InnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
  (call $$init__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass (ref.as_non_null (local.get $this)))
 )
)

;;; void InnerClass.callInner()
(func $m_callInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass
 (type $function.m_callInner__void_$pp_innerclassinitorder)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:73:9
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.InnerClass) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:74:6
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (local.get $this)) (i32.add (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass $$outer_this@innerclassinitorder.InnerClassInitOrder.InnerClass (local.get $this))) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:84:6
  (drop (call $$create__innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass.1ReallyInnerClass (local.get $this)))
 )
)
(elem declare func $m_callInner__void_$pp_innerclassinitorder@innerclassinitorder.InnerClassInitOrder.InnerClass)

;;; void InnerClass.$init()
(func $$init__void_$p_innerclassinitorder_InnerClassInitOrder_InnerClass@innerclassinitorder.InnerClassInitOrder.InnerClass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.InnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:68:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:70:6
  (call_ref $function.m_callInner__void_$pp_innerclassinitorder (ref.as_non_null (local.get $this))(struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass.vtable $m_callInner__void_$pp_innerclassinitorder (struct.get $innerclassinitorder.InnerClassInitOrder.InnerClass $vtable(local.get $this))))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.P1 [methods]

;;; P1<T1> P1.$create()
(func $$create__@innerclassinitorder.InnerClassInitOrder.P1
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1 (global.get $innerclassinitorder.InnerClassInitOrder.P1.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
  (call $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1 (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
  (return (local.get $$instance))
 )
)

;;; void P1.$ctor()
(func $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:111:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:112:6
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1 (ref.as_non_null (local.get $this))(i32.const 1))
 )
)

;;; P1<T1> P1.$create(int i)
(func $$create__int@innerclassinitorder.InnerClassInitOrder.P1
 (param $i i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1 (global.get $innerclassinitorder.InnerClassInitOrder.P1.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1 (ref.as_non_null (local.get $$instance))(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
  (return (local.get $$instance))
 )
)

;;; void P1.$ctor(int i)
(func $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:115:14
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:116:6
  (struct.set $innerclassinitorder.InnerClassInitOrder.P1 $value@innerclassinitorder.InnerClassInitOrder.P1 (local.get $this) (local.get $i))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner [methods]

;;; ESInner ESInner.$create(ESOuter $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (global.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
  (return (local.get $$instance))
 )
)

;;; void ESInner.$ctor(ESOuter $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:122:10
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $$outer_this@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:125:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:126:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $this) (i32.const 1))
 )
)

;;; ESInner ESInner.$create(ESOuter $outer_this, int value)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESOuter__int@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (param $value i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (global.get $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $value))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
  (return (local.get $$instance))
 )
)

;;; void ESInner.$ctor(ESOuter $outer_this, int value)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (param $value i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:122:10
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $$outer_this@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:129:32
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:130:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner $value@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $this) (local.get $value))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESOuter [methods]

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

;;; void ESOuter.$ctor()
(func $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESOuter
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:121:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:121:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; ESInner ESOuter.newESInner()
(func $m_newESInner__innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter
 (type $function.m_newESInner__innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:134:19
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.ESOuter) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:135:6
  (return (call $$create__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (local.get $this)))
 )
)
(elem declare func $m_newESInner__innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner [methods]

;;; ESWGInner<T> ESWGInner.$create(ESWGOuter<T> $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (global.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESWGOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
  (return (local.get $$instance))
 )
)

;;; void ESWGInner.$ctor(ESWGOuter<T> $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:152:10
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $$outer_this@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:155:25
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:156:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $this) (i32.const 1))
 )
)

;;; ESWGInner<T> ESWGInner.$create(ESWGOuter<T> $outer_this, int value)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter__int@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (param $value i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (global.get $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESWGOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $value))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
  (return (local.get $$instance))
 )
)

;;; void ESWGInner.$ctor(ESWGOuter<T> $outer_this, int value)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (param $value i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:152:10
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $$outer_this@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:159:34
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:160:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner $value@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $this) (local.get $value))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGOuter [methods]

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

;;; void ESWGOuter.$ctor()
(func $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGOuter
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:151:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:151:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; ESWGInner<T> ESWGOuter.newESWGInner()
(func $m_newESWGInner__innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter
 (type $function.m_newESWGInner__innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:164:21
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.ESWGOuter) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:165:6
  (return (call $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (local.get $this)))
 )
)
(elem declare func $m_newESWGInner__innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper [methods]

;;; OuterIsNotSuper OuterIsNotSuper.$create(Outer $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (global.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (return (local.get $$instance))
 )
)

;;; void OuterIsNotSuper.$ctor(Outer $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (struct.set $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:243:17
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; int OuterIsNotSuper.getValue()
(func $m_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper
 (type $function.m_getValue__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:244:17
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:245:8
  (return (struct.get $innerclassinitorder.InnerClassInitOrder.Outer $value@innerclassinitorder.InnerClassInitOrder.Outer (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (local.get $this))))
 )
)
(elem declare func $m_getValue__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer [methods]

;;; Outer Outer.$create(int i)
(func $$create__int@innerclassinitorder.InnerClassInitOrder.Outer
 (param $i i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.Outer (global.get $innerclassinitorder.InnerClassInitOrder.Outer.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer (ref.as_non_null (local.get $$instance))(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
  (return (local.get $$instance))
 )
)

;;; void Outer.$ctor(int i)
(func $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:291:24
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:292:6
  (struct.set $innerclassinitorder.InnerClassInitOrder.Outer $value@innerclassinitorder.InnerClassInitOrder.Outer (local.get $this) (local.get $i))
 )
)

;;; int Outer.checkDispatch()
(func $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer
 (type $function.m_checkDispatch__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:295:15
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:296:6
  (return (i32.const 1))
 )
)
(elem declare func $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.1AddNumber [methods]

;;; void AddNumber.$ctor(InnerClassInitOrder $outer_this, int i)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__int__void_$p_innerclassinitorder_InnerClassInitOrder_1AddNumber@innerclassinitorder.InnerClassInitOrder.1AddNumber
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.1AddNumber))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:219:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:216:19
  (struct.set $innerclassinitorder.InnerClassInitOrder.1AddNumber $$outer_this@innerclassinitorder.InnerClassInitOrder.1AddNumber (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:219:30
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:220:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.1AddNumber $num@innerclassinitorder.InnerClassInitOrder.1AddNumber (local.get $this) (local.get $i))
 )
)

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

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

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

;;; Code for innerclassinitorder.J2ktIncompatible [methods]

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.1 [methods]

;;; <anonymous> extends AddNumber <anonymous> extends AddNumber.$create(InnerClassInitOrder $outer_this, int $_0)
(func $$create__innerclassinitorder_InnerClassInitOrder__int@innerclassinitorder.InnerClassInitOrder.1
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (param $$_0 i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.1 (global.get $innerclassinitorder.InnerClassInitOrder.1.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__int__void_$p_innerclassinitorder_InnerClassInitOrder_1@innerclassinitorder.InnerClassInitOrder.1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $$_0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends AddNumber.$ctor(InnerClassInitOrder $outer_this, int $_0)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__int__void_$p_innerclassinitorder_InnerClassInitOrder_1@innerclassinitorder.InnerClassInitOrder.1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.1))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (param $$_0 i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (struct.set $innerclassinitorder.InnerClassInitOrder.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:228:27
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__int__void_$p_innerclassinitorder_InnerClassInitOrder_1AddNumber@innerclassinitorder.InnerClassInitOrder.1AddNumber (ref.as_non_null (local.get $this))(local.get $$outer_this)(local.get $$_0))
 )
)

;;; void <anonymous> extends AddNumber.act()
(func $m_act__void@innerclassinitorder.InnerClassInitOrder.1
 (type $function.m_act__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:230:24
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.1))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:231:14
  (struct.set $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.1 (local.get $this)) (i32.add (struct.get $innerclassinitorder.InnerClassInitOrder $number@innerclassinitorder.InnerClassInitOrder (struct.get $innerclassinitorder.InnerClassInitOrder.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.1 (local.get $this))) (struct.get $innerclassinitorder.InnerClassInitOrder.1AddNumber $num@innerclassinitorder.InnerClassInitOrder.1AddNumber (local.get $this))))
 )
)
(elem declare func $m_act__void@innerclassinitorder.InnerClassInitOrder.1)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.2 [methods]

;;; <anonymous> extends OuterIsNotSuper <anonymous> extends OuterIsNotSuper.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.2
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.2 (global.get $innerclassinitorder.InnerClassInitOrder.2.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_2@innerclassinitorder.InnerClassInitOrder.2 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends OuterIsNotSuper.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_2@innerclassinitorder.InnerClassInitOrder.2
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.2))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (struct.set $innerclassinitorder.InnerClassInitOrder.2 $$outer_this@innerclassinitorder.InnerClassInitOrder.2 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (ref.as_non_null (local.get $this))(struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $$outer_this)))
 )
)

;;; void <anonymous> extends OuterIsNotSuper.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.2
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.2)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.2 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:312:65
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper )
 )
)

;;; Class<T> <anonymous> extends OuterIsNotSuper.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.2
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@innerclassinitorder.InnerClassInitOrder.2)))
   (then
    (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.2))
   )
  )
  (global.set $$class@innerclassinitorder.InnerClassInitOrder.2 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|innerclassin...|__java_lang_String_<once>_@innerclassinitorder.InnerClassInitOrder.2 )(call $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper )))
  (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.2))
 )
)

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

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall [methods]

;;; OuterRefFromSuperCtorCall OuterRefFromSuperCtorCall.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
  (return (local.get $$instance))
 )
)

;;; void OuterRefFromSuperCtorCall.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:29:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:28:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:30:6
  (call $$ctor__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorBase@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase (ref.as_non_null (local.get $this))(call $$create__innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorCall.1 (local.get $this)))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall [methods]

;;; OuterRefFromThisCtorCall OuterRefFromThisCtorCall.$create(InnerClassInitOrder $outer_this, Object object)
(func $$create__innerclassinitorder_InnerClassInitOrder__java_lang_Object@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (param $object (ref null $java.lang.Object))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
  (return (local.get $$instance))
 )
)

;;; void OuterRefFromThisCtorCall.$ctor(InnerClassInitOrder $outer_this, Object object)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (param $object (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:42:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:41:8
  (struct.set $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall $$outer_this@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:43:6
  (call $$ctor__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromSuperCtorBase@innerclassinitorder.InnerClassInitOrder.OuterRefFromSuperCtorBase (ref.as_non_null (local.get $this))(local.get $object))
 )
)

;;; OuterRefFromThisCtorCall OuterRefFromThisCtorCall.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (global.get $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
  (return (local.get $$instance))
 )
)

;;; void OuterRefFromThisCtorCall.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:46:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:47:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__java_lang_Object__void_$p_innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall (ref.as_non_null (local.get $this))(local.get $$outer_this)(call $$create__innerclassinitorder_InnerClassInitOrder_OuterRefFromThisCtorCall@innerclassinitorder.InnerClassInitOrder.OuterRefFromThisCtorCall.1 (local.get $this)))
 )
)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2 [methods]

;;; P2<T2, T1> P2.$create(P1<T1> $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1.P2
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2 (global.get $innerclassinitorder.InnerClassInitOrder.P1.P2.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.P1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
  (return (local.get $$instance))
 )
)

;;; void P2.$ctor(P1<T1> $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_P1__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:100:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:101:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2 (ref.as_non_null (local.get $this))(local.get $$outer_this)(i32.const 1))
 )
)

;;; P2<T2, T1> P2.$create(P1<T1> $outer_this, int i)
(func $$create__innerclassinitorder_InnerClassInitOrder_P1__int@innerclassinitorder.InnerClassInitOrder.P1.P2
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (param $i i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2 (global.get $innerclassinitorder.InnerClassInitOrder.P1.P2.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.P1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
  (return (local.get $$instance))
 )
)

;;; void P2.$ctor(P1<T1> $outer_this, int i)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_P1__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:104:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
  (struct.set $innerclassinitorder.InnerClassInitOrder.P1.P2 $$outer_this@innerclassinitorder.InnerClassInitOrder.P1.P2 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:105:8
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1@innerclassinitorder.InnerClassInitOrder.P1 (ref.as_non_null (local.get $this))(local.get $i))
 )
)

;;; void P2.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.P1.P2)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.P1.P2 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:89:10
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1 )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESInnerSubclass [methods]

;;; ESInnerSubclass ESInnerSubclass.$create(ESOuter outer)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (global.get $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (ref.as_non_null (local.get $$instance))(local.get $outer))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
  (return (local.get $$instance))
 )
)

;;; void ESInnerSubclass.$ctor(ESOuter outer)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:141:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:142:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (ref.as_non_null (local.get $this))(local.get $outer))
 )
)

;;; ESInnerSubclass ESInnerSubclass.$create(int value, ESOuter outer)
(func $$create__int__innerclassinitorder_InnerClassInitOrder_ESOuter@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass
 (param $value i32)
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (global.get $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
  (call $$ctor__int__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (ref.as_non_null (local.get $$instance))(local.get $value)(local.get $outer))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
  (return (local.get $$instance))
 )
)

;;; void ESInnerSubclass.$ctor(int value, ESOuter outer)
(func $$ctor__int__innerclassinitorder_InnerClassInitOrder_ESOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESInnerSubclass))
 (param $value i32)
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:145:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:146:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESOuter_ESInner@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner (ref.as_non_null (local.get $this))(local.get $outer)(local.get $value))
 )
)

;;; void ESInnerSubclass.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:140:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:140:23
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:140:23
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:140:23
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.ESInnerSubclass (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:140:23
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESOuter.ESInner )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass [methods]

;;; ESWGInnerSubclass ESWGInnerSubclass.$create(ESWGOuter<String> outer)
(func $$create__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (global.get $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESWGOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (ref.as_non_null (local.get $$instance))(local.get $outer))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
  (return (local.get $$instance))
 )
)

;;; void ESWGInnerSubclass.$ctor(ESWGOuter<String> outer)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:171:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:172:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (ref.as_non_null (local.get $this))(local.get $outer))
 )
)

;;; ESWGInnerSubclass ESWGInnerSubclass.$create(int value, ESWGOuter<String> outer)
(func $$create__int__innerclassinitorder_InnerClassInitOrder_ESWGOuter@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass
 (param $value i32)
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (global.get $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.ESWGOuter) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
  (call $$ctor__int__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (ref.as_non_null (local.get $$instance))(local.get $value)(local.get $outer))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
  (return (local.get $$instance))
 )
)

;;; void ESWGInnerSubclass.$ctor(int value, ESWGOuter<String> outer)
(func $$ctor__int__innerclassinitorder_InnerClassInitOrder_ESWGOuter__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGInnerSubclass@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass))
 (param $value i32)
 (param $outer (ref null $innerclassinitorder.InnerClassInitOrder.ESWGOuter))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:175:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:176:6
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_ESWGOuter__int__void_$p_innerclassinitorder_InnerClassInitOrder_ESWGOuter_ESWGInner@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner (ref.as_non_null (local.get $this))(local.get $outer)(local.get $value))
 )
)

;;; void ESWGInnerSubclass.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:170:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:170:23
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:170:23
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:170:23
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.ESWGInnerSubclass (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:170:23
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.ESWGOuter.ESWGInner )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 [methods]

;;; <anonymous> extends Outer <anonymous> extends Outer.$create(OuterIsSuper $outer_this, int $_0)
(func $$create__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (param $$_0 i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (global.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper_1@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $$_0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends Outer.$ctor(OuterIsSuper $outer_this, int $_0)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper_1@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (param $$_0 i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (struct.set $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer (ref.as_non_null (local.get $this))(local.get $$_0))
 )
)

;;; int <anonymous> extends Outer.go()
(func $m_go__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1
 (type $function.m_go__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:265:21
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:266:12
  (return (call $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer (ref.as_non_null (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (local.get $this)))))
 )
)
(elem declare func $m_go__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1)

;;; void <anonymous> extends Outer.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:28
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper [methods]

;;; OuterIsSuper OuterIsSuper.$create(Outer $outer_this, int i)
(func $$create__innerclassinitorder_InnerClassInitOrder_Outer__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (param $i i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (global.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
  (return (local.get $$instance))
 )
)

;;; void OuterIsSuper.$ctor(Outer $outer_this, int i)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:250:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:249:17
  (struct.set $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:251:8
  (call $$ctor__int__void_$p_innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer (ref.as_non_null (local.get $this))(local.get $i))
 )
)

;;; int OuterIsSuper.checkDispatch()
(func $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (type $function.m_checkDispatch__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:255:17
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:256:8
  (return (i32.const 2))
 )
)
(elem declare func $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)

;;; int OuterIsSuper.checkDispatchFromSub1()
(func $m_checkDispatchFromSub1__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (type $function.m_checkDispatchFromSub1__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:259:17
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:260:8
  (return (call $m_checkDispatch__int@innerclassinitorder.InnerClassInitOrder.Outer (ref.as_non_null (local.get $this))))
 )
)
(elem declare func $m_checkDispatchFromSub1__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)

;;; int OuterIsSuper.checkDispatchFromSub2()
(func $m_checkDispatchFromSub2__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (type $function.m_checkDispatchFromSub2__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:263:17
 (local $$qualifier (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1))
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:264:8
  (return (block (result i32)
   (local.set $$qualifier (call $$create__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 (local.get $this)(i32.const 1)))
   (call_ref $function.m_go__int (ref.as_non_null (local.get $$qualifier))(struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1.vtable $m_go__int (struct.get $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.1 $vtable(local.get $$qualifier))))
  ))
 )
)
(elem declare func $m_checkDispatchFromSub2__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)

;;; OuterIsNotSuper OuterIsSuper.unqualifiedAlloc()
(func $m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper
 (type $function.m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:271:29
 (local $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper))
 (local.set $this (ref.cast (ref $innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:272:8
  (return (call $$create__innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (local.get $this)))
 )
)
(elem declare func $m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper)

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

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall [methods]

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

;;; void TestQualifiedSuperCall.$ctor()
(func $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_TestQualifiedSuperCall@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:278:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:279:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (ref.as_non_null (local.get $this))(call $$create__innerclassinitorder_InnerClassInitOrder_Outer__int@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper (call $$create__int@innerclassinitorder.InnerClassInitOrder.Outer (i32.const 1))(i32.const 2)))
 )
)

;;; void TestQualifiedSuperCall.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:277:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:277:24
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:277:24
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:277:24
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:277:24
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall [methods]

;;; TestUnqualifiedSuperCall TestUnqualifiedSuperCall.$create(Outer $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_Outer@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (global.get $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_TestUnqualifiedSuperCall@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
  (return (local.get $$instance))
 )
)

;;; void TestUnqualifiedSuperCall.$ctor(Outer $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_TestUnqualifiedSuperCall@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.Outer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:284:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
  (struct.set $innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall $$outer_this@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:285:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void TestUnqualifiedSuperCall.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:283:17
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper )
 )
)

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

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

;;; Code for innerclassinitorder.InnerClassInitOrder.3 [methods]

;;; <anonymous> extends TestQualifiedSuperCall <anonymous> extends TestQualifiedSuperCall.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.3
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.3))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.3))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.3 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.3 (global.get $innerclassinitorder.InnerClassInitOrder.3.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_3@innerclassinitorder.InnerClassInitOrder.3 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends TestQualifiedSuperCall.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_3@innerclassinitorder.InnerClassInitOrder.3
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.3))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (struct.set $innerclassinitorder.InnerClassInitOrder.3 $$outer_this@innerclassinitorder.InnerClassInitOrder.3 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (call $$ctor__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_TestQualifiedSuperCall@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall (ref.as_non_null (local.get $this)))
 )
)

;;; void <anonymous> extends TestQualifiedSuperCall.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.3
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.3)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.3 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:324:72
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall )
 )
)

;;; Class<T> <anonymous> extends TestQualifiedSuperCall.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.3
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@innerclassinitorder.InnerClassInitOrder.3)))
   (then
    (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.3))
   )
  )
  (global.set $$class@innerclassinitorder.InnerClassInitOrder.3 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|innerclassin...|__java_lang_String_<once>_@innerclassinitorder.InnerClassInitOrder.3 )(call $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestQualifiedSuperCall )))
  (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.3))
 )
)

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

;;; Code for innerclassinitorder.InnerClassInitOrder.4 [methods]

;;; <anonymous> extends TestUnqualifiedSuperCall <anonymous> extends TestUnqualifiedSuperCall.$create(InnerClassInitOrder $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder@innerclassinitorder.InnerClassInitOrder.4
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.4))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.4))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.4 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.4 (global.get $innerclassinitorder.InnerClassInitOrder.4.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer) (ref.null $innerclassinitorder.InnerClassInitOrder.Outer) (ref.null $innerclassinitorder.InnerClassInitOrder)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (call $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_4@innerclassinitorder.InnerClassInitOrder.4 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (return (local.get $$instance))
 )
)

;;; void <anonymous> extends TestUnqualifiedSuperCall.$ctor(InnerClassInitOrder $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder__void_$p_innerclassinitorder_InnerClassInitOrder_4@innerclassinitorder.InnerClassInitOrder.4
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.4))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (struct.set $innerclassinitorder.InnerClassInitOrder.4 $$outer_this@innerclassinitorder.InnerClassInitOrder.4 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_Outer__void_$p_innerclassinitorder_InnerClassInitOrder_Outer_TestUnqualifiedSuperCall@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall (ref.as_non_null (local.get $this))(struct.get $innerclassinitorder.InnerClassInitOrder $outerIsSuper@innerclassinitorder.InnerClassInitOrder (local.get $$outer_this)))
 )
)

;;; void <anonymous> extends TestUnqualifiedSuperCall.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.4
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.4)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.4 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:346:83
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall )
 )
)

;;; Class<T> <anonymous> extends TestUnqualifiedSuperCall.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.4
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@innerclassinitorder.InnerClassInitOrder.4)))
   (then
    (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.4))
   )
  )
  (global.set $$class@innerclassinitorder.InnerClassInitOrder.4 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|innerclassin...|__java_lang_String_<once>_@innerclassinitorder.InnerClassInitOrder.4 )(call $$getClassMetadata__java_lang_Class_<once>_@innerclassinitorder.InnerClassInitOrder.Outer.TestUnqualifiedSuperCall )))
  (return (global.get $$class@innerclassinitorder.InnerClassInitOrder.4))
 )
)

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

;;; Code for innerclassinitorder.InnerClassInitOrder.P1.P2.P3 [methods]

;;; P3<T3, T2, T1> P3.$create(P2<T2, T1> $outer_this)
(func $$create__innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2.P3
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (global.get $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.P1) (ref.null $innerclassinitorder.InnerClassInitOrder.P1.P2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1_P2__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2_P3@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
  (return (local.get $$instance))
 )
)

;;; void P3.$ctor(P2<T2, T1> $outer_this)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_P1_P2__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2_P3@innerclassinitorder.InnerClassInitOrder.P1.P2.P3
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:91:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:92:10
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1_P2__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2_P3@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (ref.as_non_null (local.get $this))(local.get $$outer_this)(i32.const 1))
 )
)

;;; P3<T3, T2, T1> P3.$create(P2<T2, T1> $outer_this, int i)
(func $$create__innerclassinitorder_InnerClassInitOrder_P1_P2__int@innerclassinitorder.InnerClassInitOrder.P1.P2.P3
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (param $i i32)
 (result (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
 (local $$instance (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
  (local.set $$instance (struct.new $innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (global.get $innerclassinitorder.InnerClassInitOrder.P1.P2.P3.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $innerclassinitorder.InnerClassInitOrder.P1) (ref.null $innerclassinitorder.InnerClassInitOrder.P1.P2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1_P2__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2_P3@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
  (return (local.get $$instance))
 )
)

;;; void P3.$ctor(P2<T2, T1> $outer_this, int i)
(func $$ctor__innerclassinitorder_InnerClassInitOrder_P1_P2__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2_P3@innerclassinitorder.InnerClassInitOrder.P1.P2.P3
 (param $this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2.P3))
 (param $$outer_this (ref null $innerclassinitorder.InnerClassInitOrder.P1.P2))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:95:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
  (struct.set $innerclassinitorder.InnerClassInitOrder.P1.P2.P3 $$outer_this@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:96:10
  (call $$ctor__innerclassinitorder_InnerClassInitOrder_P1__int__void_$p_innerclassinitorder_InnerClassInitOrder_P1_P2@innerclassinitorder.InnerClassInitOrder.P1.P2 (ref.as_non_null (local.get $this))(local.get $$outer_this)(local.get $i))
 )
)

;;; void P3.$clinit()
(func $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2.P3
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
  (if (global.get $$class-initialized@innerclassinitorder.InnerClassInitOrder.P1.P2.P3)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
  (global.set $$class-initialized@innerclassinitorder.InnerClassInitOrder.P1.P2.P3 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/innerclassinitorder/readable-j2wasm.js/innerclassinitorder/InnerClassInitOrder.java:90:12
  (call $$clinit__void_<once>_@innerclassinitorder.InnerClassInitOrder.P1.P2 )
 )
)

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

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