;;; Code for intersectiontype.Getable [type definition]
(type $intersectiontype.Getable.vtable (sub (struct
 (field $m_get__java_lang_Object (ref $function.m_get__java_lang_Object))
 ))
)

;;; Code for intersectiontype.Setable [type definition]
(type $intersectiontype.Setable.vtable (sub (struct
 (field $m_set__int__void (ref $function.m_set__int__void))
 ))
)

;;; Code for intersectiontype.Serial [type definition]
(type $intersectiontype.Serial.vtable (sub (struct
 ))
)

;;; Code for intersectiontype.Cmp [type definition]
(type $intersectiontype.Cmp.vtable (sub (struct
 (field $m_cmp__int (ref $function.m_cmp__int))
 (field $m_defaultM__int (ref $function.m_defaultM__int))
 ))
)

;;; Code for intersectiontype.Cmp2 [type definition]
(type $intersectiontype.Cmp2.vtable (sub (struct
 (field $m_cmp__int__int (ref $function.m_cmp__int__int))
 ))
)

;;; Code for intersectiontype.IntersectionTypeTest.EmptyA [type definition]
(type $intersectiontype.IntersectionTypeTest.EmptyA.vtable (sub (struct
 ))
)

;;; Code for intersectiontype.IntersectionTypeTest.EmptyB [type definition]
(type $intersectiontype.IntersectionTypeTest.EmptyB.vtable (sub (struct
 ))
)

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

