;;; Code for typewildcards.Function [type definition]
(type $typewildcards.Function.vtable (sub (struct
 (field $m_apply__java_lang_Object__java_lang_Object (ref $function.m_apply__java_lang_Object__java_lang_Object))
 ))
)

;;; Code for typewildcards.List [type definition]
(type $typewildcards.List.vtable (sub (struct
 ))
)

;;; Code for typewildcards.DeepRecursiveType [type definition]
(type $typewildcards.DeepRecursiveType.vtable (sub (struct
 ))
)

;;; Code for typewildcards.TypeWildCards.X [type definition]
(type $typewildcards.TypeWildCards.X.vtable (sub (struct
 (field $m_m__void (ref $function.m_m__void))
 ))
)

;;; Code for typewildcards.TypeWildCards.Y [type definition]
(type $typewildcards.TypeWildCards.Y.vtable (sub (struct
 (field $m_n__void (ref $function.m_n__void))
 ))
)

;;; Code for typewildcards.TypeWildCards.IntegerSupplier [type definition]
(type $typewildcards.TypeWildCards.IntegerSupplier.vtable (sub (struct
 (field $m_get__java_lang_Integer (ref $function.m_get__java_lang_Integer))
 ))
)

;;; Code for typewildcards.TypeWildCards.HasKey [type definition]
(type $typewildcards.TypeWildCards.HasKey.vtable (sub (struct
 (field $m_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)

;;; Code for typewildcards.TypeWildCards.RecursiveInterface [type definition]
(type $typewildcards.TypeWildCards.RecursiveInterface.vtable (sub (struct
 (field $m_m__typewildcards_TypeWildCards_RecursiveInterface (ref $function.m_m__typewildcards_TypeWildCards_RecursiveInterface))
 ))
)

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

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

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

;;; Code for typewildcards.TypeWildCards [type definition]
(type $typewildcards.TypeWildCards.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_deepRecursiveType__typewildcards_DeepRecursiveType__void (ref $function.m_deepRecursiveType__typewildcards_DeepRecursiveType__void))
 (field $m_lowerBoundRecursive__typewildcards_GenericType__void (ref $function.m_lowerBoundRecursive__typewildcards_GenericType__void))
 (field $m_lowerBound__typewildcards_GenericType__java_lang_Object (ref $function.m_lowerBound__typewildcards_GenericType__java_lang_Object))
 (field $m_testInferredGenericIntersection__void (ref $function.m_testInferredGenericIntersection__void))
 (field $m_testRecursiveGeneric__void (ref $function.m_testRecursiveGeneric__void))
 (field $m_test__void (ref $function.m_test__void))
 (field $m_unboundedRecursive__typewildcards_RecursiveType__void (ref $function.m_unboundedRecursive__typewildcards_RecursiveType__void))
 (field $m_unbounded__typewildcards_GenericType__java_lang_Object (ref $function.m_unbounded__typewildcards_GenericType__java_lang_Object))
 (field $m_upperBoundRecursive__typewildcards_GenericType__void (ref $function.m_upperBoundRecursive__typewildcards_GenericType__void))
 (field $m_upperBound__typewildcards_GenericType__typewildcards_Bar (ref $function.m_upperBound__typewildcards_GenericType__typewildcards_Bar))
 ))
)
(type $typewildcards.TypeWildCards (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

;;; Code for typewildcards.TypeWildCards.X.$LambdaAdaptor [type definition]
(type $typewildcards.TypeWildCards.X.$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_m__void (ref $function.m_m__void))
 ))
)
(type $typewildcards.TypeWildCards.X.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.X.$LambdaAdaptor.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.X.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for typewildcards.TypeWildCards.Y.$LambdaAdaptor [type definition]
(type $typewildcards.TypeWildCards.Y.$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_n__void (ref $function.m_n__void))
 ))
)
(type $typewildcards.TypeWildCards.Y.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.Y.$LambdaAdaptor.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.Y.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor [type definition]
(type $typewildcards.TypeWildCards.IntegerSupplier.$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_get__java_lang_Integer (ref $function.m_get__java_lang_Integer))
 ))
)
(type $typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for typewildcards.TypeWildCards.HasKey.$LambdaAdaptor [type definition]
(type $typewildcards.TypeWildCards.HasKey.$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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 ))
)
(type $typewildcards.TypeWildCards.HasKey.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.HasKey.$LambdaAdaptor.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.HasKey.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor [type definition]
(type $typewildcards.TypeWildCards.RecursiveInterface.$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_m__typewildcards_TypeWildCards_RecursiveInterface (ref $function.m_m__typewildcards_TypeWildCards_RecursiveInterface))
 ))
)
(type $typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

;;; Code for typewildcards.TypeWildCards.Element [type definition]
(type $typewildcards.TypeWildCards.Element.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 (field $m_get__java_lang_Integer (ref $function.m_get__java_lang_Integer))
 ))
)
(type $typewildcards.TypeWildCards.Element (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.Element.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.Element.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@typewildcards.TypeWildCards.Element (mut (ref null $typewildcards.TypeWildCards)))
 ))
)

