;;; Code for functionalinterface.FunctionalInterfaces.NonParametrized [type definition]
(type $functionalinterface.FunctionalInterfaces.NonParametrized.vtable (sub (struct
 (field $m_apply__java_lang_String__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized [type definition]
(type $functionalinterface.FunctionalInterfaces.Parametrized.vtable (sub (struct
 (field $m_apply__java_lang_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod [type definition]
(type $functionalinterface.FunctionalInterfaces.WithDefaultMethod.vtable (sub (struct
 (field $m_apply__java_lang_String__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 (field $m_defaultApply__java_lang_String__java_lang_String (ref $function.m_defaultApply__java_lang_String__java_lang_String))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods [type definition]
(type $functionalinterface.FunctionalInterfaces.WithObjectMethods.vtable (sub (struct
 (field $m_apply__java_lang_String__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod [type definition]
(type $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.vtable (sub (struct
 (field $m_apply__java_lang_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty [type definition]
(type $functionalinterface.FunctionalInterfaces.WithKtProperty.vtable (sub (struct
 (field $m_size__int (ref $function.m_size__int))
 ))
)

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

;;; Code for functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.NonParametrized.$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__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)
(type $functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.Parametrized.$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_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 ))
)
(type $functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$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__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 (field $m_defaultApply__java_lang_String__java_lang_String (ref $function.m_defaultApply__java_lang_String__java_lang_String))
 ))
)
(type $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.WithObjectMethods.$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__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)
(type $functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$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_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 ))
)
(type $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.WithKtProperty.$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_size__int (ref $function.m_size__int))
 ))
)
(type $functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.Specialized [type definition]
(type $functionalinterface.FunctionalInterfaces.Specialized.vtable (sub $functionalinterface.FunctionalInterfaces.Parametrized.vtable (struct
 (field $m_apply__java_lang_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 (field $m_apply__java_lang_String__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor [type definition]
(type $functionalinterface.FunctionalInterfaces.Specialized.$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_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 (field $m_apply__java_lang_String__java_lang_String (ref $function.m_apply__java_lang_String__java_lang_String))
 ))
)
(type $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor.vtable))
 (field $itable (ref $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for functionalinterface.FunctionalInterfaces.NonParametrized [imports]

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty [imports]

;;; Code for functionalinterface.FunctionalInterfaces [imports]

;;; Code for functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor [imports]

;;; Code for functionalinterface.FunctionalInterfaces.Specialized [imports]

;;; Code for functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor [imports]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces [vtable.init]
(global $functionalinterface.FunctionalInterfaces.vtable (ref $functionalinterface.FunctionalInterfaces.vtable)
 (struct.new $functionalinterface.FunctionalInterfaces.vtable
  (ref.func $$getClassImpl__java_lang_Class@functionalinterface.FunctionalInterfaces)
  (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 functionalinterface.FunctionalInterfaces.NonParametrized [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod [methods]

;;; String WithDefaultMethod.defaultApply(String string)
(func $m_defaultApply__java_lang_String__java_lang_String@functionalinterface.FunctionalInterfaces.WithDefaultMethod
 (param $this (ref null $java.lang.Object))
 (param $string (ref null $java.lang.String))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:37:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:38:6
  (return (call_ref $function.m_apply__java_lang_String__java_lang_String (ref.as_non_null (local.get $this))(local.get $string)(struct.get $functionalinterface.FunctionalInterfaces.WithDefaultMethod.vtable $m_apply__java_lang_String__java_lang_String (ref.cast (ref $functionalinterface.FunctionalInterfaces.WithDefaultMethod.vtable) (call $get.itable.$functionalinterface.FunctionalInterfaces.WithDefaultMethod (local.get $this))))))
 )
)
(elem declare func $m_defaultApply__java_lang_String__java_lang_String@functionalinterface.FunctionalInterfaces.WithDefaultMethod)

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces [methods]

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

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

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_NonParametrized_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.NonParametrized.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:21:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:21:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_Parametrized_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.Parametrized.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:25:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:25:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_WithDefaultMethod_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:34:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:34:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; String $LambdaAdaptor.defaultApply(String arg0)
(func $m_defaultApply__java_lang_String__java_lang_String@functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor
 (type $function.m_defaultApply__java_lang_String__java_lang_String)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.String))
 (result (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:34:19
 (local $this (ref null $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor))
 (local.set $this (ref.cast (ref $functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:34:19
  (return (call $m_defaultApply__java_lang_String__java_lang_String@functionalinterface.FunctionalInterfaces.WithDefaultMethod (ref.as_non_null (local.get $this))(local.get $arg0)))
 )
)
(elem declare func $m_defaultApply__java_lang_String__java_lang_String@functionalinterface.FunctionalInterfaces.WithDefaultMethod.$LambdaAdaptor)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_WithObjectMethods_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.WithObjectMethods.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:42:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:42:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_WithParametrizedMethod_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.WithParametrizedMethod.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:55:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:55:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_WithKtProperty_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.WithKtProperty.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:59:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:59:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for functionalinterface.FunctionalInterfaces.Specialized [methods]

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

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

;;; Code for functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_functionalinterface_FunctionalInterfaces_Specialized_$LambdaAdaptor@functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor
 (param $this (ref null $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:29:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:29:19
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; String $LambdaAdaptor.apply(T arg0)
(func $m_apply__java_lang_Object__java_lang_Object@functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor
 (type $function.m_apply__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:29:19
 (local $this (ref null $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor))
 (local.set $this (ref.cast (ref $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/functionalinterface/readable-j2wasm.js/functionalinterface/FunctionalInterfaces.java:29:19
  (return (call_ref $function.m_apply__java_lang_String__java_lang_String (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0))(struct.get $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor.vtable $m_apply__java_lang_String__java_lang_String (struct.get $functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor $vtable(local.get $this)))))
 )
)
(elem declare func $m_apply__java_lang_Object__java_lang_Object@functionalinterface.FunctionalInterfaces.Specialized.$LambdaAdaptor)

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

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

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