;;; Code for intersectiontype.IntersectionTypeTest [type definition]
(type $intersectiontype.IntersectionTypeTest.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_cast3__java_lang_Object__java_lang_Object (ref $function.m_cast3__java_lang_Object__java_lang_Object))
 (field $m_testDefaultMethodCall__java_lang_Object__void (ref $function.m_testDefaultMethodCall__java_lang_Object__void))
 (field $m_testMethodCall__void (ref $function.m_testMethodCall__void))
 ))
)
(type $intersectiontype.IntersectionTypeTest (sub $java.lang.Object (struct
 (field $vtable (ref $intersectiontype.IntersectionTypeTest.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

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

;;; Code for intersectiontype.Cmp.$LambdaAdaptor [type definition]
(type $intersectiontype.Cmp.$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_cmp__int (ref $function.m_cmp__int))
 (field $m_defaultM__int (ref $function.m_defaultM__int))
 ))
)
(type $intersectiontype.Cmp.$LambdaAdaptor (sub $java.lang.Object (struct
 (field $vtable (ref $intersectiontype.Cmp.$LambdaAdaptor.vtable))
 (field $itable (ref $intersectiontype.Cmp.$LambdaAdaptor.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

;;; Code for intersectiontype.IntersectionTypeTest.MapEntry [type definition]
(type $intersectiontype.IntersectionTypeTest.MapEntry.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_method__java_lang_Object__intersectiontype_Getable (ref $function.m_method__java_lang_Object__intersectiontype_Getable))
 ))
)
(type $intersectiontype.IntersectionTypeTest.MapEntry (sub $java.lang.Object (struct
 (field $vtable (ref $intersectiontype.IntersectionTypeTest.MapEntry.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@intersectiontype.IntersectionTypeTest.MapEntry (mut (ref null $intersectiontype.IntersectionTypeTest)))
 ))
)

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

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

;;; Code for intersectiontype.IntersectionTypeTest.GenericType [type definition]
(type $intersectiontype.IntersectionTypeTest.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_doSomething__java_lang_Object__void_$pp_intersectiontype (ref $function.m_doSomething__java_lang_Object__void_$pp_intersectiontype))
 ))
)
(type $intersectiontype.IntersectionTypeTest.GenericType (sub $java.lang.Object (struct
 (field $vtable (ref $intersectiontype.IntersectionTypeTest.GenericType.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 [type definition]
(type $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.vtable (sub $intersectiontype.Cmp.$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_cmp__int (ref $function.m_cmp__int))
 (field $m_defaultM__int (ref $function.m_defaultM__int))
 ))
)
(type $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 (sub $intersectiontype.Cmp.$LambdaAdaptor (struct
 (field $vtable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.vtable))
 (field $itable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 [type definition]
(type $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable (sub $intersectiontype.Cmp2.$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_cmp__int__int (ref $function.m_cmp__int__int))
 ))
)
(type $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (sub $intersectiontype.Cmp2.$LambdaAdaptor (struct
 (field $vtable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable))
 (field $itable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

;;; Code for intersectiontype.Getable [imports]

;;; Code for intersectiontype.Setable [imports]

;;; Code for intersectiontype.Serial [imports]

;;; Code for intersectiontype.Cmp [imports]

;;; Code for intersectiontype.Cmp2 [imports]

;;; Code for intersectiontype.IntersectionTypeTest.EmptyA [imports]

;;; Code for intersectiontype.IntersectionTypeTest.EmptyB [imports]

;;; Code for intersectiontype.CmpImpl [imports]

;;; Code for intersectiontype.IntersectionTypeTest [imports]

;;; Code for intersectiontype.Getable.$LambdaAdaptor [imports]

;;; Code for intersectiontype.Setable.$LambdaAdaptor [imports]

;;; Code for intersectiontype.Cmp.$LambdaAdaptor [imports]

;;; Code for intersectiontype.Cmp2.$LambdaAdaptor [imports]

;;; Code for intersectiontype.IntersectionTypeTest.MapEntry [imports]

;;; Code for intersectiontype.IntersectionTypeTest.A [imports]

;;; Code for intersectiontype.IntersectionTypeTest.SomeConcreteType [imports]

;;; Code for intersectiontype.IntersectionTypeTest.GenericType [imports]

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 [imports]

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 [imports]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;;; Code for intersectiontype.CmpImpl [vtable.init]
(global $intersectiontype.CmpImpl.vtable (ref $intersectiontype.CmpImpl.vtable)
 (struct.new $intersectiontype.CmpImpl.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.CmpImpl)
  (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_cmp__int@intersectiontype.CmpImpl)
  (ref.func $m_defaultM__int@intersectiontype.CmpImpl)
 )
)
(global $intersectiontype.Cmp.vtable@$intersectiontype.CmpImpl (ref $intersectiontype.Cmp.vtable)
 (struct.new $intersectiontype.Cmp.vtable
  (ref.func $m_cmp__int@intersectiontype.CmpImpl)
  (ref.func $m_defaultM__int@intersectiontype.CmpImpl)
 )
)

;;; Code for intersectiontype.IntersectionTypeTest [vtable.init]
(global $intersectiontype.IntersectionTypeTest.vtable (ref $intersectiontype.IntersectionTypeTest.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.IntersectionTypeTest)
  (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_cast3__java_lang_Object__java_lang_Object@intersectiontype.IntersectionTypeTest)
  (ref.func $m_testDefaultMethodCall__java_lang_Object__void@intersectiontype.IntersectionTypeTest)
  (ref.func $m_testMethodCall__void@intersectiontype.IntersectionTypeTest)
 )
)

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 [vtable.init]
(global $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.vtable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.Cmp.$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_cmp__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1)
  (ref.func $m_defaultM__int@intersectiontype.Cmp.$LambdaAdaptor)
 )
)
(global $intersectiontype.Cmp.vtable@$intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 (ref $intersectiontype.Cmp.vtable)
 (struct.new $intersectiontype.Cmp.vtable
  (ref.func $m_cmp__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1)
  (ref.func $m_defaultM__int@intersectiontype.Cmp.$LambdaAdaptor)
 )
)
(global $intersectiontype.Serial.vtable@$intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 (ref $intersectiontype.Serial.vtable)
 (struct.new $intersectiontype.Serial.vtable
 )
)

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 [vtable.init]
(global $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.Cmp2.$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_cmp__int__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2)
 )
)
(global $intersectiontype.Cmp2.vtable@$intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (ref $intersectiontype.Cmp2.vtable)
 (struct.new $intersectiontype.Cmp2.vtable
  (ref.func $m_cmp__int__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2)
 )
)
(global $intersectiontype.Serial.vtable@$intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (ref $intersectiontype.Serial.vtable)
 (struct.new $intersectiontype.Serial.vtable
 )
)

;;; Code for intersectiontype.IntersectionTypeTest.MapEntry [vtable.init]
(global $intersectiontype.IntersectionTypeTest.MapEntry.vtable (ref $intersectiontype.IntersectionTypeTest.MapEntry.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.MapEntry.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.IntersectionTypeTest.MapEntry)
  (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_method__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest.MapEntry)
 )
)

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

;;; Code for intersectiontype.IntersectionTypeTest.SomeConcreteType [vtable.init]
(global $intersectiontype.IntersectionTypeTest.SomeConcreteType.vtable (ref $intersectiontype.IntersectionTypeTest.SomeConcreteType.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.SomeConcreteType.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.IntersectionTypeTest.SomeConcreteType)
  (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 intersectiontype.IntersectionTypeTest.GenericType [vtable.init]
(global $intersectiontype.IntersectionTypeTest.GenericType.vtable (ref $intersectiontype.IntersectionTypeTest.GenericType.vtable)
 (struct.new $intersectiontype.IntersectionTypeTest.GenericType.vtable
  (ref.func $$getClassImpl__java_lang_Class@intersectiontype.IntersectionTypeTest.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_doSomething__java_lang_Object__void_$pp_intersectiontype@intersectiontype.IntersectionTypeTest.GenericType)
 )
)

;;; Code for intersectiontype.Getable [methods]

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

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

;;; Code for intersectiontype.Setable [methods]

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

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

;;; Code for intersectiontype.Serial [methods]

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

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

;;; Code for intersectiontype.Cmp [methods]

;;; int Cmp.defaultM()
(func $m_defaultM__int@intersectiontype.Cmp
 (param $this (ref null $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:31:14
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:32:4
  (return (i32.const 1))
 )
)
(elem declare func $m_defaultM__int@intersectiontype.Cmp)

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

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

;;; Code for intersectiontype.Cmp2 [methods]

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

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

;;; Code for intersectiontype.IntersectionTypeTest.EmptyA [methods]

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

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

;;; Code for intersectiontype.IntersectionTypeTest.EmptyB [methods]

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

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

;;; Code for intersectiontype.CmpImpl [methods]

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

;;; void CmpImpl.$ctor()
(func $$ctor__void_$p_intersectiontype_CmpImpl@intersectiontype.CmpImpl
 (param $this (ref null $intersectiontype.CmpImpl))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:40:6
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:40:6
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; int CmpImpl.cmp()
(func $m_cmp__int@intersectiontype.CmpImpl
 (type $function.m_cmp__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:42:13
 (local $this (ref null $intersectiontype.CmpImpl))
 (local.set $this (ref.cast (ref $intersectiontype.CmpImpl) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:43:4
  (return (i32.const 1))
 )
)
(elem declare func $m_cmp__int@intersectiontype.CmpImpl)

;;; int CmpImpl.defaultM()
(func $m_defaultM__int@intersectiontype.CmpImpl
 (type $function.m_defaultM__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:40:6
 (local $this (ref null $intersectiontype.CmpImpl))
 (local.set $this (ref.cast (ref $intersectiontype.CmpImpl) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:40:6
  (return (call $m_defaultM__int@intersectiontype.Cmp (ref.as_non_null (local.get $this))))
 )
)
(elem declare func $m_defaultM__int@intersectiontype.CmpImpl)

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest [methods]

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

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

;;; void IntersectionTypeTest.getAndSet(T object)
(func $m_getAndSet__intersectiontype_Getable__void@intersectiontype.IntersectionTypeTest
 (param $object (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:49:54
 (local $$qualifier (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:49:74
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:50:4
   (local.set $$qualifier (local.get $object))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:50:4
   (call_ref $function.m_set__int__void (ref.as_non_null (local.get $$qualifier))(i32.const 1)(struct.get $intersectiontype.Setable.vtable $m_set__int__void (ref.cast (ref $intersectiontype.Setable.vtable) (call $get.itable.$intersectiontype.Setable (local.get $$qualifier)))))
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:51:4
  (drop (call_ref $function.m_get__java_lang_Object (ref.as_non_null (local.get $object))(struct.get $intersectiontype.Getable.vtable $m_get__java_lang_Object (ref.cast (ref $intersectiontype.Getable.vtable) (call $get.itable.$intersectiontype.Getable (local.get $object))))))
 )
)

;;; Getable<T> IntersectionTypeTest.cast(Object o)
(func $m_cast__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest
 (param $o (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:60:31
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:60:46
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:63:4
  (if (ref.is_null (local.get $o))
   (then
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:64:6
     (return (local.get $o))
    )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:66:4
  (return (local.get $o))
 )
)

;;; Getable<Comparable<String>> IntersectionTypeTest.cast1(Object s)
(func $m_cast1__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest
 (param $s (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:69:48
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:69:64
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:70:4
  (return (local.get $s))
 )
)

;;; Getable<Comparable<T>> IntersectionTypeTest.cast2(Object s)
(func $m_cast2__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest
 (param $s (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:73:43
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:73:59
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:74:4
  (return (local.get $s))
 )
)

;;; Object IntersectionTypeTest.cast3(Object s)
(func $m_cast3__java_lang_Object__java_lang_Object@intersectiontype.IntersectionTypeTest
 (type $function.m_cast3__java_lang_Object__java_lang_Object)
 (param $this.untyped (ref $java.lang.Object))
 (param $s (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:77:16
 (local $this (ref null $intersectiontype.IntersectionTypeTest))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:78:4
  (return (local.get $s))
 )
)
(elem declare func $m_cast3__java_lang_Object__java_lang_Object@intersectiontype.IntersectionTypeTest)

;;; Cmp IntersectionTypeTest.method()
(func $m_method__intersectiontype_Cmp@intersectiontype.IntersectionTypeTest
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:81:20
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:81:29
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:82:4
  (return (call $$create__@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 ))
 )
)

;;; Cmp2 IntersectionTypeTest.method2()
(func $m_method2__intersectiontype_Cmp2@intersectiontype.IntersectionTypeTest
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:86:21
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:86:31
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:4
  (return (call $$create__@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 ))
 )
)

;;; void IntersectionTypeTest.testClosureAssignment(Object o)
(func $m_testClosureAssignment__java_lang_Object__void@intersectiontype.IntersectionTypeTest
 (param $o (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:96:21
 (local $e (ref null $intersectiontype.IntersectionTypeTest.A))
 (local $g (ref null $java.lang.Object))
 (local $s (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:96:53
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:97:4
  (local.set $e (ref.cast (ref null $intersectiontype.IntersectionTypeTest.A) (local.get $o)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:98:4
  (local.set $g (ref.cast (ref null $intersectiontype.IntersectionTypeTest.A) (local.get $o)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:99:4
  (local.set $s (ref.cast (ref null $intersectiontype.IntersectionTypeTest.A) (local.get $o)))
 )
)

;;; T IntersectionTypeTest.get(T t)
(func $m_get__java_lang_Object__java_lang_Object@intersectiontype.IntersectionTypeTest
 (param $t (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:102:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:103:4
  (return (local.get $t))
 )
)

;;; T IntersectionTypeTest.m()
(func $m_m__intersectiontype_IntersectionTypeTest_A@intersectiontype.IntersectionTypeTest
 (result (ref null $intersectiontype.IntersectionTypeTest.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:106:42
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:107:4
  (return (ref.cast (ref null $intersectiontype.IntersectionTypeTest.A) (call $m_get__java_lang_Object__java_lang_Object@intersectiontype.IntersectionTypeTest (call $$create__@java.lang.Object ))))
 )
)

;;; Getable<T> IntersectionTypeTest.n()
(func $m_n__intersectiontype_Getable@intersectiontype.IntersectionTypeTest
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:110:51
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:111:4
  (return (ref.null $java.lang.Object))
 )
)

;;; void IntersectionTypeTest.set(T t)
(func $m_set__intersectiontype_IntersectionTypeTest_A__void@intersectiontype.IntersectionTypeTest
 (param $t (ref null $intersectiontype.IntersectionTypeTest.A))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:114:45
 (block
 )
)

;;; void IntersectionTypeTest.testMethodCall()
(func $m_testMethodCall__void@intersectiontype.IntersectionTypeTest
 (type $function.m_testMethodCall__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:116:14
 (local $o (ref null $java.lang.Object))
 (local $g (ref null $java.lang.Object))
 (local $this (ref null $intersectiontype.IntersectionTypeTest))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:117:4
  (local.set $o (call $m_m__intersectiontype_IntersectionTypeTest_A@intersectiontype.IntersectionTypeTest ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:118:4
  (call $m_set__intersectiontype_IntersectionTypeTest_A__void@intersectiontype.IntersectionTypeTest (ref.cast (ref null $intersectiontype.IntersectionTypeTest.A) (local.get $o)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:119:4
  (call $m_set__intersectiontype_IntersectionTypeTest_A__void@intersectiontype.IntersectionTypeTest (call $m_m__intersectiontype_IntersectionTypeTest_A@intersectiontype.IntersectionTypeTest ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:120:4
  (local.set $g (call $m_n__intersectiontype_Getable@intersectiontype.IntersectionTypeTest ))
 )
)
(elem declare func $m_testMethodCall__void@intersectiontype.IntersectionTypeTest)

;;; void IntersectionTypeTest.testDefaultMethodCall(Object o)
(func $m_testDefaultMethodCall__java_lang_Object__void@intersectiontype.IntersectionTypeTest
 (type $function.m_testDefaultMethodCall__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $o (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:123:14
 (local $$qualifier (ref null $java.lang.Object))
 (local $$qualifier_1 (ref null $intersectiontype.CmpImpl))
 (local $this (ref null $intersectiontype.IntersectionTypeTest))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest) (local.get $this.untyped)))
 (block
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:124:4
   (local.set $$qualifier (local.get $o))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:124:4
   (drop (call_ref $function.m_defaultM__int (ref.as_non_null (local.get $$qualifier))(struct.get $intersectiontype.Cmp.vtable $m_defaultM__int (ref.cast (ref $intersectiontype.Cmp.vtable) (call $get.itable.$intersectiontype.Cmp (local.get $$qualifier))))))
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:125:4
   (local.set $$qualifier_1 (ref.cast (ref null $intersectiontype.CmpImpl) (local.get $o)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:125:4
   (drop (call_ref $function.m_defaultM__int (ref.as_non_null (local.get $$qualifier_1))(struct.get $intersectiontype.CmpImpl.vtable $m_defaultM__int (struct.get $intersectiontype.CmpImpl $vtable(local.get $$qualifier_1)))))
  )
 )
)
(elem declare func $m_testDefaultMethodCall__java_lang_Object__void@intersectiontype.IntersectionTypeTest)

;;; void IntersectionTypeTest.callOnIntersetionTypes(T t)
(func $m_callOnIntersetionTypes__intersectiontype_IntersectionTypeTest_SomeConcreteType__void@intersectiontype.IntersectionTypeTest
 (param $t (ref null $intersectiontype.IntersectionTypeTest.SomeConcreteType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:130:57
 (local $$qualifier (ref null $java.lang.Object))
 (local $$qualifier_1 (ref null $java.lang.Object))
 (block
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:131:4
   (local.set $$qualifier (local.get $t))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:131:4
   (drop (call_ref $function.m_cmp__int (ref.as_non_null (local.get $$qualifier))(struct.get $intersectiontype.Cmp.vtable $m_cmp__int (ref.cast (ref $intersectiontype.Cmp.vtable) (call $get.itable.$intersectiontype.Cmp (local.get $$qualifier))))))
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:132:4
   (local.set $$qualifier_1 (ref.cast (ref null $intersectiontype.IntersectionTypeTest.SomeConcreteType) (ref.null $java.lang.Object)))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:132:4
   (drop (call_ref $function.m_cmp__int (ref.as_non_null (local.get $$qualifier_1))(struct.get $intersectiontype.Cmp.vtable $m_cmp__int (ref.cast (ref $intersectiontype.Cmp.vtable) (call $get.itable.$intersectiontype.Cmp (local.get $$qualifier_1))))))
  )
 )
)

;;; void IntersectionTypeTest.callOnIntersectionTypeWithParameterizedType(T t)
(func $m_callOnIntersectionTypeWithParameterizedType__intersectiontype_IntersectionTypeTest_GenericType__void@intersectiontype.IntersectionTypeTest
 (param $t (ref null $intersectiontype.IntersectionTypeTest.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:140:11
 (local $$qualifier (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:141:4
  (call_ref $function.m_doSomething__java_lang_Object__void_$pp_intersectiontype (ref.as_non_null (local.get $t))(call $$getString_||__java_lang_String_<once>_@intersectiontype.IntersectionTypeTest )(struct.get $intersectiontype.IntersectionTypeTest.GenericType.vtable $m_doSomething__java_lang_Object__void_$pp_intersectiontype (struct.get $intersectiontype.IntersectionTypeTest.GenericType $vtable(local.get $t))))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:142:4
   (local.set $$qualifier (local.get $t))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:142:4
   (drop (call_ref $function.m_get__java_lang_Object (ref.as_non_null (local.get $$qualifier))(struct.get $intersectiontype.Getable.vtable $m_get__java_lang_Object (ref.cast (ref $intersectiontype.Getable.vtable) (call $get.itable.$intersectiontype.Getable (local.get $$qualifier))))))
  )
 )
)

;;; void IntersectionTypeTest.callOnIntersectionTypeWithRawType()
(func $m_callOnIntersectionTypeWithRawType__void@intersectiontype.IntersectionTypeTest
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:145:22
 (local $t (ref null $intersectiontype.IntersectionTypeTest.GenericType))
 (local $$qualifier (ref null $java.lang.Object))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:146:4
  (local.set $t (ref.cast (ref null $intersectiontype.IntersectionTypeTest.GenericType) (call $$create__@intersectiontype.IntersectionTypeTest.GenericType )))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:147:4
  (call_ref $function.m_doSomething__java_lang_Object__void_$pp_intersectiontype (ref.as_non_null (local.get $t))(call $$getString_||__java_lang_String_<once>_@intersectiontype.IntersectionTypeTest )(struct.get $intersectiontype.IntersectionTypeTest.GenericType.vtable $m_doSomething__java_lang_Object__void_$pp_intersectiontype (struct.get $intersectiontype.IntersectionTypeTest.GenericType $vtable(local.get $t))))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:148:4
   (local.set $$qualifier (local.get $t))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:148:4
   (drop (call_ref $function.m_get__java_lang_Object (ref.as_non_null (local.get $$qualifier))(struct.get $intersectiontype.Getable.vtable $m_get__java_lang_Object (ref.cast (ref $intersectiontype.Getable.vtable) (call $get.itable.$intersectiontype.Getable (local.get $$qualifier))))))
  )
 )
)

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

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

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

;;; Code for intersectiontype.Getable.$LambdaAdaptor [methods]

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

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

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

;;; Code for intersectiontype.Setable.$LambdaAdaptor [methods]

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

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

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

;;; Code for intersectiontype.Cmp.$LambdaAdaptor [methods]

;;; void $LambdaAdaptor.$ctor()
(func $$ctor__void_$p_intersectiontype_Cmp_$LambdaAdaptor@intersectiontype.Cmp.$LambdaAdaptor
 (param $this (ref null $intersectiontype.Cmp.$LambdaAdaptor))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:28:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:28:10
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; int $LambdaAdaptor.defaultM()
(func $m_defaultM__int@intersectiontype.Cmp.$LambdaAdaptor
 (type $function.m_defaultM__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:28:10
 (local $this (ref null $intersectiontype.Cmp.$LambdaAdaptor))
 (local.set $this (ref.cast (ref $intersectiontype.Cmp.$LambdaAdaptor) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:28:10
  (return (call $m_defaultM__int@intersectiontype.Cmp (ref.as_non_null (local.get $this))))
 )
)
(elem declare func $m_defaultM__int@intersectiontype.Cmp.$LambdaAdaptor)

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

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

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

;;; Code for intersectiontype.Cmp2.$LambdaAdaptor [methods]

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest.MapEntry [methods]

;;; MapEntry<U> MapEntry.$create(IntersectionTypeTest<U> $outer_this)
(func $$create__intersectiontype_IntersectionTypeTest@intersectiontype.IntersectionTypeTest.MapEntry
 (param $$outer_this (ref null $intersectiontype.IntersectionTypeTest))
 (result (ref null $intersectiontype.IntersectionTypeTest.MapEntry))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
 (local $$instance (ref null $intersectiontype.IntersectionTypeTest.MapEntry))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest.MapEntry )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (local.set $$instance (struct.new $intersectiontype.IntersectionTypeTest.MapEntry (global.get $intersectiontype.IntersectionTypeTest.MapEntry.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $intersectiontype.IntersectionTypeTest)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (call $$ctor__intersectiontype_IntersectionTypeTest__void_$p_intersectiontype_IntersectionTypeTest_MapEntry@intersectiontype.IntersectionTypeTest.MapEntry (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (return (local.get $$instance))
 )
)

;;; void MapEntry.$ctor(IntersectionTypeTest<U> $outer_this)
(func $$ctor__intersectiontype_IntersectionTypeTest__void_$p_intersectiontype_IntersectionTypeTest_MapEntry@intersectiontype.IntersectionTypeTest.MapEntry
 (param $this (ref null $intersectiontype.IntersectionTypeTest.MapEntry))
 (param $$outer_this (ref null $intersectiontype.IntersectionTypeTest))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (struct.set $intersectiontype.IntersectionTypeTest.MapEntry $$outer_this@intersectiontype.IntersectionTypeTest.MapEntry (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:54:8
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; Getable<T> MapEntry.method(Object o)
(func $m_method__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest.MapEntry
 (type $function.m_method__java_lang_Object__intersectiontype_Getable)
 (param $this.untyped (ref $java.lang.Object))
 (param $o (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:55:26
 (local $this (ref null $intersectiontype.IntersectionTypeTest.MapEntry))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest.MapEntry) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:56:6
  (return (local.get $o))
 )
)
(elem declare func $m_method__java_lang_Object__intersectiontype_Getable@intersectiontype.IntersectionTypeTest.MapEntry)

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest.A [methods]

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

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

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest.SomeConcreteType [methods]

;;; SomeConcreteType SomeConcreteType.$create()
(func $$create__@intersectiontype.IntersectionTypeTest.SomeConcreteType
 (result (ref null $intersectiontype.IntersectionTypeTest.SomeConcreteType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
 (local $$instance (ref null $intersectiontype.IntersectionTypeTest.SomeConcreteType))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
  (local.set $$instance (struct.new $intersectiontype.IntersectionTypeTest.SomeConcreteType (global.get $intersectiontype.IntersectionTypeTest.SomeConcreteType.vtable) (global.get $itable.empty) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
  (call $$ctor__void_$p_intersectiontype_IntersectionTypeTest_SomeConcreteType@intersectiontype.IntersectionTypeTest.SomeConcreteType (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
  (return (local.get $$instance))
 )
)

;;; void SomeConcreteType.$ctor()
(func $$ctor__void_$p_intersectiontype_IntersectionTypeTest_SomeConcreteType@intersectiontype.IntersectionTypeTest.SomeConcreteType
 (param $this (ref null $intersectiontype.IntersectionTypeTest.SomeConcreteType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:128:23
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest.GenericType [methods]

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

;;; void GenericType.$ctor()
(func $$ctor__void_$p_intersectiontype_IntersectionTypeTest_GenericType@intersectiontype.IntersectionTypeTest.GenericType
 (param $this (ref null $intersectiontype.IntersectionTypeTest.GenericType))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:135:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:135:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void GenericType.doSomething(T t)
(func $m_doSomething__java_lang_Object__void_$pp_intersectiontype@intersectiontype.IntersectionTypeTest.GenericType
 (type $function.m_doSomething__java_lang_Object__void_$pp_intersectiontype)
 (param $this.untyped (ref $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:136:9
 (local $this (ref null $intersectiontype.IntersectionTypeTest.GenericType))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest.GenericType) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_doSomething__java_lang_Object__void_$pp_intersectiontype@intersectiontype.IntersectionTypeTest.GenericType)

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

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

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

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$1 [methods]

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

;;; void <anonymous> implements Cmp.$ctor()
(func $$ctor__void_$p_intersectiontype_IntersectionTypeTest_$LambdaImplementor$1@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1
 (param $this (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:82:26
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:82:26
  (call $$ctor__void_$p_intersectiontype_Cmp_$LambdaAdaptor@intersectiontype.Cmp.$LambdaAdaptor (ref.as_non_null (local.get $this)))
 )
)

;;; int <anonymous> implements Cmp.cmp()
(func $m_cmp__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1
 (type $function.m_cmp__int)
 (param $this.untyped (ref $java.lang.Object))
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:82:26
 (local $this (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:82:32
  (return (i32.const 1))
 )
)
(elem declare func $m_cmp__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$1)

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

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

;;; Code for intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 [methods]

;;; <anonymous> implements Cmp2 <anonymous> implements Cmp2.$create()
(func $$create__@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2
 (result (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
 (local $$instance (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (call $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (local.set $$instance (struct.new $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (global.get $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.vtable) (global.get $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (call $$ctor__void_$p_intersectiontype_IntersectionTypeTest_$LambdaImplementor$2@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (return (local.get $$instance))
 )
)

;;; void <anonymous> implements Cmp2.$ctor()
(func $$ctor__void_$p_intersectiontype_IntersectionTypeTest_$LambdaImplementor$2@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2
 (param $this (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (call $$ctor__void_$p_intersectiontype_Cmp2_$LambdaAdaptor@intersectiontype.Cmp2.$LambdaAdaptor (ref.as_non_null (local.get $this)))
 )
)

;;; int <anonymous> implements Cmp2.cmp(int a)
(func $m_cmp__int__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2
 (type $function.m_cmp__int__int)
 (param $this.untyped (ref $java.lang.Object))
 (param $a i32)
 (result i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
 (local $this (ref null $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2))
 (local.set $this (ref.cast (ref $intersectiontype.IntersectionTypeTest.$LambdaImplementor$2) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:34
  (return (i32.const 1))
 )
)
(elem declare func $m_cmp__int__int@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2)

;;; void <anonymous> implements Cmp2.$clinit()
(func $$clinit__void_<once>_@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (if (global.get $$class-initialized@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (global.set $$class-initialized@intersectiontype.IntersectionTypeTest.$LambdaImplementor$2 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/intersectiontype/readable-j2wasm.js/intersectiontype/IntersectionTypeTest.java:87:27
  (call $$clinit__void_<once>_@intersectiontype.Cmp2.$LambdaAdaptor )
 )
)

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