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

;;; Code for jsconstructor.JsConstructorClass.A [type definition]
(type $jsconstructor.JsConstructorClass.A.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.A (sub $java.lang.Object (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.A.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 ))
)

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

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

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

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

;;; Code for jsconstructor.JsConstructorClass.B [type definition]
(type $jsconstructor.JsConstructorClass.B.vtable (sub $jsconstructor.JsConstructorClass.A.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.B (sub $jsconstructor.JsConstructorClass.A (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.B.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $fB@jsconstructor.JsConstructorClass.B (mut i32))
 ))
)

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

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

;;; Code for jsconstructor.JsConstructorClass.Varargs [type definition]
(type $jsconstructor.JsConstructorClass.Varargs.vtable (sub $jsconstructor.JsConstructorClass.A.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.Varargs (sub $jsconstructor.JsConstructorClass.A (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.Varargs.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 ))
)

;;; Code for jsconstructor.JsConstructorClass.InstanceVarargs [type definition]
(type $jsconstructor.JsConstructorClass.InstanceVarargs.vtable (sub $jsconstructor.JsConstructorClass.A.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.InstanceVarargs (sub $jsconstructor.JsConstructorClass.A (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.InstanceVarargs.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $$outer_this@jsconstructor.JsConstructorClass.InstanceVarargs (mut (ref null $jsconstructor.JsConstructorClass)))
 ))
)

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

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

;;; Code for jsconstructor.JsConstructorClass.C [type definition]
(type $jsconstructor.JsConstructorClass.C.vtable (sub $jsconstructor.JsConstructorClass.B.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.C (sub $jsconstructor.JsConstructorClass.B (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.C.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $fB@jsconstructor.JsConstructorClass.B (mut i32))
 (field $fC@jsconstructor.JsConstructorClass.C (mut i32))
 ))
)

;;; Code for jsconstructor.JsConstructorClass.D [type definition]
(type $jsconstructor.JsConstructorClass.D.vtable (sub $jsconstructor.JsConstructorClass.B.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $jsconstructor.JsConstructorClass.D (sub $jsconstructor.JsConstructorClass.B (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.D.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $fB@jsconstructor.JsConstructorClass.B (mut i32))
 (field $fD@jsconstructor.JsConstructorClass.D (mut i32))
 ))
)

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

;;; Code for jsconstructor.JsConstructorClass.E [type definition]
(type $jsconstructor.JsConstructorClass.E.vtable (sub $jsconstructor.JsConstructorClass.C.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 $jsconstructor.JsConstructorClass.E (sub $jsconstructor.JsConstructorClass.C (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.E.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $fB@jsconstructor.JsConstructorClass.B (mut i32))
 (field $fC@jsconstructor.JsConstructorClass.C (mut i32))
 (field $fE@jsconstructor.JsConstructorClass.E (mut i32))
 ))
)

;;; Code for jsconstructor.JsConstructorClass.F [type definition]
(type $jsconstructor.JsConstructorClass.F.vtable (sub $jsconstructor.JsConstructorClass.C.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 $jsconstructor.JsConstructorClass.F (sub $jsconstructor.JsConstructorClass.C (struct
 (field $vtable (ref $jsconstructor.JsConstructorClass.F.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $fA@jsconstructor.JsConstructorClass.A (mut i32))
 (field $fB@jsconstructor.JsConstructorClass.B (mut i32))
 (field $fC@jsconstructor.JsConstructorClass.C (mut i32))
 (field $fF@jsconstructor.JsConstructorClass.F (mut i32))
 ))
)

;;; Code for jsconstructor.JsConstructorClass [imports]

;;; Code for jsconstructor.JsConstructorClass.A [imports]

;;; Code for jsconstructor.JsConstructorClass.G [imports]

;;; Code for jsconstructor.JsConstructorClass.Outer [imports]

;;; Code for jsconstructor.JsConstructorClass.RegularType [imports]

;;; Code for jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor [imports]

;;; Code for jsconstructor.JsConstructorClass.B [imports]

;;; Code for jsconstructor.JsConstructorClass.H [imports]

;;; Code for jsconstructor.JsConstructorClass.Outer.I [imports]

;;; Code for jsconstructor.JsConstructorClass.Varargs [imports]

;;; Code for jsconstructor.JsConstructorClass.InstanceVarargs [imports]

;;; Code for jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType [imports]

;;; Code for jsconstructor.JsConstructorClass.JsConstructorSubclass [imports]

;;; Code for jsconstructor.JsConstructorClass.C [imports]

;;; Code for jsconstructor.JsConstructorClass.D [imports]

;;; Code for jsconstructor.JsConstructorClass.SubVarargs [imports]

;;; Code for jsconstructor.JsConstructorClass.E [imports]

;;; Code for jsconstructor.JsConstructorClass.F [imports]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for jsconstructor.JsConstructorClass.B [vtable.init]
(global $jsconstructor.JsConstructorClass.B.vtable (ref $jsconstructor.JsConstructorClass.B.vtable)
 (struct.new $jsconstructor.JsConstructorClass.B.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.B)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for jsconstructor.JsConstructorClass.C [vtable.init]
(global $jsconstructor.JsConstructorClass.C.vtable (ref $jsconstructor.JsConstructorClass.C.vtable)
 (struct.new $jsconstructor.JsConstructorClass.C.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.C)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for jsconstructor.JsConstructorClass.D [vtable.init]
(global $jsconstructor.JsConstructorClass.D.vtable (ref $jsconstructor.JsConstructorClass.D.vtable)
 (struct.new $jsconstructor.JsConstructorClass.D.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.D)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for jsconstructor.JsConstructorClass.E [vtable.init]
(global $jsconstructor.JsConstructorClass.E.vtable (ref $jsconstructor.JsConstructorClass.E.vtable)
 (struct.new $jsconstructor.JsConstructorClass.E.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.E)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for jsconstructor.JsConstructorClass.F [vtable.init]
(global $jsconstructor.JsConstructorClass.F.vtable (ref $jsconstructor.JsConstructorClass.F.vtable)
 (struct.new $jsconstructor.JsConstructorClass.F.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.F)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for jsconstructor.JsConstructorClass.G [vtable.init]
(global $jsconstructor.JsConstructorClass.G.vtable (ref $jsconstructor.JsConstructorClass.G.vtable)
 (struct.new $jsconstructor.JsConstructorClass.G.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.G)
  (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 jsconstructor.JsConstructorClass.H [vtable.init]
(global $jsconstructor.JsConstructorClass.H.vtable (ref $jsconstructor.JsConstructorClass.H.vtable)
 (struct.new $jsconstructor.JsConstructorClass.H.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.H)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

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

;;; Code for jsconstructor.JsConstructorClass.Varargs [vtable.init]
(global $jsconstructor.JsConstructorClass.Varargs.vtable (ref $jsconstructor.JsConstructorClass.Varargs.vtable)
 (struct.new $jsconstructor.JsConstructorClass.Varargs.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.Varargs)
  (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 jsconstructor.JsConstructorClass.SubVarargs [vtable.init]
(global $jsconstructor.JsConstructorClass.SubVarargs.vtable (ref $jsconstructor.JsConstructorClass.SubVarargs.vtable)
 (struct.new $jsconstructor.JsConstructorClass.SubVarargs.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.SubVarargs)
  (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 jsconstructor.JsConstructorClass.InstanceVarargs [vtable.init]
(global $jsconstructor.JsConstructorClass.InstanceVarargs.vtable (ref $jsconstructor.JsConstructorClass.InstanceVarargs.vtable)
 (struct.new $jsconstructor.JsConstructorClass.InstanceVarargs.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.InstanceVarargs)
  (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 jsconstructor.JsConstructorClass.RegularType [vtable.init]
(global $jsconstructor.JsConstructorClass.RegularType.vtable (ref $jsconstructor.JsConstructorClass.RegularType.vtable)
 (struct.new $jsconstructor.JsConstructorClass.RegularType.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.RegularType)
  (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 jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType [vtable.init]
(global $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType.vtable (ref $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType.vtable)
 (struct.new $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType)
  (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 jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor [vtable.init]
(global $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor.vtable (ref $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor.vtable)
 (struct.new $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor)
  (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 jsconstructor.JsConstructorClass.JsConstructorSubclass [vtable.init]
(global $jsconstructor.JsConstructorClass.JsConstructorSubclass.vtable (ref $jsconstructor.JsConstructorClass.JsConstructorSubclass.vtable)
 (struct.new $jsconstructor.JsConstructorClass.JsConstructorSubclass.vtable
  (ref.func $$getClassImpl__java_lang_Class@jsconstructor.JsConstructorClass.JsConstructorSubclass)
  (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 jsconstructor.JsConstructorClass [methods]

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

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

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

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

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

;;; Code for jsconstructor.JsConstructorClass.A [methods]

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

;;; void A.$ctor(int x)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A
 (param $this (ref null $jsconstructor.JsConstructorClass.A))
 (param $x i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:48:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:48:20
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:48:20
  (call $$init__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:49:6
  (struct.set $jsconstructor.JsConstructorClass.A $fA@jsconstructor.JsConstructorClass.A (local.get $this) (local.get $x))
 )
)

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

;;; void A.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A
 (param $this (ref null $jsconstructor.JsConstructorClass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:52:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:52:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:52:15
  (call $$init__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A (ref.as_non_null (local.get $this)))
 )
)

;;; void A.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A
 (param $this (ref null $jsconstructor.JsConstructorClass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:45:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:46:4
  (struct.set $jsconstructor.JsConstructorClass.A $fA@jsconstructor.JsConstructorClass.A (local.get $this) (i32.const 1))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.G [methods]

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

;;; void G.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_G@jsconstructor.JsConstructorClass.G
 (param $this (ref null $jsconstructor.JsConstructorClass.G))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:144:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:144:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.Outer [methods]

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

;;; void Outer.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_Outer@jsconstructor.JsConstructorClass.Outer
 (param $this (ref null $jsconstructor.JsConstructorClass.Outer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:152:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:152:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.RegularType [methods]

;;; RegularType RegularType.$create(Object b)
(func $$create__java_lang_Object@jsconstructor.JsConstructorClass.RegularType
 (param $b (ref null $java.lang.Object))
 (result (ref null $jsconstructor.JsConstructorClass.RegularType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.RegularType))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.RegularType )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.RegularType (global.get $jsconstructor.JsConstructorClass.RegularType.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
  (call $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_RegularType@jsconstructor.JsConstructorClass.RegularType (ref.as_non_null (local.get $$instance))(local.get $b))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
  (return (local.get $$instance))
 )
)

;;; void RegularType.$ctor(Object b)
(func $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_RegularType@jsconstructor.JsConstructorClass.RegularType
 (param $this (ref null $jsconstructor.JsConstructorClass.RegularType))
 (param $b (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:192:33
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor [methods]

;;; JsConstructorClassWithExplicitConstructor JsConstructorClassWithExplicitConstructor.$create(JsConstructorClass $outer_this, int i)
(func $$create__jsconstructor_JsConstructorClass__int@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 (param $i i32)
 (result (ref null $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
 (local $$instance (ref null $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor (global.get $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $jsconstructor.JsConstructorClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
  (call $$ctor__jsconstructor_JsConstructorClass__int__void_$p_jsconstructor_JsConstructorClass_JsConstructorClassWithExplicitConstructor@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $i))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
  (return (local.get $$instance))
 )
)

;;; void JsConstructorClassWithExplicitConstructor.$ctor(JsConstructorClass $outer_this, int i)
(func $$ctor__jsconstructor_JsConstructorClass__int__void_$p_jsconstructor_JsConstructorClass_JsConstructorClassWithExplicitConstructor@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor
 (param $this (ref null $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor))
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 (param $i i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:4
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:206:8
  (struct.set $jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor $$outer_this@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:208:53
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.B [methods]

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

;;; void B.$ctor(int x)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B
 (param $this (ref null $jsconstructor.JsConstructorClass.B))
 (param $x i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:62:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:63:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A (ref.as_non_null (local.get $this))(i32.add (local.get $x) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:62:20
  (call $$init__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:64:6
  (struct.set $jsconstructor.JsConstructorClass.B $fB@jsconstructor.JsConstructorClass.B (local.get $this) (i32.const 3))
 )
)

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

;;; void B.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B
 (param $this (ref null $jsconstructor.JsConstructorClass.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:67:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:68:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $this))(i32.const 10))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:69:6
  (struct.set $jsconstructor.JsConstructorClass.B $fB@jsconstructor.JsConstructorClass.B (local.get $this) (i32.const 4))
 )
)

;;; B B.$create(int x, int y)
(func $$create__int__int@jsconstructor.JsConstructorClass.B
 (param $x i32)
 (param $y i32)
 (result (ref null $jsconstructor.JsConstructorClass.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.B))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.B )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.B (global.get $jsconstructor.JsConstructorClass.B.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
  (call $$ctor__int__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $$instance))(local.get $x)(local.get $y))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
  (return (local.get $$instance))
 )
)

;;; void B.$ctor(int x, int y)
(func $$ctor__int__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B
 (param $this (ref null $jsconstructor.JsConstructorClass.B))
 (param $x i32)
 (param $y i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:72:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:73:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $this))(i32.add (local.get $x) (local.get $y)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:74:6
  (struct.set $jsconstructor.JsConstructorClass.B $fB@jsconstructor.JsConstructorClass.B (local.get $this) (i32.mul (local.get $x) (local.get $y)))
 )
)

;;; void B.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B
 (param $this (ref null $jsconstructor.JsConstructorClass.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:58:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:59:4
  (struct.set $jsconstructor.JsConstructorClass.B $fB@jsconstructor.JsConstructorClass.B (local.get $this) (i32.const 2))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.H [methods]

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

;;; void H.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_H@jsconstructor.JsConstructorClass.H
 (param $this (ref null $jsconstructor.JsConstructorClass.H))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:149:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:149:15
  (call $$ctor__void_$p_jsconstructor_JsConstructorClass_G@jsconstructor.JsConstructorClass.G (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.Outer.I [methods]

;;; I I.$create(Outer $outer_this)
(func $$create__jsconstructor_JsConstructorClass_Outer@jsconstructor.JsConstructorClass.Outer.I
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass.Outer))
 (result (ref null $jsconstructor.JsConstructorClass.Outer.I))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
 (local $$instance (ref null $jsconstructor.JsConstructorClass.Outer.I))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.Outer.I )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.Outer.I (global.get $jsconstructor.JsConstructorClass.Outer.I.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $jsconstructor.JsConstructorClass.Outer)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
  (call $$ctor__jsconstructor_JsConstructorClass_Outer__void_$p_jsconstructor_JsConstructorClass_Outer_I@jsconstructor.JsConstructorClass.Outer.I (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
  (return (local.get $$instance))
 )
)

;;; void I.$ctor(Outer $outer_this)
(func $$ctor__jsconstructor_JsConstructorClass_Outer__void_$p_jsconstructor_JsConstructorClass_Outer_I@jsconstructor.JsConstructorClass.Outer.I
 (param $this (ref null $jsconstructor.JsConstructorClass.Outer.I))
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass.Outer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:154:17
  (struct.set $jsconstructor.JsConstructorClass.Outer.I $$outer_this@jsconstructor.JsConstructorClass.Outer.I (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:156:17
  (call $$ctor__void_$p_jsconstructor_JsConstructorClass_G@jsconstructor.JsConstructorClass.G (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.Varargs [methods]

;;; Varargs Varargs.$create(int... args)
(func $$create__arrayOf_int@jsconstructor.JsConstructorClass.Varargs
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 (result (ref null $jsconstructor.JsConstructorClass.Varargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.Varargs))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.Varargs )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.Varargs (global.get $jsconstructor.JsConstructorClass.Varargs.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
  (call $$ctor__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_Varargs@jsconstructor.JsConstructorClass.Varargs (ref.as_non_null (local.get $$instance))(local.get $args))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
  (return (local.get $$instance))
 )
)

;;; void Varargs.$ctor(int... args)
(func $$ctor__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_Varargs@jsconstructor.JsConstructorClass.Varargs
 (param $this (ref null $jsconstructor.JsConstructorClass.Varargs))
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:162:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:163:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A (ref.as_non_null (local.get $this))(array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $args)) (i32.const 1)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.InstanceVarargs [methods]

;;; InstanceVarargs InstanceVarargs.$create(JsConstructorClass $outer_this, int... args)
(func $$create__jsconstructor_JsConstructorClass__arrayOf_int@jsconstructor.JsConstructorClass.InstanceVarargs
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 (result (ref null $jsconstructor.JsConstructorClass.InstanceVarargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.InstanceVarargs))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.InstanceVarargs )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.InstanceVarargs (global.get $jsconstructor.JsConstructorClass.InstanceVarargs.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (ref.null $jsconstructor.JsConstructorClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
  (call $$ctor__jsconstructor_JsConstructorClass__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_InstanceVarargs@jsconstructor.JsConstructorClass.InstanceVarargs (ref.as_non_null (local.get $$instance))(local.get $$outer_this)(local.get $args))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
  (return (local.get $$instance))
 )
)

;;; void InstanceVarargs.$ctor(JsConstructorClass $outer_this, int... args)
(func $$ctor__jsconstructor_JsConstructorClass__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_InstanceVarargs@jsconstructor.JsConstructorClass.InstanceVarargs
 (param $this (ref null $jsconstructor.JsConstructorClass.InstanceVarargs))
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:186:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:184:15
  (struct.set $jsconstructor.JsConstructorClass.InstanceVarargs $$outer_this@jsconstructor.JsConstructorClass.InstanceVarargs (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:187:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_A@jsconstructor.JsConstructorClass.A (ref.as_non_null (local.get $this))(array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $args)) (i32.const 1)))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType [methods]

;;; JsConstructorSubtypeOfRegularType JsConstructorSubtypeOfRegularType.$create(Object object)
(func $$create__java_lang_Object@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType
 (param $object (ref null $java.lang.Object))
 (result (ref null $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType (global.get $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
  (call $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubtypeOfRegularType@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType (ref.as_non_null (local.get $$instance))(local.get $object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
  (return (local.get $$instance))
 )
)

;;; void JsConstructorSubtypeOfRegularType.$ctor(Object object)
(func $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubtypeOfRegularType@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType
 (param $this (ref null $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType))
 (param $object (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:197:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:198:6
  (call $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_RegularType@jsconstructor.JsConstructorClass.RegularType (ref.as_non_null (local.get $this))(local.get $object))
 )
)

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

;;; void JsConstructorSubtypeOfRegularType.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubtypeOfRegularType@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType
 (param $this (ref null $jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:201:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:202:6
  (call $$ctor__java_lang_Object__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubtypeOfRegularType@jsconstructor.JsConstructorClass.JsConstructorSubtypeOfRegularType (ref.as_non_null (local.get $this))(call $$create__@java.lang.Object ))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.JsConstructorSubclass [methods]

;;; JsConstructorSubclass JsConstructorSubclass.$create(JsConstructorClass $outer_this)
(func $$create__jsconstructor_JsConstructorClass@jsconstructor.JsConstructorClass.JsConstructorSubclass
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 (result (ref null $jsconstructor.JsConstructorClass.JsConstructorSubclass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
 (local $$instance (ref null $jsconstructor.JsConstructorClass.JsConstructorSubclass))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.JsConstructorSubclass )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.JsConstructorSubclass (global.get $jsconstructor.JsConstructorClass.JsConstructorSubclass.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $jsconstructor.JsConstructorClass) (ref.null $jsconstructor.JsConstructorClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
  (call $$ctor__jsconstructor_JsConstructorClass__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubclass@jsconstructor.JsConstructorClass.JsConstructorSubclass (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
  (return (local.get $$instance))
 )
)

;;; void JsConstructorSubclass.$ctor(JsConstructorClass $outer_this)
(func $$ctor__jsconstructor_JsConstructorClass__void_$p_jsconstructor_JsConstructorClass_JsConstructorSubclass@jsconstructor.JsConstructorClass.JsConstructorSubclass
 (param $this (ref null $jsconstructor.JsConstructorClass.JsConstructorSubclass))
 (param $$outer_this (ref null $jsconstructor.JsConstructorClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:213:4
 (local $i i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:211:8
  (struct.set $jsconstructor.JsConstructorClass.JsConstructorSubclass $$outer_this@jsconstructor.JsConstructorClass.JsConstructorSubclass (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:214:6
  (call $$ctor__jsconstructor_JsConstructorClass__int__void_$p_jsconstructor_JsConstructorClass_JsConstructorClassWithExplicitConstructor@jsconstructor.JsConstructorClass.JsConstructorClassWithExplicitConstructor (ref.as_non_null (local.get $this))(local.get $$outer_this)(i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:219:6
  (block $SWITCH.BREAK
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:219:6
   (block
    (block
     (block ;; evaluate expression and jump
      (br_table 0 1 2 (i32.const 0))
     )
     ;; case 0:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:221:10
     (local.set $i (i32.const 0))
    )
    ;; case 1:
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:223:10
    (local.set $i (i32.const 2))
   )
  )
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.C [methods]

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

;;; void C.$ctor(int x)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C
 (param $this (ref null $jsconstructor.JsConstructorClass.C))
 (param $x i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:85:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:86:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $this))(i32.mul (local.get $x) (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:85:20
  (call $$init__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:87:6
  (struct.set $jsconstructor.JsConstructorClass.C $fC@jsconstructor.JsConstructorClass.C (local.get $this) (i32.const 6))
 )
)

;;; C C.$create(int x, int y)
(func $$create__int__int@jsconstructor.JsConstructorClass.C
 (param $x i32)
 (param $y i32)
 (result (ref null $jsconstructor.JsConstructorClass.C))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.C))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.C )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.C (global.get $jsconstructor.JsConstructorClass.C.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
  (call $$ctor__int__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C (ref.as_non_null (local.get $$instance))(local.get $x)(local.get $y))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
  (return (local.get $$instance))
 )
)

;;; void C.$ctor(int x, int y)
(func $$ctor__int__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C
 (param $this (ref null $jsconstructor.JsConstructorClass.C))
 (param $x i32)
 (param $y i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:90:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:91:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C (ref.as_non_null (local.get $this))(i32.add (local.get $x) (local.get $y)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:92:6
  (struct.set $jsconstructor.JsConstructorClass.C $fC@jsconstructor.JsConstructorClass.C (local.get $this) (i32.const 7))
 )
)

;;; void C.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C
 (param $this (ref null $jsconstructor.JsConstructorClass.C))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:81:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:82:4
  (struct.set $jsconstructor.JsConstructorClass.C $fC@jsconstructor.JsConstructorClass.C (local.get $this) (i32.const 1))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.D [methods]

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

;;; void D.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_D@jsconstructor.JsConstructorClass.D
 (param $this (ref null $jsconstructor.JsConstructorClass.D))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:103:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:104:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_B@jsconstructor.JsConstructorClass.B (ref.as_non_null (local.get $this))(i32.const 9))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:103:15
  (call $$init__void_$p_jsconstructor_JsConstructorClass_D@jsconstructor.JsConstructorClass.D (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:105:6
  (struct.set $jsconstructor.JsConstructorClass.D $fD@jsconstructor.JsConstructorClass.D (local.get $this) (i32.const 10))
 )
)

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

;;; void D.$ctor(int x)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_D@jsconstructor.JsConstructorClass.D
 (param $this (ref null $jsconstructor.JsConstructorClass.D))
 (param $x i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:108:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:109:6
  (call $$ctor__void_$p_jsconstructor_JsConstructorClass_D@jsconstructor.JsConstructorClass.D (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:110:6
  (struct.set $jsconstructor.JsConstructorClass.D $fD@jsconstructor.JsConstructorClass.D (local.get $this) (local.get $x))
 )
)

;;; void D.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_D@jsconstructor.JsConstructorClass.D
 (param $this (ref null $jsconstructor.JsConstructorClass.D))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:99:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:100:4
  (struct.set $jsconstructor.JsConstructorClass.D $fD@jsconstructor.JsConstructorClass.D (local.get $this) (i32.const 8))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.SubVarargs [methods]

;;; SubVarargs SubVarargs.$create(Object arg0, int... arg1)
(func $$create__java_lang_Object__arrayOf_int@jsconstructor.JsConstructorClass.SubVarargs
 (param $arg0 (ref null $java.lang.Object))
 (param $arg1 (ref null $javaemul.internal.WasmArray.OfInt))
 (result (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.SubVarargs )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
  (return (call $$create_$private__java_lang_Object__arrayOf_int@jsconstructor.JsConstructorClass.SubVarargs (local.get $arg0)(local.get $arg1)))
 )
)

;;; SubVarargs SubVarargs.$create_$private(Object i, int... args)
(func $$create_$private__java_lang_Object__arrayOf_int@jsconstructor.JsConstructorClass.SubVarargs
 (param $i (ref null $java.lang.Object))
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 (result (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.SubVarargs (global.get $jsconstructor.JsConstructorClass.SubVarargs.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
  (call $$ctor__java_lang_Object__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_SubVarargs@jsconstructor.JsConstructorClass.SubVarargs (ref.as_non_null (local.get $$instance))(local.get $i)(local.get $args))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
  (return (local.get $$instance))
 )
)

;;; void SubVarargs.$ctor(Object i, int... args)
(func $$ctor__java_lang_Object__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_SubVarargs@jsconstructor.JsConstructorClass.SubVarargs
 (param $this (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (param $i (ref null $java.lang.Object))
 (param $args (ref null $javaemul.internal.WasmArray.OfInt))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:169:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:170:6
  (call $$ctor__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_Varargs@jsconstructor.JsConstructorClass.Varargs (ref.as_non_null (local.get $this))(local.get $args))
 )
)

;;; SubVarargs SubVarargs.$create(int arg0)
(func $$create__int@jsconstructor.JsConstructorClass.SubVarargs
 (param $arg0 i32)
 (result (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.SubVarargs )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
  (return (call $$create_$private__int@jsconstructor.JsConstructorClass.SubVarargs (local.get $arg0)))
 )
)

;;; SubVarargs SubVarargs.$create_$private(int j)
(func $$create_$private__int@jsconstructor.JsConstructorClass.SubVarargs
 (param $j i32)
 (result (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
 (local $$instance (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
  (local.set $$instance (struct.new $jsconstructor.JsConstructorClass.SubVarargs (global.get $jsconstructor.JsConstructorClass.SubVarargs.vtable) (global.get $itable.empty) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_SubVarargs@jsconstructor.JsConstructorClass.SubVarargs (ref.as_non_null (local.get $$instance))(local.get $j))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
  (return (local.get $$instance))
 )
)

;;; void SubVarargs.$ctor(int j)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_SubVarargs@jsconstructor.JsConstructorClass.SubVarargs
 (param $this (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (param $j i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:173:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:174:6
  (call $$ctor__java_lang_Object__arrayOf_int__void_$p_jsconstructor_JsConstructorClass_SubVarargs@jsconstructor.JsConstructorClass.SubVarargs (ref.as_non_null (local.get $this))(call $$create__@java.lang.Object )(call $m_newWithLiteral__arrayOf_int__javaemul_internal_WasmArray_OfInt@javaemul.internal.WasmArray.OfInt (array.new_fixed $int.array 1 (local.get $j))))
 )
)

;;; void SubVarargs.subNativeInvocation()
(func $m_subNativeInvocation__void@jsconstructor.JsConstructorClass.SubVarargs
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:177:16
 (local $unusedS1 (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (local $unusedS2 (ref null $jsconstructor.JsConstructorClass.SubVarargs))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:177:38
  (call $$clinit__void_<once>_@jsconstructor.JsConstructorClass.SubVarargs )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:178:6
  (local.set $unusedS1 (call $$create_$private__int@jsconstructor.JsConstructorClass.SubVarargs (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:179:6
  (local.set $unusedS2 (call $$create_$private__java_lang_Object__arrayOf_int@jsconstructor.JsConstructorClass.SubVarargs (call $$create__@java.lang.Object )(call $m_newWithLiteral__arrayOf_int__javaemul_internal_WasmArray_OfInt@javaemul.internal.WasmArray.OfInt (array.new_data $int.array $arrayliteral@jsconstructor.JsConstructorClass$SubVarargs-1 (i32.const 0) (i32.const 3)))))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.E [methods]

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

;;; void E.$ctor()
(func $$ctor__void_$p_jsconstructor_JsConstructorClass_E@jsconstructor.JsConstructorClass.E
 (param $this (ref null $jsconstructor.JsConstructorClass.E))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:121:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:122:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C (ref.as_non_null (local.get $this))(i32.const 10))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:121:15
  (call $$init__void_$p_jsconstructor_JsConstructorClass_E@jsconstructor.JsConstructorClass.E (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:123:6
  (struct.set $jsconstructor.JsConstructorClass.E $fE@jsconstructor.JsConstructorClass.E (local.get $this) (i32.const 12))
 )
)

;;; void E.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_E@jsconstructor.JsConstructorClass.E
 (param $this (ref null $jsconstructor.JsConstructorClass.E))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:117:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:118:4
  (struct.set $jsconstructor.JsConstructorClass.E $fE@jsconstructor.JsConstructorClass.E (local.get $this) (i32.const 11))
 )
)

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

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

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

;;; Code for jsconstructor.JsConstructorClass.F [methods]

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

;;; void F.$ctor(int x)
(func $$ctor__int__void_$p_jsconstructor_JsConstructorClass_F@jsconstructor.JsConstructorClass.F
 (param $this (ref null $jsconstructor.JsConstructorClass.F))
 (param $x i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:134:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:135:6
  (call $$ctor__int__void_$p_jsconstructor_JsConstructorClass_C@jsconstructor.JsConstructorClass.C (ref.as_non_null (local.get $this))(i32.add (local.get $x) (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:134:20
  (call $$init__void_$p_jsconstructor_JsConstructorClass_F@jsconstructor.JsConstructorClass.F (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:136:6
  (struct.set $jsconstructor.JsConstructorClass.F $fF@jsconstructor.JsConstructorClass.F (local.get $this) (i32.add (local.get $x) (i32.const 3)))
 )
)

;;; void F.$init()
(func $$init__void_$p_jsconstructor_JsConstructorClass_F@jsconstructor.JsConstructorClass.F
 (param $this (ref null $jsconstructor.JsConstructorClass.F))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:130:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/jsconstructor/readable-j2wasm.js/jsconstructor/JsConstructorClass.java:131:4
  (struct.set $jsconstructor.JsConstructorClass.F $fF@jsconstructor.JsConstructorClass.F (local.get $this) (i32.const 13))
 )
)

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

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

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