;;; Code for nativejstypes.Bar.$Overlay [type definition]
(type $nativejstypes.Bar.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Bar.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Bar.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.BarInnerWithDotInName.$Overlay [type definition]
(type $nativejstypes.BarInnerWithDotInName.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.BarInnerWithDotInName.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.BarInnerWithDotInName.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay [type definition]
(type $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Bar.Inner.$Overlay [type definition]
(type $nativejstypes.Bar.Inner.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Bar.Inner.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Bar.Inner.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Empty.$Overlay [type definition]
(type $nativejstypes.Empty.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Empty.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Empty.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Foo.$Overlay [type definition]
(type $nativejstypes.Foo.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Foo.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Foo.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Headers.$Overlay [type definition]
(type $nativejstypes.Headers.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Headers.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Headers.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay [type definition]
(type $nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay [type definition]
(type $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Nullability.$Overlay [type definition]
(type $nativejstypes.Nullability.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.Nullability.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.Nullability.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.NullabilityNullMarked.$Overlay [type definition]
(type $nativejstypes.NullabilityNullMarked.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.NullabilityNullMarked.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.NullabilityNullMarked.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay [type definition]
(type $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.TopLevel.$Overlay [type definition]
(type $nativejstypes.TopLevel.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.TopLevel.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.TopLevel.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.TopLevelNestedReference.$Overlay [type definition]
(type $nativejstypes.TopLevelNestedReference.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.TopLevelNestedReference.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.TopLevelNestedReference.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.TopLevel.Nested.$Overlay [type definition]
(type $nativejstypes.TopLevel.Nested.$Overlay.vtable (sub (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 ))
)
(type $nativejstypes.TopLevel.Nested.$Overlay (sub (struct
 (field $vtable (ref $nativejstypes.TopLevel.Nested.$Overlay.vtable))
 (field $itable (ref $itable))
 ))
)

;;; Code for nativejstypes.Bar [type definition]

;;; Code for nativejstypes.BarInnerWithDotInName [type definition]

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace [type definition]

;;; Code for nativejstypes.Bar.Inner [type definition]

;;; Code for nativejstypes.Empty [type definition]

;;; Code for nativejstypes.Foo [type definition]

;;; Code for nativejstypes.Headers [type definition]

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

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

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass [type definition]

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass [type definition]

;;; Code for nativejstypes.Nullability [type definition]

;;; Code for nativejstypes.NullabilityNullMarked [type definition]

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

;;; Code for nativejstypes.ReferencedPrivateMethods.Inner [type definition]
(type $nativejstypes.ReferencedPrivateMethods.Inner.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 (field $m_getInstance__int (ref $function.m_getInstance__int))
 ))
)
(type $nativejstypes.ReferencedPrivateMethods.Inner (sub $java.lang.Object (struct
 (field $vtable (ref $nativejstypes.ReferencedPrivateMethods.Inner.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods [type definition]

;;; Code for nativejstypes.TopLevel [type definition]

;;; Code for nativejstypes.TopLevelNestedReference [type definition]

;;; Code for nativejstypes.TopLevel.Nested [type definition]

;;; Code for nativejstypes.Bar.$Overlay [imports]

;;; Code for nativejstypes.BarInnerWithDotInName.$Overlay [imports]

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay [imports]

;;; Code for nativejstypes.Bar.Inner.$Overlay [imports]

;;; Code for nativejstypes.Empty.$Overlay [imports]

;;; Code for nativejstypes.Foo.$Overlay [imports]

;;; Code for nativejstypes.Headers.$Overlay [imports]

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay [imports]

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay [imports]

;;; Code for nativejstypes.Nullability.$Overlay [imports]

;;; Code for nativejstypes.NullabilityNullMarked.$Overlay [imports]

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay [imports]

;;; Code for nativejstypes.TopLevel.$Overlay [imports]

;;; Code for nativejstypes.TopLevelNestedReference.$Overlay [imports]

;;; Code for nativejstypes.TopLevel.Nested.$Overlay [imports]

;;; Code for nativejstypes.Bar [imports]

;;; Bar(int x, int y)
(func $m_<init>__int__int@nativejstypes.Bar (import "imports" "nativejstypes.Bar.constructor$2") 
 (param $x i32)
 (param $y i32)
 (result (ref null extern))
)

;;; int Bar.product()
(func $m_product__int@nativejstypes.Bar (import "imports" "nativejstypes.Bar.product") 
 (param $this (ref null extern))
 (result i32)
)

;;; int Bar.getStatic()
(func $m_getStatic__int@nativejstypes.Bar (import "imports" "nativejstypes.Bar.getStatic") 
 (result i32)
)

;;; int Bar.x()
(func $f_x__int@nativejstypes.Bar (import "imports" "get nativejstypes.Bar.x") 
 (param $this (ref null extern))
 (result i32)
)

;;; void Bar.x(int value)
(func $f_x__int__void@nativejstypes.Bar (import "imports" "set nativejstypes.Bar.x") 
 (param $this (ref null extern))
 (param $value i32)
)

;;; int Bar.y()
(func $f_y__int@nativejstypes.Bar (import "imports" "get nativejstypes.Bar.y") 
 (param $this (ref null extern))
 (result i32)
)

;;; void Bar.y(int value)
(func $f_y__int__void@nativejstypes.Bar (import "imports" "set nativejstypes.Bar.y") 
 (param $this (ref null extern))
 (param $value i32)
)

;;; int Bar.f()
(func $f_f__int@nativejstypes.Bar (import "imports" "get nativejstypes.Bar.f") 
 (result i32)
)

;;; void Bar.f(int value)
(func $f_f__int__void@nativejstypes.Bar (import "imports" "set nativejstypes.Bar.f") 
 (param $value i32)
)

;;; Code for nativejstypes.BarInnerWithDotInName [imports]

;;; BarInnerWithDotInName(int n)
(func $m_<init>__int@nativejstypes.BarInnerWithDotInName (import "imports" "nativejstypes.Bar.Inner.constructor$1") 
 (param $n i32)
 (result (ref null extern))
)

;;; int BarInnerWithDotInName.square()
(func $m_square__int@nativejstypes.BarInnerWithDotInName (import "imports" "nativejstypes.Bar.Inner.square") 
 (param $this (ref null extern))
 (result i32)
)

;;; int BarInnerWithDotInName.getInnerStatic()
(func $m_getInnerStatic__int@nativejstypes.BarInnerWithDotInName (import "imports" "nativejstypes.Bar.Inner.getInnerStatic") 
 (result i32)
)

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace [imports]

;;; BarInnerWithDotInNameAndHasNamespace(int n)
(func $m_<init>__int@nativejstypes.BarInnerWithDotInNameAndHasNamespace (import "imports" "nativejstypes.Bar.Inner.constructor$1") 
 (param $n i32)
 (result (ref null extern))
)

;;; int BarInnerWithDotInNameAndHasNamespace.square()
(func $m_square__int@nativejstypes.BarInnerWithDotInNameAndHasNamespace (import "imports" "nativejstypes.Bar.Inner.square") 
 (param $this (ref null extern))
 (result i32)
)

;;; int BarInnerWithDotInNameAndHasNamespace.getInnerStatic()
(func $m_getInnerStatic__int@nativejstypes.BarInnerWithDotInNameAndHasNamespace (import "imports" "nativejstypes.Bar.Inner.getInnerStatic") 
 (result i32)
)

;;; Code for nativejstypes.Bar.Inner [imports]

;;; Inner(int n)
(func $m_<init>__int@nativejstypes.Bar.Inner (import "imports" "nativejstypes.Bar.Inner.constructor$1") 
 (param $n i32)
 (result (ref null extern))
)

;;; int Inner.square()
(func $m_square__int@nativejstypes.Bar.Inner (import "imports" "nativejstypes.Bar.Inner.square") 
 (param $this (ref null extern))
 (result i32)
)

;;; int Inner.getInnerStatic()
(func $m_getInnerStatic__int@nativejstypes.Bar.Inner (import "imports" "nativejstypes.Bar.Inner.getInnerStatic") 
 (result i32)
)

;;; Code for nativejstypes.Empty [imports]

;;; Code for nativejstypes.Foo [imports]

;;; Foo()
(func $m_<init>__@nativejstypes.Foo (import "imports" "com.acme.MyFoo.constructor") 
 (result (ref null extern))
)

;;; int Foo.sum()
(func $m_sum__int@nativejstypes.Foo (import "imports" "com.acme.MyFoo.sum") 
 (param $this (ref null extern))
 (result i32)
)

;;; int Foo.x()
(func $f_x__int@nativejstypes.Foo (import "imports" "get com.acme.MyFoo.x") 
 (param $this (ref null extern))
 (result i32)
)

;;; void Foo.x(int value)
(func $f_x__int__void@nativejstypes.Foo (import "imports" "set com.acme.MyFoo.x") 
 (param $this (ref null extern))
 (param $value i32)
)

;;; int Foo.y()
(func $f_y__int@nativejstypes.Foo (import "imports" "get com.acme.MyFoo.y") 
 (param $this (ref null extern))
 (result i32)
)

;;; void Foo.y(int value)
(func $f_y__int__void@nativejstypes.Foo (import "imports" "set com.acme.MyFoo.y") 
 (param $this (ref null extern))
 (param $value i32)
)

;;; Code for nativejstypes.Headers [imports]

;;; Headers()
(func $m_<init>__@nativejstypes.Headers (import "imports" "Headers.constructor") 
 (result (ref null extern))
)

;;; void Headers.append(NativeString name, NativeString value)
(func $m_append__java_lang_String_NativeString__java_lang_String_NativeString__void@nativejstypes.Headers (import "imports" "Headers.append$2") 
 (param $this (ref null extern))
 (param $name (ref null string))
 (param $value (ref null string))
)

;;; NativeString Headers.get(NativeString name)
(func $m_get__java_lang_String_NativeString__java_lang_String_NativeString@nativejstypes.Headers (import "imports" "Headers.get$1") 
 (param $this (ref null extern))
 (param $name (ref null string))
 (result (ref null string))
)

;;; Code for nativejstypes.Main [imports]

;;; Code for nativejstypes.NonreferencedMethods [imports]

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass [imports]

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass [imports]

;;; int NativeMembersOnPrivateClass.getInstance2()
(func $m_getInstance2__int@nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass (import "imports" "nativejstypes.NativeNonreferencedMethods.getInstance2") 
 (param $this (ref null extern))
 (result i32)
)

;;; Code for nativejstypes.Nullability [imports]

;;; Nullability()
(func $m_<init>__@nativejstypes.Nullability (import "imports" "nativejstypes.Nullability.constructor") 
 (result (ref null extern))
)

;;; void Nullability.acceptsNull(NativeString arg)
(func $m_acceptsNull__java_lang_String_NativeString__void@nativejstypes.Nullability (import "imports" "nativejstypes.Nullability.acceptsNull$1") 
 (param $this (ref null extern))
 (param $arg (ref null string))
)

;;; void Nullability.doesNotAcceptNull(NativeString arg)
(func $m_doesNotAcceptNull__java_lang_String_NativeString__void@nativejstypes.Nullability (import "imports" "nativejstypes.Nullability.doesNotAcceptNull$1") 
 (param $this (ref null extern))
 (param $arg (ref null string))
)

;;; Code for nativejstypes.NullabilityNullMarked [imports]

;;; NullabilityNullMarked()
(func $m_<init>__@nativejstypes.NullabilityNullMarked (import "imports" "nativejstypes.Nullability.constructor") 
 (result (ref null extern))
)

;;; void NullabilityNullMarked.acceptsNull(NativeString arg)
(func $m_acceptsNull__java_lang_String_NativeString__void@nativejstypes.NullabilityNullMarked (import "imports" "nativejstypes.Nullability.acceptsNull$1") 
 (param $this (ref null extern))
 (param $arg (ref null string))
)

;;; void NullabilityNullMarked.doesNotAcceptNull(NativeString arg)
(func $m_doesNotAcceptNull__java_lang_String_NativeString__void@nativejstypes.NullabilityNullMarked (import "imports" "nativejstypes.Nullability.doesNotAcceptNull$1") 
 (param $this (ref null extern))
 (param $arg (ref null string))
)

;;; Code for nativejstypes.ReferencedPrivateMethods [imports]

;;; Code for nativejstypes.ReferencedPrivateMethods.Inner [imports]

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods [imports]

;;; NativeReferencedPrivateMethods()
(func $m_<init>__@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (import "imports" "nativejstypes.NativeReferencedPrivateMethods.constructor") 
 (result (ref null extern))
)

;;; int NativeReferencedPrivateMethods.getInstance()
(func $m_getInstance__int_$p_nativejstypes_ReferencedPrivateMethods_NativeReferencedPrivateMethods@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (import "imports" "nativejstypes.NativeReferencedPrivateMethods.getInstance") 
 (param $this (ref null extern))
 (result i32)
)

;;; int NativeReferencedPrivateMethods.getStatic()
(func $m_getStatic__int@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (import "imports" "nativejstypes.NativeReferencedPrivateMethods.getStatic") 
 (result i32)
)

;;; int NativeReferencedPrivateMethods.x()
(func $f_x__int_$p_nativejstypes_ReferencedPrivateMethods_NativeReferencedPrivateMethods@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (import "imports" "get nativejstypes.NativeReferencedPrivateMethods.x") 
 (param $this (ref null extern))
 (result i32)
)

;;; int NativeReferencedPrivateMethods.s()
(func $f_s__int@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (import "imports" "get nativejstypes.NativeReferencedPrivateMethods.s") 
 (result i32)
)

;;; Code for nativejstypes.TopLevel [imports]

;;; int TopLevel.x()
(func $f_x__int@nativejstypes.TopLevel (import "imports" "get toplevel.x") 
 (result i32)
)

;;; void TopLevel.x(int value)
(func $f_x__int__void@nativejstypes.TopLevel (import "imports" "set toplevel.x") 
 (param $value i32)
)

;;; Code for nativejstypes.TopLevelNestedReference [imports]

;;; TopLevelNestedReference()
(func $m_<init>__@nativejstypes.TopLevelNestedReference (import "imports" "toplevel.Nested.constructor") 
 (result (ref null extern))
)

;;; int TopLevelNestedReference.x()
(func $f_x__int@nativejstypes.TopLevelNestedReference (import "imports" "get toplevel.Nested.x") 
 (param $this (ref null extern))
 (result i32)
)

;;; void TopLevelNestedReference.x(int value)
(func $f_x__int__void@nativejstypes.TopLevelNestedReference (import "imports" "set toplevel.Nested.x") 
 (param $this (ref null extern))
 (param $value i32)
)

;;; Code for nativejstypes.TopLevel.Nested [imports]

;;; Nested()
(func $m_<init>__@nativejstypes.TopLevel.Nested (import "imports" "toplevel.Nested.constructor") 
 (result (ref null extern))
)

;;; int Nested.x()
(func $f_x__int@nativejstypes.TopLevel.Nested (import "imports" "get toplevel.Nested.x") 
 (param $this (ref null extern))
 (result i32)
)

;;; void Nested.x(int value)
(func $f_x__int__void@nativejstypes.TopLevel.Nested (import "imports" "set toplevel.Nested.x") 
 (param $this (ref null extern))
 (param $value i32)
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for nativejstypes.Bar.$Overlay [vtable.init]
(global $nativejstypes.Bar.$Overlay.vtable (ref $nativejstypes.Bar.$Overlay.vtable)
 (struct.new $nativejstypes.Bar.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Bar.$Overlay)
 )
)

;;; Code for nativejstypes.BarInnerWithDotInName.$Overlay [vtable.init]
(global $nativejstypes.BarInnerWithDotInName.$Overlay.vtable (ref $nativejstypes.BarInnerWithDotInName.$Overlay.vtable)
 (struct.new $nativejstypes.BarInnerWithDotInName.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.BarInnerWithDotInName.$Overlay)
 )
)

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay [vtable.init]
(global $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay.vtable (ref $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay.vtable)
 (struct.new $nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay)
 )
)

;;; Code for nativejstypes.Bar.Inner.$Overlay [vtable.init]
(global $nativejstypes.Bar.Inner.$Overlay.vtable (ref $nativejstypes.Bar.Inner.$Overlay.vtable)
 (struct.new $nativejstypes.Bar.Inner.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Bar.Inner.$Overlay)
 )
)

;;; Code for nativejstypes.Empty.$Overlay [vtable.init]
(global $nativejstypes.Empty.$Overlay.vtable (ref $nativejstypes.Empty.$Overlay.vtable)
 (struct.new $nativejstypes.Empty.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Empty.$Overlay)
 )
)

;;; Code for nativejstypes.Foo.$Overlay [vtable.init]
(global $nativejstypes.Foo.$Overlay.vtable (ref $nativejstypes.Foo.$Overlay.vtable)
 (struct.new $nativejstypes.Foo.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Foo.$Overlay)
 )
)

;;; Code for nativejstypes.Headers.$Overlay [vtable.init]
(global $nativejstypes.Headers.$Overlay.vtable (ref $nativejstypes.Headers.$Overlay.vtable)
 (struct.new $nativejstypes.Headers.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Headers.$Overlay)
 )
)

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

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

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay [vtable.init]
(global $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay.vtable (ref $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay.vtable)
 (struct.new $nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay)
 )
)

;;; Code for nativejstypes.Nullability.$Overlay [vtable.init]
(global $nativejstypes.Nullability.$Overlay.vtable (ref $nativejstypes.Nullability.$Overlay.vtable)
 (struct.new $nativejstypes.Nullability.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.Nullability.$Overlay)
 )
)

;;; Code for nativejstypes.NullabilityNullMarked.$Overlay [vtable.init]
(global $nativejstypes.NullabilityNullMarked.$Overlay.vtable (ref $nativejstypes.NullabilityNullMarked.$Overlay.vtable)
 (struct.new $nativejstypes.NullabilityNullMarked.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.NullabilityNullMarked.$Overlay)
 )
)

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

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay [vtable.init]
(global $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay.vtable (ref $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay.vtable)
 (struct.new $nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay)
 )
)

;;; Code for nativejstypes.TopLevel.$Overlay [vtable.init]
(global $nativejstypes.TopLevel.$Overlay.vtable (ref $nativejstypes.TopLevel.$Overlay.vtable)
 (struct.new $nativejstypes.TopLevel.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.TopLevel.$Overlay)
 )
)

;;; Code for nativejstypes.TopLevelNestedReference.$Overlay [vtable.init]
(global $nativejstypes.TopLevelNestedReference.$Overlay.vtable (ref $nativejstypes.TopLevelNestedReference.$Overlay.vtable)
 (struct.new $nativejstypes.TopLevelNestedReference.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.TopLevelNestedReference.$Overlay)
 )
)

;;; Code for nativejstypes.TopLevel.Nested.$Overlay [vtable.init]
(global $nativejstypes.TopLevel.Nested.$Overlay.vtable (ref $nativejstypes.TopLevel.Nested.$Overlay.vtable)
 (struct.new $nativejstypes.TopLevel.Nested.$Overlay.vtable
  (ref.func $$getClassImpl__java_lang_Class@nativejstypes.TopLevel.Nested.$Overlay)
 )
)

;;; Code for nativejstypes.Bar.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.BarInnerWithDotInName.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.BarInnerWithDotInName.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:47:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:47:6
  (if (global.get $$class-initialized@nativejstypes.BarInnerWithDotInName.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:47:6
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:47:6
  (global.set $$class-initialized@nativejstypes.BarInnerWithDotInName.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:56:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:56:6
  (if (global.get $$class-initialized@nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:56:6
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:56:6
  (global.set $$class-initialized@nativejstypes.BarInnerWithDotInNameAndHasNamespace.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.Bar.Inner.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.Bar.Inner.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:36:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:36:15
  (if (global.get $$class-initialized@nativejstypes.Bar.Inner.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:36:15
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Bar.java:36:15
  (global.set $$class-initialized@nativejstypes.Bar.Inner.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.Empty.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.Foo.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.Headers.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:24:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:24:22
  (if (global.get $$class-initialized@nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:24:22
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:24:22
  (global.set $$class-initialized@nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:38:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:38:23
  (if (global.get $$class-initialized@nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:38:23
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/NonreferencedMethods.java:38:23
  (global.set $$class-initialized@nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.Nullability.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.NullabilityNullMarked.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.NullabilityNullMarked.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Nullability.java:34:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Nullability.java:34:6
  (if (global.get $$class-initialized@nativejstypes.NullabilityNullMarked.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Nullability.java:34:6
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Nullability.java:34:6
  (global.set $$class-initialized@nativejstypes.NullabilityNullMarked.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:31:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:31:23
  (if (global.get $$class-initialized@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:31:23
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:31:23
  (global.set $$class-initialized@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.TopLevel.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.TopLevelNestedReference.$Overlay [methods]

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

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

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

;;; Code for nativejstypes.TopLevel.Nested.$Overlay [methods]

;;; void $Overlay.$clinit()
(func $$clinit__void_<once>_@nativejstypes.TopLevel.Nested.$Overlay
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/TopLevel.java:27:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/TopLevel.java:27:15
  (if (global.get $$class-initialized@nativejstypes.TopLevel.Nested.$Overlay)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/TopLevel.java:27:15
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/TopLevel.java:27:15
  (global.set $$class-initialized@nativejstypes.TopLevel.Nested.$Overlay (i32.const 1))
 )
)

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

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

;;; Code for nativejstypes.Bar [methods]

;;; Code for nativejstypes.BarInnerWithDotInName [methods]

;;; Code for nativejstypes.BarInnerWithDotInNameAndHasNamespace [methods]

;;; Code for nativejstypes.Bar.Inner [methods]

;;; Code for nativejstypes.Empty [methods]

;;; Code for nativejstypes.Foo [methods]

;;; Code for nativejstypes.Headers [methods]

;;; Code for nativejstypes.Main [methods]

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

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

;;; int Main.testNativeJsTypeWithNamespace()
(func $m_testNativeJsTypeWithNamespace__int@nativejstypes.Main
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:21:20
 (local $foo (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:21:52
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:22:4
  (local.set $foo (call $m_<init>__@nativejstypes.Foo ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:23:4
  (return (call $m_sum__int@nativejstypes.Foo (ref.as_non_null (local.get $foo))))
 )
)

;;; void Main.testNativeJsTypeWithNamespaceJsProperties()
(func $m_testNativeJsTypeWithNamespaceJsProperties__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:26:21
 (local $foo (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:26:65
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:27:4
  (local.set $foo (call $m_<init>__@nativejstypes.Foo ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:28:4
  (call $f_x__int__void@nativejstypes.Foo (ref.as_non_null (local.get $foo))(i32.const 50))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:29:4
  (call $f_y__int__void@nativejstypes.Foo (ref.as_non_null (local.get $foo))(i32.const 5))
 )
)

;;; int Main.testNativeJsTypeWithoutNamespace()
(func $m_testNativeJsTypeWithoutNamespace__int@nativejstypes.Main
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:32:20
 (local $bar (ref null extern))
 (local $unused i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:32:55
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:33:4
  (local.set $bar (call $m_<init>__int__int@nativejstypes.Bar (i32.const 6)(i32.const 7)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:34:4
  (local.set $unused (call $m_getStatic__int@nativejstypes.Bar ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:35:4
  (return (call $m_product__int@nativejstypes.Bar (ref.as_non_null (local.get $bar))))
 )
)

;;; void Main.testNativeJsTypeWithoutNamespaceJsProperties()
(func $m_testNativeJsTypeWithoutNamespaceJsProperties__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:38:21
 (local $bar (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:38:68
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:39:4
  (local.set $bar (call $m_<init>__int__int@nativejstypes.Bar (i32.const 6)(i32.const 7)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:40:4
  (call $f_x__int__void@nativejstypes.Bar (ref.as_non_null (local.get $bar))(i32.const 50))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:41:4
  (call $f_y__int__void@nativejstypes.Bar (ref.as_non_null (local.get $bar))(i32.const 5))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:42:4
  (call $f_f__int__void@nativejstypes.Bar (i32.const 10))
 )
)

;;; void Main.testInnerNativeJsType()
(func $m_testInnerNativeJsType__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:45:21
 (local $barInner (ref null extern))
 (local $barInnerWithDotInName (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:45:45
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:46:4
  (local.set $barInner (call $m_<init>__int@nativejstypes.Bar.Inner (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:47:4
  (local.set $barInnerWithDotInName (call $m_<init>__int@nativejstypes.BarInnerWithDotInName (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:48:4
  (drop (call $m_square__int@nativejstypes.Bar.Inner (ref.as_non_null (local.get $barInner))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:49:4
  (drop (call $m_square__int@nativejstypes.BarInnerWithDotInName (ref.as_non_null (local.get $barInnerWithDotInName))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:50:4
  (drop (call $m_getInnerStatic__int@nativejstypes.Bar.Inner ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:51:4
  (drop (call $m_getInnerStatic__int@nativejstypes.BarInnerWithDotInName ))
 )
)

;;; void Main.testGlobalNativeJsType()
(func $m_testGlobalNativeJsType__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:54:21
 (local $header (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:54:46
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:55:4
  (local.set $header (call $m_<init>__@nativejstypes.Headers ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:56:4
  (call $m_append__java_lang_String_NativeString__java_lang_String_NativeString__void@nativejstypes.Headers (ref.as_non_null (local.get $header))(call $m_toJsString__java_lang_String__java_lang_String_NativeString@java.lang.String (call $$getString_|Content_Type|__java_lang_String_<once>_@nativejstypes.Main ))(call $m_toJsString__java_lang_String__java_lang_String_NativeString@java.lang.String (call $$getString_|text_xml|__java_lang_String_<once>_@nativejstypes.Main )))
 )
)

;;; void Main.testNativeTypeClassLiteral()
(func $m_testNativeTypeClassLiteral__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:60:21
 (local $o1 (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:60:50
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:61:4
  (local.set $o1 (ref.null $java.lang.Object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:62:4
  (local.set $o1 (call $function.no.side.effects.m_getArrayType__int__java_lang_Class_$pp_java_lang (ref.as_non_null (ref.null $java.lang.Class))(i32.const 2)(ref.func $m_getArrayType__int__java_lang_Class_$pp_java_lang@java.lang.Class) ))
 )
)

;;; void Main.testTopLevel()
(func $m_testTopLevel__void@nativejstypes.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:73:21
 (local $nested (ref null extern))
 (local $topLevelNestedReference (ref null extern))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:73:36
  (call $$clinit__void_<once>_@nativejstypes.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:74:4
  (call $f_x__int__void@nativejstypes.TopLevel (i32.const 2))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:76:4
  (local.set $nested (call $m_<init>__@nativejstypes.TopLevel.Nested ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:77:4
  (call $f_x__int__void@nativejstypes.TopLevel.Nested (ref.as_non_null (local.get $nested))(i32.const 3))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:79:4
  (local.set $topLevelNestedReference (call $m_<init>__@nativejstypes.TopLevelNestedReference ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/Main.java:80:4
  (call $f_x__int__void@nativejstypes.TopLevelNestedReference (ref.as_non_null (local.get $topLevelNestedReference))(i32.const 4))
 )
)

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

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

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

;;; Code for nativejstypes.NonreferencedMethods [methods]

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

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

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

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

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

;;; Code for nativejstypes.NonreferencedMethods.NativePrivateMembersOnPublicClass [methods]

;;; Code for nativejstypes.NonreferencedMethods.NativeMembersOnPrivateClass [methods]

;;; Code for nativejstypes.Nullability [methods]

;;; Code for nativejstypes.NullabilityNullMarked [methods]

;;; Code for nativejstypes.ReferencedPrivateMethods [methods]

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

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

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

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

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

;;; Code for nativejstypes.ReferencedPrivateMethods.Inner [methods]

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

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

;;; int Inner.getInstance()
(func $m_getInstance__int@nativejstypes.ReferencedPrivateMethods.Inner
 (type $function.m_getInstance__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:23:15
 (local $t (ref null extern))
 (local $this (ref null $nativejstypes.ReferencedPrivateMethods.Inner))
 (local.set $this (ref.cast (ref $nativejstypes.ReferencedPrivateMethods.Inner) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:24:6
  (local.set $t (call $m_<init>__@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/nativejstypes/readable-j2wasm.js/nativejstypes/ReferencedPrivateMethods.java:25:6
  (return (i32.add (i32.add (i32.add (call $f_x__int_$p_nativejstypes_ReferencedPrivateMethods_NativeReferencedPrivateMethods@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (ref.as_non_null (local.get $t))) (call $f_s__int@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods )) (call $m_getInstance__int_$p_nativejstypes_ReferencedPrivateMethods_NativeReferencedPrivateMethods@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods (ref.as_non_null (local.get $t)))) (call $m_getStatic__int@nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods )))
 )
)
(elem declare func $m_getInstance__int@nativejstypes.ReferencedPrivateMethods.Inner)

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

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

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

;;; Code for nativejstypes.ReferencedPrivateMethods.NativeReferencedPrivateMethods [methods]

;;; Code for nativejstypes.TopLevel [methods]

;;; Code for nativejstypes.TopLevelNestedReference [methods]

;;; Code for nativejstypes.TopLevel.Nested [methods]
