;;; Code for libraryinfo.Main.JsTypeInterface [type definition]
(type $libraryinfo.Main.JsTypeInterface.vtable (sub (struct
 (field $m_bar__void (ref $function.m_bar__void))
 (field $m_foo__void (ref $function.m_foo__void))
 ))
)

;;; Code for libraryinfo.Main.FunctionnalInterface [type definition]
(type $libraryinfo.Main.FunctionnalInterface.vtable (sub (struct
 (field $m_foo__void (ref $function.m_foo__void))
 ))
)

;;; Code for libraryinfo.Main.JsAccessibleFunctionnalInterface [type definition]
(type $libraryinfo.Main.JsAccessibleFunctionnalInterface.vtable (sub (struct
 (field $m_accessibleFunctionalInterfaceMethod__void (ref $function.m_accessibleFunctionalInterfaceMethod__void))
 ))
)

;;; Code for libraryinfo.Main.Function [type definition]
(type $libraryinfo.Main.Function.vtable (sub (struct
 (field $m_apply__java_lang_String__void (ref $function.m_apply__java_lang_String__void))
 ))
)

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

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

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

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

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

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

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

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

;;; Code for libraryinfo.Main.$LambdaImplementor$1 [type definition]
(type $libraryinfo.Main.$LambdaImplementor$1.vtable (sub $libraryinfo.Main.Function.$LambdaAdaptor.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_apply__java_lang_String__void (ref $function.m_apply__java_lang_String__void))
 ))
)
(type $libraryinfo.Main.$LambdaImplementor$1 (sub $libraryinfo.Main.Function.$LambdaAdaptor (struct
 (field $vtable (ref $libraryinfo.Main.$LambdaImplementor$1.vtable))
 (field $itable (ref $libraryinfo.Main.$LambdaImplementor$1.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for libraryinfo.Main.MyJsEnum [type definition]
(type $libraryinfo.Main.MyJsEnum.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 $libraryinfo.Main.MyJsEnum (sub $java.lang.Enum (struct
 (field $vtable (ref $libraryinfo.Main.MyJsEnum.vtable))
 (field $itable (ref $libraryinfo.Main.MyJsEnum.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 libraryinfo.Main.MyEnum [type definition]
(type $libraryinfo.Main.MyEnum.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 $libraryinfo.Main.MyEnum (sub $java.lang.Enum (struct
 (field $vtable (ref $libraryinfo.Main.MyEnum.vtable))
 (field $itable (ref $libraryinfo.Main.MyEnum.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 libraryinfo.Main.JsTypeInterface [imports]

;;; Code for libraryinfo.Main.FunctionnalInterface [imports]

;;; Code for libraryinfo.Main.JsAccessibleFunctionnalInterface [imports]

;;; Code for libraryinfo.Main.Function [imports]

;;; Code for libraryinfo.Main [imports]

;;; void Main.log(int o)
(func $m_log__int__void@libraryinfo.Main (import "imports" "console.log") 
 (param $o i32)
)

;;; Code for libraryinfo.Main.FunctionnalInterface.$LambdaAdaptor [imports]

;;; Code for libraryinfo.Main.JsAccessibleFunctionnalInterface.$LambdaAdaptor [imports]

;;; Code for libraryinfo.Main.Function.$LambdaAdaptor [imports]

;;; Code for libraryinfo.Main.1 [imports]

;;; Code for libraryinfo.Main.FunctionImpl [imports]

;;; Code for libraryinfo.Main.MyJsType [imports]

;;; Code for libraryinfo.Main.Foo [imports]

;;; Code for libraryinfo.Main.$LambdaImplementor$1 [imports]

;;; Code for libraryinfo.Main.MyJsEnum [imports]

;;; Code for libraryinfo.Main.MyEnum [imports]

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for libraryinfo.Main.MyEnum [static fields]
(global $FOO@libraryinfo.Main.MyEnum (mut (ref null $libraryinfo.Main.MyEnum))
 (ref.null $libraryinfo.Main.MyEnum)
)
(global $BAR@libraryinfo.Main.MyEnum (mut (ref null $libraryinfo.Main.MyEnum))
 (ref.null $libraryinfo.Main.MyEnum)
)
(global $namesToValuesMap@libraryinfo.Main.MyEnum (mut (ref null $java.lang.Object))
 (ref.null $java.lang.Object)
)
(global $$class-initialized@libraryinfo.Main.MyEnum (mut i32)
 (i32.const 0)
)
(global $$class@libraryinfo.Main.MyEnum (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

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

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

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

;;; Code for libraryinfo.Main.$LambdaImplementor$1 [vtable.init]
(global $libraryinfo.Main.$LambdaImplementor$1.vtable (ref $libraryinfo.Main.$LambdaImplementor$1.vtable)
 (struct.new $libraryinfo.Main.$LambdaImplementor$1.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.Function.$LambdaAdaptor)
  (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_apply__java_lang_String__void@libraryinfo.Main.$LambdaImplementor$1)
 )
)
(global $libraryinfo.Main.Function.vtable@$libraryinfo.Main.$LambdaImplementor$1 (ref $libraryinfo.Main.Function.vtable)
 (struct.new $libraryinfo.Main.Function.vtable
  (ref.func $m_apply__java_lang_String__void@libraryinfo.Main.$LambdaImplementor$1)
 )
)

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

;;; Code for libraryinfo.Main.FunctionImpl [vtable.init]
(global $libraryinfo.Main.FunctionImpl.vtable (ref $libraryinfo.Main.FunctionImpl.vtable)
 (struct.new $libraryinfo.Main.FunctionImpl.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.FunctionImpl)
  (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_apply__java_lang_String__void@libraryinfo.Main.FunctionImpl)
 )
)
(global $libraryinfo.Main.Function.vtable@$libraryinfo.Main.FunctionImpl (ref $libraryinfo.Main.Function.vtable)
 (struct.new $libraryinfo.Main.Function.vtable
  (ref.func $m_apply__java_lang_String__void@libraryinfo.Main.FunctionImpl)
 )
)

;;; Code for libraryinfo.Main.MyJsEnum [vtable.init]
(global $libraryinfo.Main.MyJsEnum.vtable (ref $libraryinfo.Main.MyJsEnum.vtable)
 (struct.new $libraryinfo.Main.MyJsEnum.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.MyJsEnum)
  (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 $java.lang.Comparable.vtable@$libraryinfo.Main.MyJsEnum (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@$libraryinfo.Main.MyJsEnum (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

;;; Code for libraryinfo.Main.MyEnum [vtable.init]
(global $libraryinfo.Main.MyEnum.vtable (ref $libraryinfo.Main.MyEnum.vtable)
 (struct.new $libraryinfo.Main.MyEnum.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.MyEnum)
  (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 $java.lang.Comparable.vtable@$libraryinfo.Main.MyEnum (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@$libraryinfo.Main.MyEnum (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

;;; Code for libraryinfo.Main.MyJsType [vtable.init]
(global $libraryinfo.Main.MyJsType.vtable (ref $libraryinfo.Main.MyJsType.vtable)
 (struct.new $libraryinfo.Main.MyJsType.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.MyJsType)
  (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 libraryinfo.Main.Foo [vtable.init]
(global $libraryinfo.Main.Foo.vtable (ref $libraryinfo.Main.Foo.vtable)
 (struct.new $libraryinfo.Main.Foo.vtable
  (ref.func $$getClassImpl__java_lang_Class@libraryinfo.Main.Foo)
  (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_instanceMethod__void_$pp_libraryinfo@libraryinfo.Main.Foo)
 )
)

;;; Code for libraryinfo.Main.JsTypeInterface [methods]

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

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

;;; Code for libraryinfo.Main.FunctionnalInterface [methods]

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

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

;;; Code for libraryinfo.Main.JsAccessibleFunctionnalInterface [methods]

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

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

;;; Code for libraryinfo.Main.Function [methods]

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

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

;;; Code for libraryinfo.Main [methods]

;;; Main Main.$create()
(func $$create__@libraryinfo.Main
 (result (ref null $libraryinfo.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
  (call $$clinit__void_<once>_@libraryinfo.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
  (return (call $$create_$private__@libraryinfo.Main ))
 )
)

;;; Main Main.$create_$private()
(func $$create_$private__@libraryinfo.Main
 (result (ref null $libraryinfo.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
 (local $$instance (ref null $libraryinfo.Main))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
  (local.set $$instance (struct.new $libraryinfo.Main (global.get $libraryinfo.Main.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
  (call $$ctor__void_$p_libraryinfo_Main@libraryinfo.Main (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:25:13
  (return (local.get $$instance))
 )
)

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

;;; void Main.entryPoint()
(func $m_entryPoint__void@libraryinfo.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:80:21
 (local $jsFunction (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:80:34
  (call $$clinit__void_<once>_@libraryinfo.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:81:4
  (call $m_execute__void_$p_libraryinfo_Main@libraryinfo.Main (ref.as_non_null (call $$create_$private__@libraryinfo.Main )))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:83:4
  (local.set $jsFunction (call $$create__@libraryinfo.Main.FunctionImpl ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:4
  (local.set $jsFunction (call $$create__@libraryinfo.Main.$LambdaImplementor$1 ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:85:4
  (call_ref $function.m_apply__java_lang_String__void (ref.as_non_null (local.get $jsFunction))(call $$getString_|foo|__java_lang_String_<once>_@libraryinfo.Main )(struct.get $libraryinfo.Main.Function.vtable $m_apply__java_lang_String__void (ref.cast (ref $libraryinfo.Main.Function.vtable) (call $get.itable.$libraryinfo.Main.Function (local.get $jsFunction)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:87:4
  (drop (call $$create__@libraryinfo.Main.MyJsType ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:89:4
  (drop (call $$create__@libraryinfo.Main.1 ))
 )
)

;;; void Main.execute()
(func $m_execute__void_$p_libraryinfo_Main@libraryinfo.Main
 (param $this (ref null $libraryinfo.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:95:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:96:4
  (call $m_log__int__void@libraryinfo.Main (i32.const 42))
 )
)

;;; String Main.toString()
(func $m_toString__java_lang_String@libraryinfo.Main
 (type $function.m_toString__java_lang_String)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:100:16
 (local $this (ref null $libraryinfo.Main))
 (local.set $this (ref.cast (ref $libraryinfo.Main) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:101:4
  (return (call $m_toString__java_lang_String@java.lang.Object (ref.as_non_null (local.get $this))))
 )
)
(elem declare func $m_toString__java_lang_String@libraryinfo.Main)

;;; void Main.main()
(func $m_main__void@libraryinfo.Main
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:112:21
 (local $foo (ref null $libraryinfo.Main.Foo))
 (local $clazz (ref null $java.lang.Class))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:112:28
  (call $$clinit__void_<once>_@libraryinfo.Main )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:113:4
  (local.set $foo (ref.null $libraryinfo.Main.Foo))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:114:4
  (call_ref $function.m_instanceMethod__void_$pp_libraryinfo (ref.as_non_null (local.get $foo))(struct.get $libraryinfo.Main.Foo.vtable $m_instanceMethod__void_$pp_libraryinfo (struct.get $libraryinfo.Main.Foo $vtable(local.get $foo))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:116:4
  (local.set $clazz (call $$getClassMetadata__java_lang_Class_<once>_@libraryinfo.Main.Foo ))
 )
)

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

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

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

;;; Code for libraryinfo.Main.FunctionnalInterface.$LambdaAdaptor [methods]

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

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

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

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

;;; Code for libraryinfo.Main.JsAccessibleFunctionnalInterface.$LambdaAdaptor [methods]

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

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

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

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

;;; Code for libraryinfo.Main.Function.$LambdaAdaptor [methods]

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

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

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

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

;;; Code for libraryinfo.Main.1 [methods]

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

;;; void <anonymous> extends Object.$ctor()
(func $$ctor__void_$p_libraryinfo_Main_1@libraryinfo.Main.1
 (param $this (ref null $libraryinfo.Main.1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:89:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:89:17
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void <anonymous> extends Object.foo()
(func $m_foo__void_$pp_libraryinfo@libraryinfo.Main.1
 (type $function.m_foo__void_$pp_libraryinfo)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:91:11
 (local $this (ref null $libraryinfo.Main.1))
 (local.set $this (ref.cast (ref $libraryinfo.Main.1) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_foo__void_$pp_libraryinfo@libraryinfo.Main.1)

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

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

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

;;; Code for libraryinfo.Main.FunctionImpl [methods]

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

;;; void FunctionImpl.$ctor()
(func $$ctor__void_$p_libraryinfo_Main_FunctionImpl@libraryinfo.Main.FunctionImpl
 (param $this (ref null $libraryinfo.Main.FunctionImpl))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:54:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:54:29
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

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

;;; Code for libraryinfo.Main.MyJsType [methods]

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

;;; void MyJsType.$ctor()
(func $$ctor__void_$p_libraryinfo_Main_MyJsType@libraryinfo.Main.MyJsType
 (param $this (ref null $libraryinfo.Main.MyJsType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:74:11
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:74:22
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:75:6
  (struct.set $libraryinfo.Main.MyJsType $someField@libraryinfo.Main.MyJsType (local.get $this) (call $$create__@libraryinfo.Main ))
 )
)

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

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

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

;;; Code for libraryinfo.Main.Foo [methods]

;;; Foo Foo.$create(Main $outer_this)
(func $$create__libraryinfo_Main@libraryinfo.Main.Foo
 (param $$outer_this (ref null $libraryinfo.Main))
 (result (ref null $libraryinfo.Main.Foo))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
 (local $$instance (ref null $libraryinfo.Main.Foo))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (call $$clinit__void_<once>_@libraryinfo.Main.Foo )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (local.set $$instance (struct.new $libraryinfo.Main.Foo (global.get $libraryinfo.Main.Foo.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $libraryinfo.Main)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (call $$ctor__libraryinfo_Main__void_$p_libraryinfo_Main_Foo@libraryinfo.Main.Foo (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (return (local.get $$instance))
 )
)

;;; void Foo.$ctor(Main $outer_this)
(func $$ctor__libraryinfo_Main__void_$p_libraryinfo_Main_Foo@libraryinfo.Main.Foo
 (param $this (ref null $libraryinfo.Main.Foo))
 (param $$outer_this (ref null $libraryinfo.Main))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (struct.set $libraryinfo.Main.Foo $$outer_this@libraryinfo.Main.Foo (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:107:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void Foo.instanceMethod()
(func $m_instanceMethod__void_$pp_libraryinfo@libraryinfo.Main.Foo
 (type $function.m_instanceMethod__void_$pp_libraryinfo)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:108:9
 (local $this (ref null $libraryinfo.Main.Foo))
 (local.set $this (ref.cast (ref $libraryinfo.Main.Foo) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_instanceMethod__void_$pp_libraryinfo@libraryinfo.Main.Foo)

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

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

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

;;; Code for libraryinfo.Main.$LambdaImplementor$1 [methods]

;;; <anonymous> implements Function <anonymous> implements Function.$create()
(func $$create__@libraryinfo.Main.$LambdaImplementor$1
 (result (ref null $libraryinfo.Main.$LambdaImplementor$1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
 (local $$instance (ref null $libraryinfo.Main.$LambdaImplementor$1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (call $$clinit__void_<once>_@libraryinfo.Main.$LambdaImplementor$1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (local.set $$instance (struct.new $libraryinfo.Main.$LambdaImplementor$1 (global.get $libraryinfo.Main.$LambdaImplementor$1.vtable) (global.get $libraryinfo.Main.$LambdaImplementor$1.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (call $$ctor__void_$p_libraryinfo_Main_$LambdaImplementor$1@libraryinfo.Main.$LambdaImplementor$1 (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (return (local.get $$instance))
 )
)

;;; void <anonymous> implements Function.$ctor()
(func $$ctor__void_$p_libraryinfo_Main_$LambdaImplementor$1@libraryinfo.Main.$LambdaImplementor$1
 (param $this (ref null $libraryinfo.Main.$LambdaImplementor$1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (call $$ctor__void_$p_libraryinfo_Main_Function_$LambdaAdaptor@libraryinfo.Main.Function.$LambdaAdaptor (ref.as_non_null (local.get $this)))
 )
)

;;; void <anonymous> implements Function.apply(String s)
(func $m_apply__java_lang_String__void@libraryinfo.Main.$LambdaImplementor$1
 (type $function.m_apply__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $s (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
 (local $this (ref null $libraryinfo.Main.$LambdaImplementor$1))
 (local.set $this (ref.cast (ref $libraryinfo.Main.$LambdaImplementor$1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:22
  (call $m_log__int__void@libraryinfo.Main (i32.const 42))
 )
)
(elem declare func $m_apply__java_lang_String__void@libraryinfo.Main.$LambdaImplementor$1)

;;; void <anonymous> implements Function.$clinit()
(func $$clinit__void_<once>_@libraryinfo.Main.$LambdaImplementor$1
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (if (global.get $$class-initialized@libraryinfo.Main.$LambdaImplementor$1)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (global.set $$class-initialized@libraryinfo.Main.$LambdaImplementor$1 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:84:17
  (call $$clinit__void_<once>_@libraryinfo.Main.Function.$LambdaAdaptor )
 )
)

;;; Class<T> <anonymous> implements Function.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@libraryinfo.Main.$LambdaImplementor$1
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@libraryinfo.Main.$LambdaImplementor$1)))
   (then
    (return (global.get $$class@libraryinfo.Main.$LambdaImplementor$1))
   )
  )
  (global.set $$class@libraryinfo.Main.$LambdaImplementor$1 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|libraryinfo....|__java_lang_String_<once>_@libraryinfo.Main.$LambdaImplementor$1 )(call $$getClassMetadata__java_lang_Class_<once>_@libraryinfo.Main.Function.$LambdaAdaptor )))
  (return (global.get $$class@libraryinfo.Main.$LambdaImplementor$1))
 )
)

;;; Code for libraryinfo.Main.MyJsEnum [methods]

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

;;; void MyJsEnum.$ctor(String $name, int $ordinal)
(func $$ctor__java_lang_String__int__void_$p_libraryinfo_Main_MyJsEnum@libraryinfo.Main.MyJsEnum
 (param $this (ref null $libraryinfo.Main.MyJsEnum))
 (param $$name (ref null $java.lang.String))
 (param $$ordinal i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
  (struct.set $java.lang.Enum $name@java.lang.Enum (local.get $this) (local.get $$name))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
  (struct.set $java.lang.Enum $ordinal@java.lang.Enum (local.get $this) (local.get $$ordinal))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59: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))
 )
)

;;; void MyJsEnum.$clinit()
(func $$clinit__void_<once>_@libraryinfo.Main.MyJsEnum
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
  (if (global.get $$class-initialized@libraryinfo.Main.MyJsEnum)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
  (global.set $$class-initialized@libraryinfo.Main.MyJsEnum (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:59:7
  (call $$clinit__void_<once>_@java.lang.Enum )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:60:4
  (global.set $A@libraryinfo.Main.MyJsEnum (call $$create__java_lang_String__int@libraryinfo.Main.MyJsEnum (ref.null $java.lang.String)(i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:61:4
  (global.set $B@libraryinfo.Main.MyJsEnum (call $$create__java_lang_String__int@libraryinfo.Main.MyJsEnum (ref.null $java.lang.String)(i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:62:4
  (global.set $C@libraryinfo.Main.MyJsEnum (call $$create__java_lang_String__int@libraryinfo.Main.MyJsEnum (ref.null $java.lang.String)(i32.const 2)))
 )
)

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

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

;;; Code for libraryinfo.Main.MyEnum [methods]

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

;;; void MyEnum.$ctor(String $name, int $ordinal)
(func $$ctor__java_lang_String__int__void_$p_libraryinfo_Main_MyEnum@libraryinfo.Main.MyEnum
 (param $this (ref null $libraryinfo.Main.MyEnum))
 (param $$name (ref null $java.lang.String))
 (param $$ordinal i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
  (struct.set $java.lang.Enum $name@java.lang.Enum (local.get $this) (local.get $$name))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
  (struct.set $java.lang.Enum $ordinal@java.lang.Enum (local.get $this) (local.get $$ordinal))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65: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))
 )
)

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

;;; MyEnum[] MyEnum.values()
(func $m_values__arrayOf_libraryinfo_Main_MyEnum@libraryinfo.Main.MyEnum
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
  (call $$clinit__void_<once>_@libraryinfo.Main.MyEnum )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
  (return (call $m_values_$private__arrayOf_libraryinfo_Main_MyEnum@libraryinfo.Main.MyEnum ))
 )
)

;;; MyEnum[] MyEnum.values_$private()
(func $m_values_$private__arrayOf_libraryinfo_Main_MyEnum@libraryinfo.Main.MyEnum
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/libraryinfo/readable-j2wasm.js/libraryinfo/Main.java:65: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 $FOO@libraryinfo.Main.MyEnum)(global.get $BAR@libraryinfo.Main.MyEnum))))
 )
)

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

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

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