;;; Code for typewildcards.TypeWildCards.OtherElement [type definition]
(type $typewildcards.TypeWildCards.OtherElement.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 (field $m_get__java_lang_Integer (ref $function.m_get__java_lang_Integer))
 ))
)
(type $typewildcards.TypeWildCards.OtherElement (sub $java.lang.Object (struct
 (field $vtable (ref $typewildcards.TypeWildCards.OtherElement.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.OtherElement.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@typewildcards.TypeWildCards.OtherElement (mut (ref null $typewildcards.TypeWildCards)))
 ))
)

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

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

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

;;; Code for typewildcards.TypeWildCards.SubOtherElement [type definition]
(type $typewildcards.TypeWildCards.SubOtherElement.vtable (sub $typewildcards.TypeWildCards.OtherElement.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_getKey__java_lang_String (ref $function.m_getKey__java_lang_String))
 (field $m_get__java_lang_Integer (ref $function.m_get__java_lang_Integer))
 ))
)
(type $typewildcards.TypeWildCards.SubOtherElement (sub $typewildcards.TypeWildCards.OtherElement (struct
 (field $vtable (ref $typewildcards.TypeWildCards.SubOtherElement.vtable))
 (field $itable (ref $typewildcards.TypeWildCards.SubOtherElement.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@typewildcards.TypeWildCards.OtherElement (mut (ref null $typewildcards.TypeWildCards)))
 (field $$outer_this@typewildcards.TypeWildCards.SubOtherElement (mut (ref null $typewildcards.TypeWildCards)))
 ))
)

;;; Code for typewildcards.TypeWildCards.Foo [type definition]
(type $typewildcards.TypeWildCards.Foo.vtable (sub $typewildcards.GenericType.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_get__java_lang_Object_$pp_typewildcards (ref $function.m_get__java_lang_Object_$pp_typewildcards))
 ))
)
(type $typewildcards.TypeWildCards.Foo (sub $typewildcards.GenericType (struct
 (field $vtable (ref $typewildcards.TypeWildCards.Foo.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@typewildcards.TypeWildCards.Foo (mut (ref null $typewildcards.TypeWildCards)))
 ))
)

;;; Code for typewildcards.Function [imports]

;;; Code for typewildcards.List [imports]

;;; Code for typewildcards.DeepRecursiveType [imports]

;;; Code for typewildcards.TypeWildCards.X [imports]

;;; Code for typewildcards.TypeWildCards.Y [imports]

;;; Code for typewildcards.TypeWildCards.IntegerSupplier [imports]

;;; Code for typewildcards.TypeWildCards.HasKey [imports]

;;; Code for typewildcards.TypeWildCards.RecursiveInterface [imports]

;;; Code for typewildcards.GenericType [imports]

;;; Code for typewildcards.Bar [imports]

;;; Code for typewildcards.RecursiveType [imports]

;;; Code for typewildcards.TypeWildCards [imports]

;;; Code for typewildcards.Function.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.X.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.Y.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.HasKey.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor [imports]

;;; Code for typewildcards.TypeWildCards.A [imports]

;;; Code for typewildcards.TypeWildCards.Element [imports]

;;; Code for typewildcards.TypeWildCards.OtherElement [imports]

;;; Code for typewildcards.TypeWildCards.MultipleGenerics [imports]

;;; Code for typewildcards.RecursiveSubtype [imports]

;;; Code for typewildcards.TypeWildCards.$LambdaImplementor$1 [imports]

;;; Code for typewildcards.TypeWildCards.SubOtherElement [imports]

;;; Code for typewildcards.TypeWildCards.Foo [imports]

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

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

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

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

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

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

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

;;; Code for typewildcards.TypeWildCards [static fields]
(global $listWithWildcard@typewildcards.TypeWildCards (mut (ref null $java.lang.Object))
 (ref.null $java.lang.Object)
)
(global $valMultipleGenerics@typewildcards.TypeWildCards (mut (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 (ref.null $typewildcards.TypeWildCards.MultipleGenerics)
)
(global $$class-initialized@typewildcards.TypeWildCards (mut i32)
 (i32.const 0)
)
(global $$class@typewildcards.TypeWildCards (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for typewildcards.GenericType [vtable.init]
(global $typewildcards.GenericType.vtable (ref $typewildcards.GenericType.vtable)
 (struct.new $typewildcards.GenericType.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.GenericType)
  (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_get__java_lang_Object_$pp_typewildcards@typewildcards.GenericType)
 )
)

;;; Code for typewildcards.Bar [vtable.init]
(global $typewildcards.Bar.vtable (ref $typewildcards.Bar.vtable)
 (struct.new $typewildcards.Bar.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.Bar)
  (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 typewildcards.RecursiveType [vtable.init]
(global $typewildcards.RecursiveType.vtable (ref $typewildcards.RecursiveType.vtable)
 (struct.new $typewildcards.RecursiveType.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.RecursiveType)
  (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 typewildcards.RecursiveSubtype [vtable.init]
(global $typewildcards.RecursiveSubtype.vtable (ref $typewildcards.RecursiveSubtype.vtable)
 (struct.new $typewildcards.RecursiveSubtype.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.RecursiveSubtype)
  (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 typewildcards.TypeWildCards [vtable.init]
(global $typewildcards.TypeWildCards.vtable (ref $typewildcards.TypeWildCards.vtable)
 (struct.new $typewildcards.TypeWildCards.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.TypeWildCards)
  (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_deepRecursiveType__typewildcards_DeepRecursiveType__void@typewildcards.TypeWildCards)
  (ref.func $m_lowerBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards)
  (ref.func $m_lowerBound__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards)
  (ref.func $m_testInferredGenericIntersection__void@typewildcards.TypeWildCards)
  (ref.func $m_testRecursiveGeneric__void@typewildcards.TypeWildCards)
  (ref.func $m_test__void@typewildcards.TypeWildCards)
  (ref.func $m_unboundedRecursive__typewildcards_RecursiveType__void@typewildcards.TypeWildCards)
  (ref.func $m_unbounded__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards)
  (ref.func $m_upperBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards)
  (ref.func $m_upperBound__typewildcards_GenericType__typewildcards_Bar@typewildcards.TypeWildCards)
 )
)

;;; Code for typewildcards.TypeWildCards.$LambdaImplementor$1 [vtable.init]
(global $typewildcards.TypeWildCards.$LambdaImplementor$1.vtable (ref $typewildcards.TypeWildCards.$LambdaImplementor$1.vtable)
 (struct.new $typewildcards.TypeWildCards.$LambdaImplementor$1.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.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_Object__java_lang_Object@typewildcards.TypeWildCards.$LambdaImplementor$1)
  (ref.func $m_apply__java_lang_Object__java_lang_Integer@typewildcards.TypeWildCards.$LambdaImplementor$1)
 )
)
(global $typewildcards.Function.vtable@$typewildcards.TypeWildCards.$LambdaImplementor$1 (ref $typewildcards.Function.vtable)
 (struct.new $typewildcards.Function.vtable
  (ref.func $m_apply__java_lang_Object__java_lang_Object@typewildcards.TypeWildCards.$LambdaImplementor$1)
 )
)

;;; Code for typewildcards.TypeWildCards.A [vtable.init]
(global $typewildcards.TypeWildCards.A.vtable (ref $typewildcards.TypeWildCards.A.vtable)
 (struct.new $typewildcards.TypeWildCards.A.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.TypeWildCards.A)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_m__void@typewildcards.TypeWildCards.A)
 )
)
(global $typewildcards.TypeWildCards.X.vtable@$typewildcards.TypeWildCards.A (ref $typewildcards.TypeWildCards.X.vtable)
 (struct.new $typewildcards.TypeWildCards.X.vtable
  (ref.func $m_m__void@typewildcards.TypeWildCards.A)
 )
)

;;; Code for typewildcards.TypeWildCards.Foo [vtable.init]
(global $typewildcards.TypeWildCards.Foo.vtable (ref $typewildcards.TypeWildCards.Foo.vtable)
 (struct.new $typewildcards.TypeWildCards.Foo.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.TypeWildCards.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_get__java_lang_Object_$pp_typewildcards@typewildcards.GenericType)
 )
)

;;; Code for typewildcards.TypeWildCards.MultipleGenerics [vtable.init]
(global $typewildcards.TypeWildCards.MultipleGenerics.vtable (ref $typewildcards.TypeWildCards.MultipleGenerics.vtable)
 (struct.new $typewildcards.TypeWildCards.MultipleGenerics.vtable
  (ref.func $$getClassImpl__java_lang_Class@typewildcards.TypeWildCards.MultipleGenerics)
  (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 typewildcards.Function [methods]

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

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

;;; Code for typewildcards.List [methods]

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

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

;;; Code for typewildcards.DeepRecursiveType [methods]

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

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

;;; Code for typewildcards.TypeWildCards.X [methods]

;;; void X.$clinit()
(func $$clinit__void_<once>_@typewildcards.TypeWildCards.X
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.X)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
  (global.set $$class-initialized@typewildcards.TypeWildCards.X (i32.const 1))
 )
)

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

;;; Code for typewildcards.TypeWildCards.Y [methods]

;;; void Y.$clinit()
(func $$clinit__void_<once>_@typewildcards.TypeWildCards.Y
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.Y)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
  (global.set $$class-initialized@typewildcards.TypeWildCards.Y (i32.const 1))
 )
)

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

;;; Code for typewildcards.TypeWildCards.IntegerSupplier [methods]

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

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

;;; Code for typewildcards.TypeWildCards.HasKey [methods]

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

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

;;; Code for typewildcards.TypeWildCards.RecursiveInterface [methods]

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

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

;;; Code for typewildcards.GenericType [methods]

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

;;; void GenericType.$ctor()
(func $$ctor__void_$p_typewildcards_GenericType@typewildcards.GenericType
 (param $this (ref null $typewildcards.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:24:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:24:6
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; T GenericType.get()
(func $m_get__java_lang_Object_$pp_typewildcards@typewildcards.GenericType
 (type $function.m_get__java_lang_Object_$pp_typewildcards)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:25:4
 (local $this (ref null $typewildcards.GenericType))
 (local.set $this (ref.cast (ref $typewildcards.GenericType) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:26:4
  (return (ref.null $java.lang.Object))
 )
)
(elem declare func $m_get__java_lang_Object_$pp_typewildcards@typewildcards.GenericType)

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

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

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

;;; Code for typewildcards.Bar [methods]

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

;;; void Bar.$ctor()
(func $$ctor__void_$p_typewildcards_Bar@typewildcards.Bar
 (param $this (ref null $typewildcards.Bar))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:30:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:30:6
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.RecursiveType [methods]

;;; RecursiveType<T> RecursiveType.$create(RecursiveType<?> wildcardParameter)
(func $$create__typewildcards_RecursiveType@typewildcards.RecursiveType
 (param $wildcardParameter (ref null $typewildcards.RecursiveType))
 (result (ref null $typewildcards.RecursiveType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
 (local $$instance (ref null $typewildcards.RecursiveType))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
  (call $$clinit__void_<once>_@typewildcards.RecursiveType )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
  (local.set $$instance (struct.new $typewildcards.RecursiveType (global.get $typewildcards.RecursiveType.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
  (call $$ctor__typewildcards_RecursiveType__void_$p_typewildcards_RecursiveType@typewildcards.RecursiveType (ref.as_non_null (local.get $$instance))(local.get $wildcardParameter))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
  (return (local.get $$instance))
 )
)

;;; void RecursiveType.$ctor(RecursiveType<?> wildcardParameter)
(func $$ctor__typewildcards_RecursiveType__void_$p_typewildcards_RecursiveType@typewildcards.RecursiveType
 (param $this (ref null $typewildcards.RecursiveType))
 (param $wildcardParameter (ref null $typewildcards.RecursiveType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:9
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:33:59
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards [methods]

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

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

;;; Object TypeWildCards.unbounded(GenericType<?> g)
(func $m_unbounded__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards
 (type $function.m_unbounded__typewildcards_GenericType__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.GenericType))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:45:16
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:46:4
  (return (call_ref $function.m_get__java_lang_Object_$pp_typewildcards (ref.as_non_null (local.get $g))(struct.get $typewildcards.GenericType.vtable $m_get__java_lang_Object_$pp_typewildcards (struct.get $typewildcards.GenericType $vtable(local.get $g)))))
 )
)
(elem declare func $m_unbounded__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards)

;;; Bar TypeWildCards.upperBound(GenericType<? extends Bar> g)
(func $m_upperBound__typewildcards_GenericType__typewildcards_Bar@typewildcards.TypeWildCards
 (type $function.m_upperBound__typewildcards_GenericType__typewildcards_Bar)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.GenericType))
 (result (ref null $typewildcards.Bar))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:49:13
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:50:4
  (return (ref.cast (ref null $typewildcards.Bar) (call_ref $function.m_get__java_lang_Object_$pp_typewildcards (ref.as_non_null (local.get $g))(struct.get $typewildcards.GenericType.vtable $m_get__java_lang_Object_$pp_typewildcards (struct.get $typewildcards.GenericType $vtable(local.get $g))))))
 )
)
(elem declare func $m_upperBound__typewildcards_GenericType__typewildcards_Bar@typewildcards.TypeWildCards)

;;; Object TypeWildCards.lowerBound(GenericType<? super Bar> g)
(func $m_lowerBound__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards
 (type $function.m_lowerBound__typewildcards_GenericType__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.GenericType))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:53:16
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:54:4
  (return (call_ref $function.m_get__java_lang_Object_$pp_typewildcards (ref.as_non_null (local.get $g))(struct.get $typewildcards.GenericType.vtable $m_get__java_lang_Object_$pp_typewildcards (struct.get $typewildcards.GenericType $vtable(local.get $g)))))
 )
)
(elem declare func $m_lowerBound__typewildcards_GenericType__java_lang_Object@typewildcards.TypeWildCards)

;;; void TypeWildCards.unboundedRecursive(RecursiveType<?> g)
(func $m_unboundedRecursive__typewildcards_RecursiveType__void@typewildcards.TypeWildCards
 (type $function.m_unboundedRecursive__typewildcards_RecursiveType__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.RecursiveType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:57:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_unboundedRecursive__typewildcards_RecursiveType__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.upperBoundRecursive(GenericType<? extends RecursiveType<?>> g)
(func $m_upperBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards
 (type $function.m_upperBoundRecursive__typewildcards_GenericType__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:59:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_upperBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.lowerBoundRecursive(GenericType<? super RecursiveType<?>> g)
(func $m_lowerBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards
 (type $function.m_lowerBoundRecursive__typewildcards_GenericType__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $g (ref null $typewildcards.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:61:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_lowerBoundRecursive__typewildcards_GenericType__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.deepRecursiveType(DeepRecursiveType<?> t)
(func $m_deepRecursiveType__typewildcards_DeepRecursiveType__void@typewildcards.TypeWildCards
 (type $function.m_deepRecursiveType__typewildcards_DeepRecursiveType__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:63:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_deepRecursiveType__typewildcards_DeepRecursiveType__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.test()
(func $m_test__void@typewildcards.TypeWildCards
 (type $function.m_test__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:65:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:66:4
  (drop (call_ref $function.m_unbounded__typewildcards_GenericType__java_lang_Object (ref.as_non_null (local.get $this))(call $$create__@typewildcards.GenericType )(struct.get $typewildcards.TypeWildCards.vtable $m_unbounded__typewildcards_GenericType__java_lang_Object (struct.get $typewildcards.TypeWildCards $vtable(local.get $this)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:67:4
  (drop (call_ref $function.m_upperBound__typewildcards_GenericType__typewildcards_Bar (ref.as_non_null (local.get $this))(call $$create__@typewildcards.GenericType )(struct.get $typewildcards.TypeWildCards.vtable $m_upperBound__typewildcards_GenericType__typewildcards_Bar (struct.get $typewildcards.TypeWildCards $vtable(local.get $this)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:68:4
  (drop (call_ref $function.m_lowerBound__typewildcards_GenericType__java_lang_Object (ref.as_non_null (local.get $this))(call $$create__@typewildcards.GenericType )(struct.get $typewildcards.TypeWildCards.vtable $m_lowerBound__typewildcards_GenericType__java_lang_Object (struct.get $typewildcards.TypeWildCards $vtable(local.get $this)))))
 )
)
(elem declare func $m_test__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.testBoundedTypeMemberAccess(T t)
(func $m_testBoundedTypeMemberAccess__typewildcards_TypeWildCards_A__void@typewildcards.TypeWildCards
 (param $t (ref null $typewildcards.TypeWildCards.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:86:35
 (local $i i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:86:68
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:87:4
  (local.set $i (struct.get $typewildcards.TypeWildCards.A $f@typewildcards.TypeWildCards.A (local.get $t)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:88:4
  (call_ref $function.m_m__void (ref.as_non_null (local.get $t))(struct.get $typewildcards.TypeWildCards.A.vtable $m_m__void (struct.get $typewildcards.TypeWildCards.A $vtable(local.get $t))))
 )
)

;;; void TypeWildCards.testIntersectionBoundedTypeMemberAccess(T t)
(func $m_testIntersectionBoundedTypeMemberAccess__typewildcards_TypeWildCards_A__void@typewildcards.TypeWildCards
 (param $t (ref null $typewildcards.TypeWildCards.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:91:39
 (local $i i32)
 (local $$qualifier (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:91:84
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:92:4
  (local.set $i (struct.get $typewildcards.TypeWildCards.A $f@typewildcards.TypeWildCards.A (local.get $t)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:93:4
  (call_ref $function.m_m__void (ref.as_non_null (local.get $t))(struct.get $typewildcards.TypeWildCards.A.vtable $m_m__void (struct.get $typewildcards.TypeWildCards.A $vtable(local.get $t))))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:94:4
   (local.set $$qualifier (local.get $t))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:94:4
   (call_ref $function.m_n__void (ref.as_non_null (local.get $$qualifier))(struct.get $typewildcards.TypeWildCards.Y.vtable $m_n__void (ref.cast (ref $typewildcards.TypeWildCards.Y.vtable) (call $get.itable.$typewildcards.TypeWildCards.Y (local.get $$qualifier)))))
  )
 )
)

;;; List<V> TypeWildCards.transform(List<F> from, Function<? super F, ? extends V> function)
(func $m_transform__typewildcards_List__typewildcards_Function__typewildcards_List@typewildcards.TypeWildCards
 (param $from (ref null $java.lang.Object))
 (param $function (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:111:32
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:112:4
  (return (ref.null $java.lang.Object))
 )
)

;;; List<E> TypeWildCards.concat(List<? extends E> a, List<? extends E> b)
(func $m_concat__typewildcards_List__typewildcards_List__typewildcards_List@typewildcards.TypeWildCards
 (param $a (ref null $java.lang.Object))
 (param $b (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:115:29
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:116:4
  (return (ref.null $java.lang.Object))
 )
)

;;; void TypeWildCards.testInferredGenericIntersection()
(func $m_testInferredGenericIntersection__void@typewildcards.TypeWildCards
 (type $function.m_testInferredGenericIntersection__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:119:14
 (local $elements (ref null $java.lang.Object))
 (local $otherElements (ref null $java.lang.Object))
 (local $integers (ref null $java.lang.Object))
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:120:4
  (local.set $elements (ref.null $java.lang.Object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:121:4
  (local.set $otherElements (ref.null $java.lang.Object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:124:4
  (local.set $integers (call $m_transform__typewildcards_List__typewildcards_Function__typewildcards_List@typewildcards.TypeWildCards (call $m_concat__typewildcards_List__typewildcards_List__typewildcards_List@typewildcards.TypeWildCards (local.get $elements)(local.get $otherElements))(call $$create__@typewildcards.TypeWildCards.$LambdaImplementor$1 )))
 )
)
(elem declare func $m_testInferredGenericIntersection__void@typewildcards.TypeWildCards)

;;; void TypeWildCards.takesRecursiveGeneric(GenericType<Foo> foo)
(func $m_takesRecursiveGeneric__typewildcards_GenericType__void@typewildcards.TypeWildCards
 (param $foo (ref null $typewildcards.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:135:22
 (block
 )
)

;;; void TypeWildCards.testRecursiveGeneric()
(func $m_testRecursiveGeneric__void@typewildcards.TypeWildCards
 (type $function.m_testRecursiveGeneric__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:137:14
 (local $this (ref null $typewildcards.TypeWildCards))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:138:4
  (call $m_takesRecursiveGeneric__typewildcards_GenericType__void@typewildcards.TypeWildCards (call $$create__typewildcards_TypeWildCards@typewildcards.TypeWildCards.Foo (local.get $this)))
 )
)
(elem declare func $m_testRecursiveGeneric__void@typewildcards.TypeWildCards)

;;; C TypeWildCards.testInferredIntersectionWithTypeVariable(RecursiveInterface<? extends C, C> ri)
(func $m_testInferredIntersectionWithTypeVariable__typewildcards_TypeWildCards_RecursiveInterface__java_lang_Object@typewildcards.TypeWildCards
 (param $ri (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:145:22
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:146:45
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:151:4
  (return (call_ref $function.m_m__typewildcards_TypeWildCards_RecursiveInterface (ref.as_non_null (local.get $ri))(struct.get $typewildcards.TypeWildCards.RecursiveInterface.vtable $m_m__typewildcards_TypeWildCards_RecursiveInterface (ref.cast (ref $typewildcards.TypeWildCards.RecursiveInterface.vtable) (call $get.itable.$typewildcards.TypeWildCards.RecursiveInterface (local.get $ri))))))
 )
)

;;; MultipleGenerics<D, String, List<D>> TypeWildCards.createMultipleGenerics(List<D> arg0)
(func $m_createMultipleGenerics__typewildcards_List__typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards
 (param $arg0 (ref null $java.lang.Object))
 (result (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:156:50
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:156:50
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:156:50
  (return (call $m_createMultipleGenerics_$private__typewildcards_List__typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards (local.get $arg0)))
 )
)

;;; MultipleGenerics<D, String, List<D>> TypeWildCards.createMultipleGenerics_$private(List<D> foo)
(func $m_createMultipleGenerics_$private__typewildcards_List__typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards
 (param $foo (ref null $java.lang.Object))
 (result (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:156:50
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:157:4
  (return (call $$create__@typewildcards.TypeWildCards.MultipleGenerics ))
 )
)

;;; void TypeWildCards.$clinit()
(func $$clinit__void_<once>_@typewildcards.TypeWildCards
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:44:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:44:13
  (if (global.get $$class-initialized@typewildcards.TypeWildCards)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:44:13
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:44:13
  (global.set $$class-initialized@typewildcards.TypeWildCards (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:44:13
  (call $$clinit__void_<once>_@java.lang.Object )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:160:2
  (global.set $listWithWildcard@typewildcards.TypeWildCards (ref.null $java.lang.Object))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:161:2
  (global.set $valMultipleGenerics@typewildcards.TypeWildCards (call $m_createMultipleGenerics_$private__typewildcards_List__typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards (global.get $listWithWildcard@typewildcards.TypeWildCards)))
 )
)

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

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

;;; Code for typewildcards.Function.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_Function_$LambdaAdaptor@typewildcards.Function.$LambdaAdaptor
 (param $this (ref null $typewildcards.Function.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:18:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:18:10
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

;;; Class<?> $LambdaAdaptor.$getClassImpl()
(func $$getClassImpl__java_lang_Class@typewildcards.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 $typewildcards.Function.$LambdaAdaptor))
 (local.set $this (ref.cast (ref $typewildcards.Function.$LambdaAdaptor) (local.get $this.untyped)))
 (block
  (return (call $$getClassMetadata__java_lang_Class_<once>_@typewildcards.Function.$LambdaAdaptor ))
 )
)
(elem declare func $$getClassImpl__java_lang_Class@typewildcards.Function.$LambdaAdaptor)

;;; Code for typewildcards.TypeWildCards.X.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_X_$LambdaAdaptor@typewildcards.TypeWildCards.X.$LambdaAdaptor
 (param $this (ref null $typewildcards.TypeWildCards.X.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:71:20
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards.Y.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_Y_$LambdaAdaptor@typewildcards.TypeWildCards.Y.$LambdaAdaptor
 (param $this (ref null $typewildcards.TypeWildCards.Y.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:75:20
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_IntegerSupplier_$LambdaAdaptor@typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor
 (param $this (ref null $typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97: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>_@typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
  (global.set $$class-initialized@typewildcards.TypeWildCards.IntegerSupplier.$LambdaAdaptor (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:97:19
  (call $$clinit__void_<once>_@java.lang.Object )
 )
)

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

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

;;; Code for typewildcards.TypeWildCards.HasKey.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_HasKey_$LambdaAdaptor@typewildcards.TypeWildCards.HasKey.$LambdaAdaptor
 (param $this (ref null $typewildcards.TypeWildCards.HasKey.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101: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>_@typewildcards.TypeWildCards.HasKey.$LambdaAdaptor
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.HasKey.$LambdaAdaptor)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
  (global.set $$class-initialized@typewildcards.TypeWildCards.HasKey.$LambdaAdaptor (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:101:19
  (call $$clinit__void_<once>_@java.lang.Object )
 )
)

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

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

;;; Code for typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_RecursiveInterface_$LambdaAdaptor@typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor
 (param $this (ref null $typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141: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>_@typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
  (global.set $$class-initialized@typewildcards.TypeWildCards.RecursiveInterface.$LambdaAdaptor (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:141:12
  (call $$clinit__void_<once>_@java.lang.Object )
 )
)

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

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

;;; Code for typewildcards.TypeWildCards.A [methods]

;;; A A.$create()
(func $$create__@typewildcards.TypeWildCards.A
 (result (ref null $typewildcards.TypeWildCards.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
 (local $$instance (ref null $typewildcards.TypeWildCards.A))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
  (local.set $$instance (struct.new $typewildcards.TypeWildCards.A (global.get $typewildcards.TypeWildCards.A.vtable) (global.get $typewildcards.TypeWildCards.A.itable) (i32.const 0) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
  (call $$ctor__void_$p_typewildcards_TypeWildCards_A@typewildcards.TypeWildCards.A (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
  (return (local.get $$instance))
 )
)

;;; void A.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_A@typewildcards.TypeWildCards.A
 (param $this (ref null $typewildcards.TypeWildCards.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:79:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void A.m()
(func $m_m__void@typewildcards.TypeWildCards.A
 (type $function.m_m__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:83:16
 (local $this (ref null $typewildcards.TypeWildCards.A))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards.A) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_m__void@typewildcards.TypeWildCards.A)

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

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

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

;;; Code for typewildcards.TypeWildCards.Element [methods]

;;; void Element.$ctor(TypeWildCards $outer_this)
(func $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_Element@typewildcards.TypeWildCards.Element
 (param $this (ref null $typewildcards.TypeWildCards.Element))
 (param $$outer_this (ref null $typewildcards.TypeWildCards))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:105:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:105:24
  (struct.set $typewildcards.TypeWildCards.Element $$outer_this@typewildcards.TypeWildCards.Element (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:105:24
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards.OtherElement [methods]

;;; void OtherElement.$ctor(TypeWildCards $outer_this)
(func $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_OtherElement@typewildcards.TypeWildCards.OtherElement
 (param $this (ref null $typewildcards.TypeWildCards.OtherElement))
 (param $$outer_this (ref null $typewildcards.TypeWildCards))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:107:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:107:24
  (struct.set $typewildcards.TypeWildCards.OtherElement $$outer_this@typewildcards.TypeWildCards.OtherElement (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:107:24
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards.MultipleGenerics [methods]

;;; MultipleGenerics<A, B, C> MultipleGenerics.$create()
(func $$create__@typewildcards.TypeWildCards.MultipleGenerics
 (result (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
 (local $$instance (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards.MultipleGenerics )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
  (local.set $$instance (struct.new $typewildcards.TypeWildCards.MultipleGenerics (global.get $typewildcards.TypeWildCards.MultipleGenerics.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
  (call $$ctor__void_$p_typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards.MultipleGenerics (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
  (return (local.get $$instance))
 )
)

;;; void MultipleGenerics.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_MultipleGenerics@typewildcards.TypeWildCards.MultipleGenerics
 (param $this (ref null $typewildcards.TypeWildCards.MultipleGenerics))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:154:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for typewildcards.RecursiveSubtype [methods]

;;; RecursiveSubtype RecursiveSubtype.$create(RecursiveType<?> wildcardParameter)
(func $$create__typewildcards_RecursiveType@typewildcards.RecursiveSubtype
 (param $wildcardParameter (ref null $typewildcards.RecursiveType))
 (result (ref null $typewildcards.RecursiveSubtype))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
 (local $$instance (ref null $typewildcards.RecursiveSubtype))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
  (call $$clinit__void_<once>_@typewildcards.RecursiveSubtype )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
  (local.set $$instance (struct.new $typewildcards.RecursiveSubtype (global.get $typewildcards.RecursiveSubtype.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
  (call $$ctor__typewildcards_RecursiveType__void_$p_typewildcards_RecursiveSubtype@typewildcards.RecursiveSubtype (ref.as_non_null (local.get $$instance))(local.get $wildcardParameter))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
  (return (local.get $$instance))
 )
)

;;; void RecursiveSubtype.$ctor(RecursiveType<?> wildcardParameter)
(func $$ctor__typewildcards_RecursiveType__void_$p_typewildcards_RecursiveSubtype@typewildcards.RecursiveSubtype
 (param $this (ref null $typewildcards.RecursiveSubtype))
 (param $wildcardParameter (ref null $typewildcards.RecursiveType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:39:9
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:40:4
  (call $$ctor__typewildcards_RecursiveType__void_$p_typewildcards_RecursiveType@typewildcards.RecursiveType (ref.as_non_null (local.get $this))(local.get $wildcardParameter))
 )
)

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

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

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

;;; Code for typewildcards.TypeWildCards.$LambdaImplementor$1 [methods]

;;; <anonymous> implements Function<? super Object, ? extends Integer> <anonymous> implements Function<? super Object, ? extends Integer>.$create()
(func $$create__@typewildcards.TypeWildCards.$LambdaImplementor$1
 (result (ref null $typewildcards.TypeWildCards.$LambdaImplementor$1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
 (local $$instance (ref null $typewildcards.TypeWildCards.$LambdaImplementor$1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards.$LambdaImplementor$1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (local.set $$instance (struct.new $typewildcards.TypeWildCards.$LambdaImplementor$1 (global.get $typewildcards.TypeWildCards.$LambdaImplementor$1.vtable) (global.get $typewildcards.TypeWildCards.$LambdaImplementor$1.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (call $$ctor__void_$p_typewildcards_TypeWildCards_$LambdaImplementor$1@typewildcards.TypeWildCards.$LambdaImplementor$1 (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (return (local.get $$instance))
 )
)

;;; void <anonymous> implements Function<? super Object, ? extends Integer>.$ctor()
(func $$ctor__void_$p_typewildcards_TypeWildCards_$LambdaImplementor$1@typewildcards.TypeWildCards.$LambdaImplementor$1
 (param $this (ref null $typewildcards.TypeWildCards.$LambdaImplementor$1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (call $$ctor__void_$p_typewildcards_Function_$LambdaAdaptor@typewildcards.Function.$LambdaAdaptor (ref.as_non_null (local.get $this)))
 )
)

;;; ? extends Integer <anonymous> implements Function<? super Object, ? extends Integer>.apply(? super Object a)
(func $m_apply__java_lang_Object__java_lang_Integer@typewildcards.TypeWildCards.$LambdaImplementor$1
 (type $function.m_apply__java_lang_Object__java_lang_Integer)
 (param $this.untyped (ref $java.lang.Object))
 (param $a (ref null $java.lang.Object))
 (result (ref null $java.lang.Integer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
 (local $a_1 (ref null $java.lang.Object))
 (local $$qualifier (ref null $java.lang.Object))
 (local $$qualifier_1 (ref null $java.lang.Object))
 (local $this (ref null $typewildcards.TypeWildCards.$LambdaImplementor$1))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards.$LambdaImplementor$1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (local.set $a_1 (local.get $a))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:128:14
   (local.set $$qualifier (local.get $a_1))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:128:14
   (drop (call_ref $function.m_getKey__java_lang_String (ref.as_non_null (local.get $$qualifier))(struct.get $typewildcards.TypeWildCards.HasKey.vtable $m_getKey__java_lang_String (ref.cast (ref $typewildcards.TypeWildCards.HasKey.vtable) (call $get.itable.$typewildcards.TypeWildCards.HasKey (local.get $$qualifier))))))
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:129:14
  (return (block (result (ref null $java.lang.Integer))
   (local.set $$qualifier_1 (local.get $a_1))
   (call_ref $function.m_get__java_lang_Integer (ref.as_non_null (local.get $$qualifier_1))(struct.get $typewildcards.TypeWildCards.IntegerSupplier.vtable $m_get__java_lang_Integer (ref.cast (ref $typewildcards.TypeWildCards.IntegerSupplier.vtable) (call $get.itable.$typewildcards.TypeWildCards.IntegerSupplier (local.get $$qualifier_1)))))
  ))
 )
)
(elem declare func $m_apply__java_lang_Object__java_lang_Integer@typewildcards.TypeWildCards.$LambdaImplementor$1)

;;; ? extends Integer <anonymous> implements Function<? super Object, ? extends Integer>.apply(I arg0)
(func $m_apply__java_lang_Object__java_lang_Object@typewildcards.TypeWildCards.$LambdaImplementor$1
 (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/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
 (local $this (ref null $typewildcards.TypeWildCards.$LambdaImplementor$1))
 (local.set $this (ref.cast (ref $typewildcards.TypeWildCards.$LambdaImplementor$1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (return (call_ref $function.m_apply__java_lang_Object__java_lang_Integer (ref.as_non_null (local.get $this))(local.get $arg0)(struct.get $typewildcards.TypeWildCards.$LambdaImplementor$1.vtable $m_apply__java_lang_Object__java_lang_Integer (struct.get $typewildcards.TypeWildCards.$LambdaImplementor$1 $vtable(local.get $this)))))
 )
)
(elem declare func $m_apply__java_lang_Object__java_lang_Object@typewildcards.TypeWildCards.$LambdaImplementor$1)

;;; void <anonymous> implements Function<? super Object, ? extends Integer>.$clinit()
(func $$clinit__void_<once>_@typewildcards.TypeWildCards.$LambdaImplementor$1
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.$LambdaImplementor$1)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (global.set $$class-initialized@typewildcards.TypeWildCards.$LambdaImplementor$1 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:127:12
  (call $$clinit__void_<once>_@typewildcards.Function.$LambdaAdaptor )
 )
)

;;; Class<T> <anonymous> implements Function<? super Object, ? extends Integer>.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@typewildcards.TypeWildCards.$LambdaImplementor$1
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@typewildcards.TypeWildCards.$LambdaImplementor$1)))
   (then
    (return (global.get $$class@typewildcards.TypeWildCards.$LambdaImplementor$1))
   )
  )
  (global.set $$class@typewildcards.TypeWildCards.$LambdaImplementor$1 (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|typewildcard...|__java_lang_String_<once>_@typewildcards.TypeWildCards.$LambdaImplementor$1 )(call $$getClassMetadata__java_lang_Class_<once>_@typewildcards.Function.$LambdaAdaptor )))
  (return (global.get $$class@typewildcards.TypeWildCards.$LambdaImplementor$1))
 )
)

;;; Code for typewildcards.TypeWildCards.SubOtherElement [methods]

;;; void SubOtherElement.$ctor(TypeWildCards $outer_this)
(func $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_SubOtherElement@typewildcards.TypeWildCards.SubOtherElement
 (param $this (ref null $typewildcards.TypeWildCards.SubOtherElement))
 (param $$outer_this (ref null $typewildcards.TypeWildCards))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
  (struct.set $typewildcards.TypeWildCards.SubOtherElement $$outer_this@typewildcards.TypeWildCards.SubOtherElement (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
  (call $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_OtherElement@typewildcards.TypeWildCards.OtherElement (ref.as_non_null (local.get $this))(local.get $$outer_this))
 )
)

;;; void SubOtherElement.$clinit()
(func $$clinit__void_<once>_@typewildcards.TypeWildCards.SubOtherElement
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
  (if (global.get $$class-initialized@typewildcards.TypeWildCards.SubOtherElement)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
  (global.set $$class-initialized@typewildcards.TypeWildCards.SubOtherElement (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:109:24
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards.OtherElement )
 )
)

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

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

;;; Code for typewildcards.TypeWildCards.Foo [methods]

;;; Foo Foo.$create(TypeWildCards $outer_this)
(func $$create__typewildcards_TypeWildCards@typewildcards.TypeWildCards.Foo
 (param $$outer_this (ref null $typewildcards.TypeWildCards))
 (result (ref null $typewildcards.TypeWildCards.Foo))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
 (local $$instance (ref null $typewildcards.TypeWildCards.Foo))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (call $$clinit__void_<once>_@typewildcards.TypeWildCards.Foo )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (local.set $$instance (struct.new $typewildcards.TypeWildCards.Foo (global.get $typewildcards.TypeWildCards.Foo.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $typewildcards.TypeWildCards)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (call $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_Foo@typewildcards.TypeWildCards.Foo (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (return (local.get $$instance))
 )
)

;;; void Foo.$ctor(TypeWildCards $outer_this)
(func $$ctor__typewildcards_TypeWildCards__void_$p_typewildcards_TypeWildCards_Foo@typewildcards.TypeWildCards.Foo
 (param $this (ref null $typewildcards.TypeWildCards.Foo))
 (param $$outer_this (ref null $typewildcards.TypeWildCards))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (struct.set $typewildcards.TypeWildCards.Foo $$outer_this@typewildcards.TypeWildCards.Foo (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/typewildcards/readable-j2wasm.js/typewildcards/TypeWildCards.java:133:8
  (call $$ctor__void_$p_typewildcards_GenericType@typewildcards.GenericType (ref.as_non_null (local.get $this)))
 )
)

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

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

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