;;; Code for sealedclasses.SealedClasses.Animal [type definition]
(type $sealedclasses.SealedClasses.Animal.vtable (sub (struct
 ))
)

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

;;; Code for sealedclasses.SealedClasses.Mammal [type definition]
(type $sealedclasses.SealedClasses.Mammal.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_changeName__java_lang_String__void (ref $function.m_changeName__java_lang_String__void))
 (field $m_retrieveName__java_lang_String (ref $function.m_retrieveName__java_lang_String))
 ))
)
(type $sealedclasses.SealedClasses.Mammal (sub $java.lang.Object (struct
 (field $vtable (ref $sealedclasses.SealedClasses.Mammal.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.Mammal.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

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

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

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

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

;;; Code for sealedclasses.SealedClasses.Mammal.Dolphin [type definition]
(type $sealedclasses.SealedClasses.Mammal.Dolphin.vtable (sub $sealedclasses.SealedClasses.Mammal.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_changeName__java_lang_String__void (ref $function.m_changeName__java_lang_String__void))
 (field $m_retrieveName__java_lang_String (ref $function.m_retrieveName__java_lang_String))
 ))
)
(type $sealedclasses.SealedClasses.Mammal.Dolphin (sub $sealedclasses.SealedClasses.Mammal (struct
 (field $vtable (ref $sealedclasses.SealedClasses.Mammal.Dolphin.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.Mammal.Dolphin.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for sealedclasses.SealedClasses.Dog [type definition]
(type $sealedclasses.SealedClasses.Dog.vtable (sub $sealedclasses.SealedClasses.Mammal.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_changeName__java_lang_String__void (ref $function.m_changeName__java_lang_String__void))
 (field $m_retrieveName__java_lang_String (ref $function.m_retrieveName__java_lang_String))
 ))
)
(type $sealedclasses.SealedClasses.Dog (sub $sealedclasses.SealedClasses.Mammal (struct
 (field $vtable (ref $sealedclasses.SealedClasses.Dog.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.Dog.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for sealedclasses.SealedClasses.Cat [type definition]
(type $sealedclasses.SealedClasses.Cat.vtable (sub $sealedclasses.SealedClasses.Mammal.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_changeName__java_lang_String__void (ref $function.m_changeName__java_lang_String__void))
 (field $m_retrieveName__java_lang_String (ref $function.m_retrieveName__java_lang_String))
 ))
)
(type $sealedclasses.SealedClasses.Cat (sub $sealedclasses.SealedClasses.Mammal (struct
 (field $vtable (ref $sealedclasses.SealedClasses.Cat.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.Cat.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for sealedclasses.SealedClasses.Whale [type definition]
(type $sealedclasses.SealedClasses.Whale.vtable (sub $sealedclasses.SealedClasses.Mammal.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_changeName__java_lang_String__void (ref $function.m_changeName__java_lang_String__void))
 (field $m_retrieveName__java_lang_String (ref $function.m_retrieveName__java_lang_String))
 ))
)
(type $sealedclasses.SealedClasses.Whale (sub $sealedclasses.SealedClasses.Mammal (struct
 (field $vtable (ref $sealedclasses.SealedClasses.Whale.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.Whale.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for sealedclasses.SealedClasses.EnumImplementsSealedInterface [type definition]
(type $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable (sub $java.lang.Enum.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_compareTo__java_lang_Object__int (ref $function.m_compareTo__java_lang_Object__int))
 (field $m_getDeclaringClass__java_lang_Class (ref $function.m_getDeclaringClass__java_lang_Class))
 ))
)
(type $sealedclasses.SealedClasses.EnumImplementsSealedInterface (sub $java.lang.Enum (struct
 (field $vtable (ref $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable))
 (field $itable (ref $sealedclasses.SealedClasses.EnumImplementsSealedInterface.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $name@java.lang.Enum (mut (ref null $java.lang.String)))
 (field $ordinal@java.lang.Enum (mut i32))
 ))
)

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

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

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

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

;;; Code for sealedclasses.SealedClasses.Animal [imports]

;;; Code for sealedclasses.SealedClasses [imports]

;;; Code for sealedclasses.SealedClasses.Mammal [imports]

;;; Code for sealedclasses.SealedClasses.Deer [imports]

;;; Code for sealedclasses.SealedClasses.Shape [imports]

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass [imports]

;;; Code for sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage [imports]

;;; Code for sealedclasses.SealedClasses.SubClass [imports]

;;; Code for sealedclasses.SealedClasses.Mammal.Dolphin [imports]

;;; Code for sealedclasses.SealedClasses.Dog [imports]

;;; Code for sealedclasses.SealedClasses.Cat [imports]

;;; Code for sealedclasses.SealedClasses.Whale [imports]

;;; Code for sealedclasses.SealedClasses.EnumImplementsSealedInterface [imports]

;;; Code for sealedclasses.SealedClasses.Shape.Circle [imports]

;;; Code for sealedclasses.SealedClasses.Shape.Rectangle [imports]

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass.A [imports]

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass.B [imports]

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

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

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

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

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

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

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

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

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

;;; Code for sealedclasses.SealedClasses.EnumImplementsSealedInterface [static fields]
(global $V1@sealedclasses.SealedClasses.EnumImplementsSealedInterface (mut (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 (ref.null $sealedclasses.SealedClasses.EnumImplementsSealedInterface)
)
(global $V2@sealedclasses.SealedClasses.EnumImplementsSealedInterface (mut (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 (ref.null $sealedclasses.SealedClasses.EnumImplementsSealedInterface)
)
(global $namesToValuesMap@sealedclasses.SealedClasses.EnumImplementsSealedInterface (mut (ref null $java.lang.Object))
 (ref.null $java.lang.Object)
)
(global $$class-initialized@sealedclasses.SealedClasses.EnumImplementsSealedInterface (mut i32)
 (i32.const 0)
)
(global $$class@sealedclasses.SealedClasses.EnumImplementsSealedInterface (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

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

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

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

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

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

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

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

;;; Code for sealedclasses.SealedClasses [vtable.init]
(global $sealedclasses.SealedClasses.vtable (ref $sealedclasses.SealedClasses.vtable)
 (struct.new $sealedclasses.SealedClasses.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses)
  (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 sealedclasses.SealedClasses.SubClass [vtable.init]
(global $sealedclasses.SealedClasses.SubClass.vtable (ref $sealedclasses.SealedClasses.SubClass.vtable)
 (struct.new $sealedclasses.SealedClasses.SubClass.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.SubClass)
  (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 sealedclasses.SealedClasses.Mammal.Dolphin [vtable.init]
(global $sealedclasses.SealedClasses.Mammal.Dolphin.vtable (ref $sealedclasses.SealedClasses.Mammal.Dolphin.vtable)
 (struct.new $sealedclasses.SealedClasses.Mammal.Dolphin.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.Mammal.Dolphin)
  (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_changeName__java_lang_String__void@sealedclasses.SealedClasses.Mammal.Dolphin)
  (ref.func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal)
 )
)
(global $sealedclasses.SealedClasses.Animal.vtable@$sealedclasses.SealedClasses.Mammal.Dolphin (ref $sealedclasses.SealedClasses.Animal.vtable)
 (struct.new $sealedclasses.SealedClasses.Animal.vtable
 )
)

;;; Code for sealedclasses.SealedClasses.Dog [vtable.init]
(global $sealedclasses.SealedClasses.Dog.vtable (ref $sealedclasses.SealedClasses.Dog.vtable)
 (struct.new $sealedclasses.SealedClasses.Dog.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.Dog)
  (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_changeName__java_lang_String__void@sealedclasses.SealedClasses.Dog)
  (ref.func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal)
 )
)
(global $sealedclasses.SealedClasses.Animal.vtable@$sealedclasses.SealedClasses.Dog (ref $sealedclasses.SealedClasses.Animal.vtable)
 (struct.new $sealedclasses.SealedClasses.Animal.vtable
 )
)

;;; Code for sealedclasses.SealedClasses.Cat [vtable.init]
(global $sealedclasses.SealedClasses.Cat.vtable (ref $sealedclasses.SealedClasses.Cat.vtable)
 (struct.new $sealedclasses.SealedClasses.Cat.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.Cat)
  (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_changeName__java_lang_String__void@sealedclasses.SealedClasses.Cat)
  (ref.func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal)
 )
)
(global $sealedclasses.SealedClasses.Animal.vtable@$sealedclasses.SealedClasses.Cat (ref $sealedclasses.SealedClasses.Animal.vtable)
 (struct.new $sealedclasses.SealedClasses.Animal.vtable
 )
)

;;; Code for sealedclasses.SealedClasses.Whale [vtable.init]
(global $sealedclasses.SealedClasses.Whale.vtable (ref $sealedclasses.SealedClasses.Whale.vtable)
 (struct.new $sealedclasses.SealedClasses.Whale.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.Whale)
  (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_changeName__java_lang_String__void@sealedclasses.SealedClasses.Whale)
  (ref.func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal)
 )
)
(global $sealedclasses.SealedClasses.Animal.vtable@$sealedclasses.SealedClasses.Whale (ref $sealedclasses.SealedClasses.Animal.vtable)
 (struct.new $sealedclasses.SealedClasses.Animal.vtable
 )
)

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

;;; Code for sealedclasses.SealedClasses.EnumImplementsSealedInterface [vtable.init]
(global $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable (ref $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable)
 (struct.new $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.EnumImplementsSealedInterface)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Enum)
  (ref.func $m_hashCode__int@java.lang.Enum)
  (ref.func $m_toString__java_lang_String@java.lang.Enum)
  (ref.func $m_compareTo__java_lang_Object__int@java.lang.Enum)
  (ref.func $m_getDeclaringClass__java_lang_Class@java.lang.Enum)
 )
)
(global $sealedclasses.SealedClasses.Animal.vtable@$sealedclasses.SealedClasses.EnumImplementsSealedInterface (ref $sealedclasses.SealedClasses.Animal.vtable)
 (struct.new $sealedclasses.SealedClasses.Animal.vtable
 )
)
(global $java.lang.Comparable.vtable@$sealedclasses.SealedClasses.EnumImplementsSealedInterface (ref $java.lang.Comparable.vtable)
 (struct.new $java.lang.Comparable.vtable
  (ref.func $m_compareTo__java_lang_Object__int@java.lang.Enum)
 )
)
(global $java.io.Serializable.vtable@$sealedclasses.SealedClasses.EnumImplementsSealedInterface (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

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

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

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass [vtable.init]
(global $sealedclasses.SealedClasses.SealedClassWithInnerClass.vtable (ref $sealedclasses.SealedClasses.SealedClassWithInnerClass.vtable)
 (struct.new $sealedclasses.SealedClasses.SealedClassWithInnerClass.vtable
  (ref.func $$getClassImpl__java_lang_Class@sealedclasses.SealedClasses.SealedClassWithInnerClass)
  (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 sealedclasses.SealedClasses.Animal [methods]

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

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

;;; Code for sealedclasses.SealedClasses [methods]

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

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

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

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

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

;;; Code for sealedclasses.SealedClasses.Mammal [methods]

;;; void Mammal.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal
 (param $this (ref null $sealedclasses.SealedClasses.Mammal))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:27:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:27:20
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void Mammal.$ctor(String name)
(func $$ctor__java_lang_String__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal
 (param $this (ref null $sealedclasses.SealedClasses.Mammal))
 (param $name (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:29:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:30:6
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal (ref.as_non_null (local.get $this)))
 )
)

;;; String Mammal.retrieveName()
(func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal
 (type $function.m_retrieveName__java_lang_String)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:33:18
 (local $this (ref null $sealedclasses.SealedClasses.Mammal))
 (local.set $this (ref.cast (ref $sealedclasses.SealedClasses.Mammal) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:34:6
  (return (call $$getString_|Animal|__java_lang_String_<once>_@sealedclasses.SealedClasses.Mammal ))
 )
)
(elem declare func $m_retrieveName__java_lang_String@sealedclasses.SealedClasses.Mammal)

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

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

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

;;; Code for sealedclasses.SealedClasses.Deer [methods]

;;; Deer Deer.$create()
(func $$create__@sealedclasses.SealedClasses.Deer
 (result (ref null $sealedclasses.SealedClasses.Deer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:12
 (local $$instance (ref null $sealedclasses.SealedClasses.Deer))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:12
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Deer (global.get $sealedclasses.SealedClasses.Deer.vtable) (global.get $sealedclasses.SealedClasses.Deer.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:12
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Deer@sealedclasses.SealedClasses.Deer (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:12
  (return (local.get $$instance))
 )
)

;;; void Deer.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Deer@sealedclasses.SealedClasses.Deer
 (param $this (ref null $sealedclasses.SealedClasses.Deer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:62:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for sealedclasses.SealedClasses.Shape [methods]

;;; void Shape.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Shape@sealedclasses.SealedClasses.Shape
 (param $this (ref null $sealedclasses.SealedClasses.Shape))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:71:38
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:71:38
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass [methods]

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

;;; void SealedClassWithInnerClass.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass@sealedclasses.SealedClasses.SealedClassWithInnerClass
 (param $this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:89:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:89:29
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage [methods]

;;; void SealedClassInAnotherPackage.$ctor()
(func $$ctor__void_$p_sealedclasses_sealedclassinanotherpackage_SealedClassInAnotherPackage@sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage
 (param $this (ref null $sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/sealedclassinanotherpackage/SealedClassInAnotherPackage.java:21:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/sealedclassinanotherpackage/SealedClassInAnotherPackage.java:21:29
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for sealedclasses.SealedClasses.SubClass [methods]

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

;;; void SubClass.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_SubClass@sealedclasses.SealedClasses.SubClass
 (param $this (ref null $sealedclasses.SealedClasses.SubClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
  (call $$ctor__void_$p_sealedclasses_sealedclassinanotherpackage_SealedClassInAnotherPackage@sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage (ref.as_non_null (local.get $this)))
 )
)

;;; void SubClass.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.SubClass
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.SubClass)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
  (global.set $$class-initialized@sealedclasses.SealedClasses.SubClass (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:22:28
  (call $$clinit__void_<once>_@sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage )
 )
)

;;; Class<T> SubClass.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@sealedclasses.SealedClasses.SubClass
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@sealedclasses.SealedClasses.SubClass)))
   (then
    (return (global.get $$class@sealedclasses.SealedClasses.SubClass))
   )
  )
  (global.set $$class@sealedclasses.SealedClasses.SubClass (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|sealedclasse...|__java_lang_String_<once>_@sealedclasses.SealedClasses.SubClass )(call $$getClassMetadata__java_lang_Class_<once>_@sealedclasses.sealedclassinanotherpackage.SealedClassInAnotherPackage )))
  (return (global.get $$class@sealedclasses.SealedClasses.SubClass))
 )
)

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

;;; Code for sealedclasses.SealedClasses.Mammal.Dolphin [methods]

;;; Dolphin Dolphin.$create()
(func $$create__@sealedclasses.SealedClasses.Mammal.Dolphin
 (result (ref null $sealedclasses.SealedClasses.Mammal.Dolphin))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
 (local $$instance (ref null $sealedclasses.SealedClasses.Mammal.Dolphin))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Mammal.Dolphin )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Mammal.Dolphin (global.get $sealedclasses.SealedClasses.Mammal.Dolphin.vtable) (global.get $sealedclasses.SealedClasses.Mammal.Dolphin.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal_Dolphin@sealedclasses.SealedClasses.Mammal.Dolphin (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (return (local.get $$instance))
 )
)

;;; void Dolphin.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Mammal_Dolphin@sealedclasses.SealedClasses.Mammal.Dolphin
 (param $this (ref null $sealedclasses.SealedClasses.Mammal.Dolphin))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal (ref.as_non_null (local.get $this)))
 )
)

;;; void Dolphin.changeName(String updatedName)
(func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Mammal.Dolphin
 (type $function.m_changeName__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $updatedName (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:42:18
 (local $this (ref null $sealedclasses.SealedClasses.Mammal.Dolphin))
 (local.set $this (ref.cast (ref $sealedclasses.SealedClasses.Mammal.Dolphin) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Mammal.Dolphin)

;;; void Dolphin.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.Mammal.Dolphin
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.Mammal.Dolphin)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (global.set $$class-initialized@sealedclasses.SealedClasses.Mammal.Dolphin (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:40:33
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Mammal )
 )
)

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

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

;;; Code for sealedclasses.SealedClasses.Dog [methods]

;;; Dog Dog.$create()
(func $$create__@sealedclasses.SealedClasses.Dog
 (result (ref null $sealedclasses.SealedClasses.Dog))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
 (local $$instance (ref null $sealedclasses.SealedClasses.Dog))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Dog )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Dog (global.get $sealedclasses.SealedClasses.Dog.vtable) (global.get $sealedclasses.SealedClasses.Dog.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Dog@sealedclasses.SealedClasses.Dog (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
  (return (local.get $$instance))
 )
)

;;; void Dog.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Dog@sealedclasses.SealedClasses.Dog
 (param $this (ref null $sealedclasses.SealedClasses.Dog))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:46:28
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal (ref.as_non_null (local.get $this)))
 )
)

;;; void Dog.changeName(String updatedName)
(func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Dog
 (type $function.m_changeName__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $updatedName (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:48:16
 (local $this (ref null $sealedclasses.SealedClasses.Dog))
 (local.set $this (ref.cast (ref $sealedclasses.SealedClasses.Dog) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Dog)

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

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

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

;;; Code for sealedclasses.SealedClasses.Cat [methods]

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

;;; void Cat.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Cat@sealedclasses.SealedClasses.Cat
 (param $this (ref null $sealedclasses.SealedClasses.Cat))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:51:21
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:51:21
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal (ref.as_non_null (local.get $this)))
 )
)

;;; void Cat.changeName(String updatedName)
(func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Cat
 (type $function.m_changeName__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $updatedName (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:53:16
 (local $this (ref null $sealedclasses.SealedClasses.Cat))
 (local.set $this (ref.cast (ref $sealedclasses.SealedClasses.Cat) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Cat)

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

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

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

;;; Code for sealedclasses.SealedClasses.Whale [methods]

;;; Whale Whale.$create()
(func $$create__@sealedclasses.SealedClasses.Whale
 (result (ref null $sealedclasses.SealedClasses.Whale))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
 (local $$instance (ref null $sealedclasses.SealedClasses.Whale))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Whale (global.get $sealedclasses.SealedClasses.Whale.vtable) (global.get $sealedclasses.SealedClasses.Whale.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Whale@sealedclasses.SealedClasses.Whale (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (return (local.get $$instance))
 )
)

;;; void Whale.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Whale@sealedclasses.SealedClasses.Whale
 (param $this (ref null $sealedclasses.SealedClasses.Whale))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Mammal@sealedclasses.SealedClasses.Mammal (ref.as_non_null (local.get $this)))
 )
)

;;; void Whale.changeName(String updatedName)
(func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Whale
 (type $function.m_changeName__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $updatedName (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:58:16
 (local $this (ref null $sealedclasses.SealedClasses.Whale))
 (local.set $this (ref.cast (ref $sealedclasses.SealedClasses.Whale) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_changeName__java_lang_String__void@sealedclasses.SealedClasses.Whale)

;;; void Whale.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.Whale
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.Whale)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (global.set $$class-initialized@sealedclasses.SealedClasses.Whale (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:56:29
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Mammal )
 )
)

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

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

;;; Code for sealedclasses.SealedClasses.EnumImplementsSealedInterface [methods]

;;; EnumImplementsSealedInterface EnumImplementsSealedInterface.$create(String $name, int $ordinal)
(func $$create__java_lang_String__int@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (param $$name (ref null $java.lang.String))
 (param $$ordinal i32)
 (result (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (local $$instance (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.EnumImplementsSealedInterface (global.get $sealedclasses.SealedClasses.EnumImplementsSealedInterface.vtable) (global.get $sealedclasses.SealedClasses.EnumImplementsSealedInterface.itable) (i32.const 0) (ref.null $java.lang.String) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (call $$ctor__java_lang_String__int__void_$p_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface (ref.as_non_null (local.get $$instance))(local.get $$name)(local.get $$ordinal))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (return (local.get $$instance))
 )
)

;;; void EnumImplementsSealedInterface.$ctor(String $name, int $ordinal)
(func $$ctor__java_lang_String__int__void_$p_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (param $this (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 (param $$name (ref null $java.lang.String))
 (param $$ordinal i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (struct.set $java.lang.Enum $name@java.lang.Enum (local.get $this) (local.get $$name))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (struct.set $java.lang.Enum $ordinal@java.lang.Enum (local.get $this) (local.get $$ordinal))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (call $$ctor__java_lang_String__int__void_$p_java_lang_Enum@java.lang.Enum (ref.as_non_null (local.get $this))(local.get $$name)(local.get $$ordinal))
 )
)

;;; EnumImplementsSealedInterface EnumImplementsSealedInterface.valueOf(String name)
(func $m_valueOf__java_lang_String__sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (param $name (ref null $java.lang.String))
 (result (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (if (ref.is_null (global.get $namesToValuesMap@sealedclasses.SealedClasses.EnumImplementsSealedInterface))
   (then
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
     (global.set $namesToValuesMap@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $m_createMapFromValues__arrayOf_java_lang_Enum__java_util_Map@javaemul.internal.Enums (call $m_values_$private__arrayOf_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface )))
    )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (return (ref.cast (ref null $sealedclasses.SealedClasses.EnumImplementsSealedInterface) (call $m_getValueFromNameAndMap__java_lang_String__java_util_Map__java_lang_Object@javaemul.internal.Enums (local.get $name)(global.get $namesToValuesMap@sealedclasses.SealedClasses.EnumImplementsSealedInterface))))
 )
)

;;; EnumImplementsSealedInterface[] EnumImplementsSealedInterface.values()
(func $m_values__arrayOf_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (return (call $m_values_$private__arrayOf_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface ))
 )
)

;;; EnumImplementsSealedInterface[] EnumImplementsSealedInterface.values_$private()
(func $m_values_$private__arrayOf_sealedclasses_SealedClasses_EnumImplementsSealedInterface@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (return (call $m_newWithLiteral__arrayOf_java_lang_Object__javaemul_internal_WasmArray_OfObject@javaemul.internal.WasmArray.OfObject (array.new_fixed $java.lang.Object.array 2 (global.get $V1@sealedclasses.SealedClasses.EnumImplementsSealedInterface)(global.get $V2@sealedclasses.SealedClasses.EnumImplementsSealedInterface))))
 )
)

;;; void EnumImplementsSealedInterface.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.EnumImplementsSealedInterface)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (global.set $$class-initialized@sealedclasses.SealedClasses.EnumImplementsSealedInterface (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:66:7
  (call $$clinit__void_<once>_@java.lang.Enum )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:67:4
  (global.set $V1@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $$create__java_lang_String__int@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $$getString_|V1|__java_lang_String_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface )(i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:68:4
  (global.set $V2@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $$create__java_lang_String__int@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $$getString_|V2|__java_lang_String_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface )(i32.const 1)))
 )
)

;;; Class<T> EnumImplementsSealedInterface.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@sealedclasses.SealedClasses.EnumImplementsSealedInterface)))
   (then
    (return (global.get $$class@sealedclasses.SealedClasses.EnumImplementsSealedInterface))
   )
  )
  (global.set $$class@sealedclasses.SealedClasses.EnumImplementsSealedInterface (call $m_createForEnum__java_lang_String__java_lang_Class@java.lang.Class (call $$getString_|sealedclasse...|__java_lang_String_<once>_@sealedclasses.SealedClasses.EnumImplementsSealedInterface )))
  (return (global.get $$class@sealedclasses.SealedClasses.EnumImplementsSealedInterface))
 )
)

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

;;; Code for sealedclasses.SealedClasses.Shape.Circle [methods]

;;; Circle Circle.$create()
(func $$create__@sealedclasses.SealedClasses.Shape.Circle
 (result (ref null $sealedclasses.SealedClasses.Shape.Circle))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
 (local $$instance (ref null $sealedclasses.SealedClasses.Shape.Circle))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Shape.Circle )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Shape.Circle (global.get $sealedclasses.SealedClasses.Shape.Circle.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Shape_Circle@sealedclasses.SealedClasses.Shape.Circle (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (return (local.get $$instance))
 )
)

;;; void Circle.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Shape_Circle@sealedclasses.SealedClasses.Shape.Circle
 (param $this (ref null $sealedclasses.SealedClasses.Shape.Circle))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Shape@sealedclasses.SealedClasses.Shape (ref.as_non_null (local.get $this)))
 )
)

;;; void Circle.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.Shape.Circle
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.Shape.Circle)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (global.set $$class-initialized@sealedclasses.SealedClasses.Shape.Circle (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:72:30
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Shape )
 )
)

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

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

;;; Code for sealedclasses.SealedClasses.Shape.Rectangle [methods]

;;; Rectangle Rectangle.$create()
(func $$create__@sealedclasses.SealedClasses.Shape.Rectangle
 (result (ref null $sealedclasses.SealedClasses.Shape.Rectangle))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:14
 (local $$instance (ref null $sealedclasses.SealedClasses.Shape.Rectangle))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:14
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.Shape.Rectangle (global.get $sealedclasses.SealedClasses.Shape.Rectangle.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:14
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Shape_Rectangle@sealedclasses.SealedClasses.Shape.Rectangle (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:14
  (return (local.get $$instance))
 )
)

;;; void Rectangle.$ctor()
(func $$ctor__void_$p_sealedclasses_SealedClasses_Shape_Rectangle@sealedclasses.SealedClasses.Shape.Rectangle
 (param $this (ref null $sealedclasses.SealedClasses.Shape.Rectangle))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:14
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:75:26
  (call $$ctor__void_$p_sealedclasses_SealedClasses_Shape@sealedclasses.SealedClasses.Shape (ref.as_non_null (local.get $this)))
 )
)

;;; void Rectangle.$clinit()
(func $$clinit__void_<once>_@sealedclasses.SealedClasses.Shape.Rectangle
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:74:30
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:74:30
  (if (global.get $$class-initialized@sealedclasses.SealedClasses.Shape.Rectangle)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:74:30
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:74:30
  (global.set $$class-initialized@sealedclasses.SealedClasses.Shape.Rectangle (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:74:30
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.Shape )
 )
)

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

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

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass.A [methods]

;;; A A.$create(SealedClassWithInnerClass $outer_this)
(func $$create__sealedclasses_SealedClasses_SealedClassWithInnerClass@sealedclasses.SealedClasses.SealedClassWithInnerClass.A
 (param $$outer_this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass))
 (result (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
 (local $$instance (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.A))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.SealedClassWithInnerClass.A )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.SealedClassWithInnerClass.A (global.get $sealedclasses.SealedClasses.SealedClassWithInnerClass.A.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $sealedclasses.SealedClasses.SealedClassWithInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (call $$ctor__sealedclasses_SealedClasses_SealedClassWithInnerClass__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass_A@sealedclasses.SealedClasses.SealedClassWithInnerClass.A (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (return (local.get $$instance))
 )
)

;;; void A.$ctor(SealedClassWithInnerClass $outer_this)
(func $$ctor__sealedclasses_SealedClasses_SealedClassWithInnerClass__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass_A@sealedclasses.SealedClasses.SealedClassWithInnerClass.A
 (param $this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.A))
 (param $$outer_this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (struct.set $sealedclasses.SealedClasses.SealedClassWithInnerClass.A $$outer_this@sealedclasses.SealedClasses.SealedClassWithInnerClass.A (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:90:23
  (call $$ctor__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass@sealedclasses.SealedClasses.SealedClassWithInnerClass (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for sealedclasses.SealedClasses.SealedClassWithInnerClass.B [methods]

;;; B B.$create(SealedClassWithInnerClass $outer_this)
(func $$create__sealedclasses_SealedClasses_SealedClassWithInnerClass@sealedclasses.SealedClasses.SealedClassWithInnerClass.B
 (param $$outer_this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass))
 (result (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.B))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
 (local $$instance (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.B))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (call $$clinit__void_<once>_@sealedclasses.SealedClasses.SealedClassWithInnerClass.B )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (local.set $$instance (struct.new $sealedclasses.SealedClasses.SealedClassWithInnerClass.B (global.get $sealedclasses.SealedClasses.SealedClassWithInnerClass.B.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $sealedclasses.SealedClasses.SealedClassWithInnerClass)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (call $$ctor__sealedclasses_SealedClasses_SealedClassWithInnerClass__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass_B@sealedclasses.SealedClasses.SealedClassWithInnerClass.B (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (return (local.get $$instance))
 )
)

;;; void B.$ctor(SealedClassWithInnerClass $outer_this)
(func $$ctor__sealedclasses_SealedClasses_SealedClassWithInnerClass__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass_B@sealedclasses.SealedClasses.SealedClassWithInnerClass.B
 (param $this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass.B))
 (param $$outer_this (ref null $sealedclasses.SealedClasses.SealedClassWithInnerClass))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (struct.set $sealedclasses.SealedClasses.SealedClassWithInnerClass.B $$outer_this@sealedclasses.SealedClasses.SealedClassWithInnerClass.B (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/sealedclasses/readable-j2wasm.js/sealedclasses/SealedClasses.java:92:23
  (call $$ctor__void_$p_sealedclasses_SealedClasses_SealedClassWithInnerClass@sealedclasses.SealedClasses.SealedClassWithInnerClass (ref.as_non_null (local.get $this)))
 )
)

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

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

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