;;; Code for trycatch.TryCatch.GenericInterface [type definition]
(type $trycatch.TryCatch.GenericInterface.vtable (sub (struct
 (field $m_f__java_lang_Object__void (ref $function.m_f__java_lang_Object__void))
 ))
)

;;; Code for trycatch.TryCatch [type definition]
(type $trycatch.TryCatch.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_testEmptyThrowableCatch__void (ref $function.m_testEmptyThrowableCatch__void))
 (field $m_testEmptyThrowableRethrow__void (ref $function.m_testEmptyThrowableRethrow__void))
 (field $m_testFinally__void (ref $function.m_testFinally__void))
 (field $m_testMultiCatchParameterizedException__void (ref $function.m_testMultiCatchParameterizedException__void))
 (field $m_testMultiCatch__void (ref $function.m_testMultiCatch__void))
 (field $m_testNestedTryCatch__void (ref $function.m_testNestedTryCatch__void))
 (field $m_testThrowBoundGenerics__void (ref $function.m_testThrowBoundGenerics__void))
 (field $m_testThrowGenerics__void (ref $function.m_testThrowGenerics__void))
 (field $m_testThrowsParameterized__java_lang_Throwable__void (ref $function.m_testThrowsParameterized__java_lang_Throwable__void))
 (field $m_testTryWithResouceOnStaticField__void (ref $function.m_testTryWithResouceOnStaticField__void))
 (field $m_testTryWithResourceJava9__void (ref $function.m_testTryWithResourceJava9__void))
 (field $m_testTryWithResource__void (ref $function.m_testTryWithResource__void))
 ))
)
(type $trycatch.TryCatch (sub $java.lang.Object (struct
 (field $vtable (ref $trycatch.TryCatch.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 ))
)

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

;;; Code for trycatch.TryCatch.Exception1 [type definition]
(type $trycatch.TryCatch.Exception1.vtable (sub $java.lang.RuntimeException.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_fillInStackTrace__java_lang_Throwable (ref $function.m_fillInStackTrace__java_lang_Throwable))
 (field $m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject (ref $function.m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject))
 (field $m_getCause__java_lang_Throwable (ref $function.m_getCause__java_lang_Throwable))
 (field $m_getLocalizedMessage__java_lang_String (ref $function.m_getLocalizedMessage__java_lang_String))
 (field $m_getMessage__java_lang_String (ref $function.m_getMessage__java_lang_String))
 (field $m_getStackTrace__arrayOf_java_lang_StackTraceElement (ref $function.m_getStackTrace__arrayOf_java_lang_StackTraceElement))
 (field $m_initCause__java_lang_Throwable__java_lang_Throwable (ref $function.m_initCause__java_lang_Throwable__java_lang_Throwable))
 (field $m_printStackTrace__java_io_PrintStream__void (ref $function.m_printStackTrace__java_io_PrintStream__void))
 (field $m_printStackTrace__void (ref $function.m_printStackTrace__void))
 (field $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (ref $function.m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang))
 (field $m_setStackTrace__arrayOf_java_lang_StackTraceElement__void (ref $function.m_setStackTrace__arrayOf_java_lang_StackTraceElement__void))
 (field $m_f__java_lang_Object__void (ref $function.m_f__java_lang_Object__void))
 (field $m_f__java_lang_String__void (ref $function.m_f__java_lang_String__void))
 ))
)
(type $trycatch.TryCatch.Exception1 (sub $java.lang.RuntimeException (struct
 (field $vtable (ref $trycatch.TryCatch.Exception1.vtable))
 (field $itable (ref $trycatch.TryCatch.Exception1.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $backingJsObject@java.lang.Throwable (mut (ref null extern)))
 (field $cause@java.lang.Throwable (mut (ref null $java.lang.Throwable)))
 (field $detailMessage@java.lang.Throwable (mut (ref null $java.lang.String)))
 (field $disableStackTrace@java.lang.Throwable (mut i8))
 (field $disableSuppression@java.lang.Throwable (mut i8))
 (field $stackTrace@java.lang.Throwable (mut (ref null $javaemul.internal.WasmArray.OfObject)))
 (field $suppressedExceptions@java.lang.Throwable (mut (ref null $java.util.ArrayList)))
 (field $$outer_this@trycatch.TryCatch.Exception1 (mut (ref null $trycatch.TryCatch)))
 ))
)

;;; Code for trycatch.TryCatch.Exception2 [type definition]
(type $trycatch.TryCatch.Exception2.vtable (sub $java.lang.RuntimeException.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_fillInStackTrace__java_lang_Throwable (ref $function.m_fillInStackTrace__java_lang_Throwable))
 (field $m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject (ref $function.m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject))
 (field $m_getCause__java_lang_Throwable (ref $function.m_getCause__java_lang_Throwable))
 (field $m_getLocalizedMessage__java_lang_String (ref $function.m_getLocalizedMessage__java_lang_String))
 (field $m_getMessage__java_lang_String (ref $function.m_getMessage__java_lang_String))
 (field $m_getStackTrace__arrayOf_java_lang_StackTraceElement (ref $function.m_getStackTrace__arrayOf_java_lang_StackTraceElement))
 (field $m_initCause__java_lang_Throwable__java_lang_Throwable (ref $function.m_initCause__java_lang_Throwable__java_lang_Throwable))
 (field $m_printStackTrace__java_io_PrintStream__void (ref $function.m_printStackTrace__java_io_PrintStream__void))
 (field $m_printStackTrace__void (ref $function.m_printStackTrace__void))
 (field $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (ref $function.m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang))
 (field $m_setStackTrace__arrayOf_java_lang_StackTraceElement__void (ref $function.m_setStackTrace__arrayOf_java_lang_StackTraceElement__void))
 (field $m_f__java_lang_Object__void (ref $function.m_f__java_lang_Object__void))
 (field $m_f__java_lang_String__void (ref $function.m_f__java_lang_String__void))
 ))
)
(type $trycatch.TryCatch.Exception2 (sub $java.lang.RuntimeException (struct
 (field $vtable (ref $trycatch.TryCatch.Exception2.vtable))
 (field $itable (ref $trycatch.TryCatch.Exception2.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $backingJsObject@java.lang.Throwable (mut (ref null extern)))
 (field $cause@java.lang.Throwable (mut (ref null $java.lang.Throwable)))
 (field $detailMessage@java.lang.Throwable (mut (ref null $java.lang.String)))
 (field $disableStackTrace@java.lang.Throwable (mut i8))
 (field $disableSuppression@java.lang.Throwable (mut i8))
 (field $stackTrace@java.lang.Throwable (mut (ref null $javaemul.internal.WasmArray.OfObject)))
 (field $suppressedExceptions@java.lang.Throwable (mut (ref null $java.util.ArrayList)))
 (field $$outer_this@trycatch.TryCatch.Exception2 (mut (ref null $trycatch.TryCatch)))
 ))
)

;;; Code for trycatch.TryCatch.GenericInterface [imports]

;;; Code for trycatch.TryCatch [imports]

;;; Code for trycatch.TryCatch.ClosableThing [imports]

;;; Code for trycatch.TryCatch.Exception1 [imports]

;;; Code for trycatch.TryCatch.Exception2 [imports]

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

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

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

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

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

;;; Code for trycatch.TryCatch [vtable.init]
(global $trycatch.TryCatch.vtable (ref $trycatch.TryCatch.vtable)
 (struct.new $trycatch.TryCatch.vtable
  (ref.func $$getClassImpl__java_lang_Class@trycatch.TryCatch)
  (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_testEmptyThrowableCatch__void@trycatch.TryCatch)
  (ref.func $m_testEmptyThrowableRethrow__void@trycatch.TryCatch)
  (ref.func $m_testFinally__void@trycatch.TryCatch)
  (ref.func $m_testMultiCatchParameterizedException__void@trycatch.TryCatch)
  (ref.func $m_testMultiCatch__void@trycatch.TryCatch)
  (ref.func $m_testNestedTryCatch__void@trycatch.TryCatch)
  (ref.func $m_testThrowBoundGenerics__void@trycatch.TryCatch)
  (ref.func $m_testThrowGenerics__void@trycatch.TryCatch)
  (ref.func $m_testThrowsParameterized__java_lang_Throwable__void@trycatch.TryCatch)
  (ref.func $m_testTryWithResouceOnStaticField__void@trycatch.TryCatch)
  (ref.func $m_testTryWithResourceJava9__void@trycatch.TryCatch)
  (ref.func $m_testTryWithResource__void@trycatch.TryCatch)
 )
)

;;; Code for trycatch.TryCatch.ClosableThing [vtable.init]
(global $trycatch.TryCatch.ClosableThing.vtable (ref $trycatch.TryCatch.ClosableThing.vtable)
 (struct.new $trycatch.TryCatch.ClosableThing.vtable
  (ref.func $$getClassImpl__java_lang_Class@trycatch.TryCatch.ClosableThing)
  (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_close__void@trycatch.TryCatch.ClosableThing)
 )
)
(global $java.lang.AutoCloseable.vtable@$trycatch.TryCatch.ClosableThing (ref $java.lang.AutoCloseable.vtable)
 (struct.new $java.lang.AutoCloseable.vtable
  (ref.func $m_close__void@trycatch.TryCatch.ClosableThing)
 )
)

;;; Code for trycatch.TryCatch.Exception1 [vtable.init]
(global $trycatch.TryCatch.Exception1.vtable (ref $trycatch.TryCatch.Exception1.vtable)
 (struct.new $trycatch.TryCatch.Exception1.vtable
  (ref.func $$getClassImpl__java_lang_Class@trycatch.TryCatch.Exception1)
  (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.Throwable)
  (ref.func $m_fillInStackTrace__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject@java.lang.Throwable)
  (ref.func $m_getCause__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_getLocalizedMessage__java_lang_String@java.lang.Throwable)
  (ref.func $m_getMessage__java_lang_String@java.lang.Throwable)
  (ref.func $m_getStackTrace__arrayOf_java_lang_StackTraceElement@java.lang.Throwable)
  (ref.func $m_initCause__java_lang_Throwable__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_printStackTrace__java_io_PrintStream__void@java.lang.Throwable)
  (ref.func $m_printStackTrace__void@java.lang.Throwable)
  (ref.func $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang@java.lang.Throwable)
  (ref.func $m_setStackTrace__arrayOf_java_lang_StackTraceElement__void@java.lang.Throwable)
  (ref.func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception1)
  (ref.func $m_f__java_lang_String__void@trycatch.TryCatch.Exception1)
 )
)
(global $trycatch.TryCatch.GenericInterface.vtable@$trycatch.TryCatch.Exception1 (ref $trycatch.TryCatch.GenericInterface.vtable)
 (struct.new $trycatch.TryCatch.GenericInterface.vtable
  (ref.func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception1)
 )
)
(global $java.io.Serializable.vtable@$trycatch.TryCatch.Exception1 (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

;;; Code for trycatch.TryCatch.Exception2 [vtable.init]
(global $trycatch.TryCatch.Exception2.vtable (ref $trycatch.TryCatch.Exception2.vtable)
 (struct.new $trycatch.TryCatch.Exception2.vtable
  (ref.func $$getClassImpl__java_lang_Class@trycatch.TryCatch.Exception2)
  (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.Throwable)
  (ref.func $m_fillInStackTrace__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_getBackingJsObject__javaemul_internal_ThrowableUtils_JsObject@java.lang.Throwable)
  (ref.func $m_getCause__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_getLocalizedMessage__java_lang_String@java.lang.Throwable)
  (ref.func $m_getMessage__java_lang_String@java.lang.Throwable)
  (ref.func $m_getStackTrace__arrayOf_java_lang_StackTraceElement@java.lang.Throwable)
  (ref.func $m_initCause__java_lang_Throwable__java_lang_Throwable@java.lang.Throwable)
  (ref.func $m_printStackTrace__java_io_PrintStream__void@java.lang.Throwable)
  (ref.func $m_printStackTrace__void@java.lang.Throwable)
  (ref.func $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang@java.lang.Throwable)
  (ref.func $m_setStackTrace__arrayOf_java_lang_StackTraceElement__void@java.lang.Throwable)
  (ref.func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception2)
  (ref.func $m_f__java_lang_String__void@trycatch.TryCatch.Exception2)
 )
)
(global $trycatch.TryCatch.GenericInterface.vtable@$trycatch.TryCatch.Exception2 (ref $trycatch.TryCatch.GenericInterface.vtable)
 (struct.new $trycatch.TryCatch.GenericInterface.vtable
  (ref.func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception2)
 )
)
(global $java.io.Serializable.vtable@$trycatch.TryCatch.Exception2 (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

;;; Code for trycatch.TryCatch.GenericInterface [methods]

;;; void GenericInterface.f(T t)
(func $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface
 (param $this (ref null $java.lang.Object))
 (param $t (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:128:17
 (block
 )
)
(elem declare func $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface)

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

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

;;; Code for trycatch.TryCatch [methods]

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

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

;;; void TryCatch.testMultiCatch()
(func $m_testMultiCatch__void@trycatch.TryCatch
 (type $function.m_testMultiCatch__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:20:14
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $e (ref null $java.lang.RuntimeException))
 (local $r (ref null $java.lang.RuntimeException))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:21:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:22:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.ClassCastException )))
   )
  ) (catch $exception.event
   (local.set $__$jsexc (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:23:58
    (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:23:58
    (if (if (result i32) (ref.test (ref $java.lang.NullPointerException) (local.get $__$exc)) (then (i32.const 1)) (else (ref.test (ref $java.lang.ClassCastException) (local.get $__$exc))))
     (then
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:23:58
       (local.set $e (ref.cast (ref null $java.lang.RuntimeException) (local.get $__$exc)))
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:24:6
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $e)))
      )
     )(else
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:25:33
      (if (ref.test (ref $java.lang.RuntimeException) (local.get $__$exc))
       (then
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:25:33
         (local.set $r (ref.cast (ref null $java.lang.RuntimeException) (local.get $__$exc)))
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:26:6
         (local.set $r (ref.null $java.lang.RuntimeException))
        )
       )(else
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:23:58
         (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc)))
        )
       )
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testMultiCatch__void@trycatch.TryCatch)

;;; void TryCatch.testEmptyThrowableCatch()
(func $m_testEmptyThrowableCatch__void@trycatch.TryCatch
 (type $function.m_testEmptyThrowableCatch__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:30:14
 (local $__$jsexc (ref null extern))
 (local $__$jsexc_1 (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:31:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:32:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.ClassCastException )))
   )
  ) (catch $exception.event
   (local.set $__$jsexc (pop externref))
   (block
   )
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:37:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:38:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.ClassCastException )))
   )
  ) (catch $exception.event
   (local.set $__$jsexc_1 (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:39:26
    (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_1)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:39:26
    (if (ref.test (ref $java.lang.Exception) (local.get $__$exc))
     (then
      (block
      )
     )(else
      (block
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testEmptyThrowableCatch__void@trycatch.TryCatch)

;;; void TryCatch.testEmptyThrowableRethrow()
(func $m_testEmptyThrowableRethrow__void@trycatch.TryCatch
 (type $function.m_testEmptyThrowableRethrow__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:46:14
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $e (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:47:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:48:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.ClassCastException )))
   )
  ) (catch $exception.event
   (local.set $__$jsexc (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:49:26
    (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:49:26
     (local.set $e (ref.cast (ref null $java.lang.Throwable) (local.get $__$exc)))
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:50:6
     (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $e)))
    )
   )
  ))
 )
)
(elem declare func $m_testEmptyThrowableRethrow__void@trycatch.TryCatch)

;;; void TryCatch.testFinally()
(func $m_testFinally__void@trycatch.TryCatch
 (type $function.m_testFinally__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:54:14
 (local $exitSelector.0 i32)
 (local $savedThrown.0 (ref null $java.lang.Throwable))
 (local $__$jsexc (ref null extern))
 (local $t (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
   
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
   (block $FINALLY.0.BREAK
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
    (try (do
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
      
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:56:6
       (if (call $m_areWasmAssertionsEnabled__boolean@javaemul.internal.Asserts )
        (then
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:56:6
         (call $$assert__boolean__void@javaemul.internal.Asserts (i32.const 1))
        )
       )
      )
     )
    ) (catch $exception.event
     (local.set $__$jsexc (pop externref))
     (block
      (local.set $t (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
      (local.set $savedThrown.0 (local.get $t))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
      (local.set $exitSelector.0 (i32.const 1))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
      (br $FINALLY.0.BREAK)
     )
    ))
   )
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
   (if (i32.eqz (ref.is_null (local.get $savedThrown.0)))
    (then
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:55:4
     (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $savedThrown.0)))
    )
   )
  )
 )
)
(elem declare func $m_testFinally__void@trycatch.TryCatch)

;;; void TryCatch.testTryWithResource()
(func $m_testTryWithResource__void@trycatch.TryCatch
 (type $function.m_testTryWithResource__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:66:14
 (local $$primaryExc (ref null $java.lang.Throwable))
 (local $thing (ref null $trycatch.TryCatch.ClosableThing))
 (local $thing2 (ref null $trycatch.TryCatch.ClosableThing))
 (local $exitSelector.0 i32)
 (local $savedThrown.0 (ref null $java.lang.Throwable))
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $$exceptionFromTry (ref null $java.lang.Throwable))
 (local $__$jsexc_1 (ref null extern))
 (local $t (ref null $java.lang.Throwable))
 (local $__$jsexc_2 (ref null extern))
 (local $__$exc_1 (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
    (local.set $$primaryExc (ref.null $java.lang.Throwable))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
    (local.set $thing (ref.null $trycatch.TryCatch.ClosableThing))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
    (local.set $thing2 (ref.null $trycatch.TryCatch.ClosableThing))
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
     
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
     (block $FINALLY.0.BREAK
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
      (try (do
       (block
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
        (try (do
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
          (local.set $thing (call $$create__@trycatch.TryCatch.ClosableThing ))
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
          (local.set $thing2 (call $$create__@trycatch.TryCatch.ClosableThing ))
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:69:6
          (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.Exception )))
         )
        ) (catch $exception.event
         (local.set $__$jsexc (pop externref))
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
          (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
          (block
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
           (local.set $$exceptionFromTry (ref.cast (ref null $java.lang.Throwable) (local.get $__$exc)))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
           (local.set $$primaryExc (local.get $$exceptionFromTry))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
           (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$exceptionFromTry)))
          )
         )
        ))
       )
      ) (catch $exception.event
       (local.set $__$jsexc_1 (pop externref))
       (block
        (local.set $t (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_1)))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
        (local.set $savedThrown.0 (local.get $t))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
        (local.set $exitSelector.0 (i32.const 1))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
        (br $FINALLY.0.BREAK)
       )
      ))
     )
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
      (local.set $$primaryExc (call $m_safeClose__java_lang_AutoCloseable__java_lang_Throwable__java_lang_Throwable@javaemul.internal.Exceptions (local.get $thing2)(local.get $$primaryExc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
      (local.set $$primaryExc (call $m_safeClose__java_lang_AutoCloseable__java_lang_Throwable__java_lang_Throwable@javaemul.internal.Exceptions (local.get $thing)(local.get $$primaryExc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
      (if (i32.eqz (ref.is_null (local.get $$primaryExc)))
       (then
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
        (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$primaryExc)))
       )
      )
     )
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
     (if (i32.eqz (ref.is_null (local.get $savedThrown.0)))
      (then
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:67:4
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $savedThrown.0)))
      )
     )
    )
   )
  ) (catch $exception.event
   (local.set $__$jsexc_2 (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:70:26
    (local.set $__$exc_1 (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_2)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:70:26
    (if (ref.test (ref $java.lang.Exception) (local.get $__$exc_1))
     (then
      (block
      )
     )(else
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:70:26
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc_1)))
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testTryWithResource__void@trycatch.TryCatch)

;;; void TryCatch.testTryWithResourceJava9()
(func $m_testTryWithResourceJava9__void@trycatch.TryCatch
 (type $function.m_testTryWithResourceJava9__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:75:14
 (local $thing (ref null $trycatch.TryCatch.ClosableThing))
 (local $thing2 (ref null $trycatch.TryCatch.ClosableThing))
 (local $$primaryExc (ref null $java.lang.Throwable))
 (local $$resource (ref null $trycatch.TryCatch.ClosableThing))
 (local $$resource_1 (ref null $trycatch.TryCatch.ClosableThing))
 (local $exitSelector.0 i32)
 (local $savedThrown.0 (ref null $java.lang.Throwable))
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $$exceptionFromTry (ref null $java.lang.Throwable))
 (local $__$jsexc_1 (ref null extern))
 (local $t (ref null $java.lang.Throwable))
 (local $__$jsexc_2 (ref null extern))
 (local $__$exc_1 (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:76:4
  (local.set $thing (call $$create__@trycatch.TryCatch.ClosableThing ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:77:4
  (local.set $thing2 (call $$create__@trycatch.TryCatch.ClosableThing ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
    (local.set $$primaryExc (ref.null $java.lang.Throwable))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
    (local.set $$resource (ref.null $trycatch.TryCatch.ClosableThing))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
    (local.set $$resource_1 (ref.null $trycatch.TryCatch.ClosableThing))
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
     
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
     (block $FINALLY.0.BREAK
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
      (try (do
       (block
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
        (try (do
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
          (local.set $$resource (local.get $thing))
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
          (local.set $$resource_1 (local.get $thing2))
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:79:6
          (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.Exception )))
         )
        ) (catch $exception.event
         (local.set $__$jsexc (pop externref))
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
          (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
          (block
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
           (local.set $$exceptionFromTry (ref.cast (ref null $java.lang.Throwable) (local.get $__$exc)))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
           (local.set $$primaryExc (local.get $$exceptionFromTry))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
           (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$exceptionFromTry)))
          )
         )
        ))
       )
      ) (catch $exception.event
       (local.set $__$jsexc_1 (pop externref))
       (block
        (local.set $t (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_1)))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
        (local.set $savedThrown.0 (local.get $t))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
        (local.set $exitSelector.0 (i32.const 1))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
        (br $FINALLY.0.BREAK)
       )
      ))
     )
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
      (local.set $$primaryExc (call $m_safeClose__java_lang_AutoCloseable__java_lang_Throwable__java_lang_Throwable@javaemul.internal.Exceptions (local.get $$resource_1)(local.get $$primaryExc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
      (local.set $$primaryExc (call $m_safeClose__java_lang_AutoCloseable__java_lang_Throwable__java_lang_Throwable@javaemul.internal.Exceptions (local.get $$resource)(local.get $$primaryExc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
      (if (i32.eqz (ref.is_null (local.get $$primaryExc)))
       (then
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
        (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$primaryExc)))
       )
      )
     )
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
     (if (i32.eqz (ref.is_null (local.get $savedThrown.0)))
      (then
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:78:4
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $savedThrown.0)))
      )
     )
    )
   )
  ) (catch $exception.event
   (local.set $__$jsexc_2 (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:80:26
    (local.set $__$exc_1 (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_2)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:80:26
    (if (ref.test (ref $java.lang.Exception) (local.get $__$exc_1))
     (then
      (block
      )
     )(else
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:80:26
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc_1)))
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testTryWithResourceJava9__void@trycatch.TryCatch)

;;; void TryCatch.testTryWithResouceOnStaticField()
(func $m_testTryWithResouceOnStaticField__void@trycatch.TryCatch
 (type $function.m_testTryWithResouceOnStaticField__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:87:14
 (local $$primaryExc (ref null $java.lang.Throwable))
 (local $$resource (ref null $trycatch.TryCatch.ClosableThing))
 (local $exitSelector.0 i32)
 (local $savedThrown.0 (ref null $java.lang.Throwable))
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $$exceptionFromTry (ref null $java.lang.Throwable))
 (local $__$jsexc_1 (ref null extern))
 (local $t (ref null $java.lang.Throwable))
 (local $__$jsexc_2 (ref null extern))
 (local $__$exc_1 (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
    (local.set $$primaryExc (ref.null $java.lang.Throwable))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
    (local.set $$resource (ref.null $trycatch.TryCatch.ClosableThing))
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
     
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
     (block $FINALLY.0.BREAK
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
      (try (do
       (block
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
        (try (do
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
          (local.set $$resource (global.get $closableThing@trycatch.TryCatch))
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:89:6
          (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.Exception )))
         )
        ) (catch $exception.event
         (local.set $__$jsexc (pop externref))
         (block
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
          (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
          (block
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
           (local.set $$exceptionFromTry (ref.cast (ref null $java.lang.Throwable) (local.get $__$exc)))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
           (local.set $$primaryExc (local.get $$exceptionFromTry))
           ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
           (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$exceptionFromTry)))
          )
         )
        ))
       )
      ) (catch $exception.event
       (local.set $__$jsexc_1 (pop externref))
       (block
        (local.set $t (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_1)))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
        (local.set $savedThrown.0 (local.get $t))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
        (local.set $exitSelector.0 (i32.const 1))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
        (br $FINALLY.0.BREAK)
       )
      ))
     )
     (block
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
      (local.set $$primaryExc (call $m_safeClose__java_lang_AutoCloseable__java_lang_Throwable__java_lang_Throwable@javaemul.internal.Exceptions (local.get $$resource)(local.get $$primaryExc)))
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
      (if (i32.eqz (ref.is_null (local.get $$primaryExc)))
       (then
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
        (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $$primaryExc)))
       )
      )
     )
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
     (if (i32.eqz (ref.is_null (local.get $savedThrown.0)))
      (then
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:88:4
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $savedThrown.0)))
      )
     )
    )
   )
  ) (catch $exception.event
   (local.set $__$jsexc_2 (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:90:26
    (local.set $__$exc_1 (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_2)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:90:26
    (if (ref.test (ref $java.lang.Exception) (local.get $__$exc_1))
     (then
      (block
      )
     )(else
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:90:26
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc_1)))
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testTryWithResouceOnStaticField__void@trycatch.TryCatch)

;;; void TryCatch.testNestedTryCatch()
(func $m_testNestedTryCatch__void@trycatch.TryCatch
 (type $function.m_testNestedTryCatch__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:95:14
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $ae (ref null $java.lang.Exception))
 (local $__$jsexc_1 (ref null extern))
 (local $__$exc_1 (ref null $java.lang.Throwable))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:96:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:97:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.Exception )))
   )
  ) (catch $exception.event
   (local.set $__$jsexc (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:98:27
    (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:98:27
    (if (ref.test (ref $java.lang.Exception) (local.get $__$exc))
     (then
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:98:27
       (local.set $ae (ref.cast (ref null $java.lang.Exception) (local.get $__$exc)))
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:99:6
       (try (do
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:100:8
         (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.Exception )))
        )
       ) (catch $exception.event
        (local.set $__$jsexc_1 (pop externref))
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:101:29
         (local.set $__$exc_1 (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc_1)))
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:101:29
         (if (ref.test (ref $java.lang.Exception) (local.get $__$exc_1))
          (then
           (block
           )
          )(else
           (block
            ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:101:29
            (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc_1)))
           )
          )
         )
        )
       ))
      )
     )(else
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:98:27
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc)))
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testNestedTryCatch__void@trycatch.TryCatch)

;;; void TryCatch.testThrowGenerics()
(func $m_testThrowGenerics__void@trycatch.TryCatch
 (type $function.m_testThrowGenerics__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:107:14
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:108:4
  (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (ref.cast (ref null $java.lang.Exception) (call $m_getT__java_lang_Object__java_lang_Object_$p_trycatch_TryCatch@trycatch.TryCatch (ref.as_non_null (local.get $this))(call $$create__@java.lang.Exception )))))
 )
)
(elem declare func $m_testThrowGenerics__void@trycatch.TryCatch)

;;; T TryCatch.getT(T t)
(func $m_getT__java_lang_Object__java_lang_Object_$p_trycatch_TryCatch@trycatch.TryCatch
 (param $this (ref null $trycatch.TryCatch))
 (param $t (ref null $java.lang.Object))
 (result (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:111:16
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:112:4
  (return (local.get $t))
 )
)

;;; void TryCatch.testThrowBoundGenerics()
(func $m_testThrowBoundGenerics__void@trycatch.TryCatch
 (type $function.m_testThrowBoundGenerics__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:115:14
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:116:4
  (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $m_getThrowable__java_lang_Throwable_$p_trycatch_TryCatch@trycatch.TryCatch (ref.as_non_null (local.get $this)))))
 )
)
(elem declare func $m_testThrowBoundGenerics__void@trycatch.TryCatch)

;;; T TryCatch.getThrowable()
(func $m_getThrowable__java_lang_Throwable_$p_trycatch_TryCatch@trycatch.TryCatch
 (param $this (ref null $trycatch.TryCatch))
 (result (ref null $java.lang.Throwable))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:119:34
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:120:4
  (return (ref.null $java.lang.Throwable))
 )
)

;;; void TryCatch.testThrowsParameterized(T throwable)
(func $m_testThrowsParameterized__java_lang_Throwable__void@trycatch.TryCatch
 (type $function.m_testThrowsParameterized__java_lang_Throwable__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $throwable (ref null $java.lang.Throwable))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:123:36
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:124:4
  (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $throwable)))
 )
)
(elem declare func $m_testThrowsParameterized__java_lang_Throwable__void@trycatch.TryCatch)

;;; void TryCatch.testMultiCatchParameterizedException()
(func $m_testMultiCatchParameterizedException__void@trycatch.TryCatch
 (type $function.m_testMultiCatchParameterizedException__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:135:14
 (local $__$jsexc (ref null extern))
 (local $__$exc (ref null $java.lang.Throwable))
 (local $e (ref null $java.lang.RuntimeException))
 (local $$qualifier (ref null $java.lang.Object))
 (local $this (ref null $trycatch.TryCatch))
 (local.set $this (ref.cast (ref $trycatch.TryCatch) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:136:4
  (try (do
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:137:6
    (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__trycatch_TryCatch@trycatch.TryCatch.Exception1 (local.get $this))))
   )
  ) (catch $exception.event
   (local.set $__$jsexc (pop externref))
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:138:40
    (local.set $__$exc (call $m_toJava__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable@javaemul.internal.Exceptions (local.get $__$jsexc)))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:138:40
    (if (if (result i32) (ref.test (ref $trycatch.TryCatch.Exception2) (local.get $__$exc)) (then (i32.const 1)) (else (ref.test (ref $trycatch.TryCatch.Exception1) (local.get $__$exc))))
     (then
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:138:40
       (local.set $e (ref.cast (ref null $java.lang.RuntimeException) (local.get $__$exc)))
       (block
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:139:6
        (local.set $$qualifier (local.get $e))
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:139:6
        (call_ref $function.m_f__java_lang_Object__void (ref.as_non_null (local.get $$qualifier))(call $$getString_||__java_lang_String_<once>_@trycatch.TryCatch )(struct.get $trycatch.TryCatch.GenericInterface.vtable $m_f__java_lang_Object__void (ref.cast (ref $trycatch.TryCatch.GenericInterface.vtable) (call $get.itable.$trycatch.TryCatch.GenericInterface (local.get $$qualifier)))))
       )
      )
     )(else
      (block
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:138:40
       (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (local.get $__$exc)))
      )
     )
    )
   )
  ))
 )
)
(elem declare func $m_testMultiCatchParameterizedException__void@trycatch.TryCatch)

;;; void TryCatch.$clinit()
(func $$clinit__void_<once>_@trycatch.TryCatch
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:18:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:18:13
  (if (global.get $$class-initialized@trycatch.TryCatch)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:18:13
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:18:13
  (global.set $$class-initialized@trycatch.TryCatch (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:18:13
  (call $$clinit__void_<once>_@java.lang.Object )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:85:2
  (global.set $closableThing@trycatch.TryCatch (call $$create__@trycatch.TryCatch.ClosableThing ))
 )
)

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

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

;;; Code for trycatch.TryCatch.ClosableThing [methods]

;;; ClosableThing ClosableThing.$create()
(func $$create__@trycatch.TryCatch.ClosableThing
 (result (ref null $trycatch.TryCatch.ClosableThing))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
 (local $$instance (ref null $trycatch.TryCatch.ClosableThing))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
  (call $$clinit__void_<once>_@trycatch.TryCatch.ClosableThing )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
  (local.set $$instance (struct.new $trycatch.TryCatch.ClosableThing (global.get $trycatch.TryCatch.ClosableThing.vtable) (global.get $trycatch.TryCatch.ClosableThing.itable) (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
  (call $$ctor__void_$p_trycatch_TryCatch_ClosableThing@trycatch.TryCatch.ClosableThing (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
  (return (local.get $$instance))
 )
)

;;; void ClosableThing.$ctor()
(func $$ctor__void_$p_trycatch_TryCatch_ClosableThing@trycatch.TryCatch.ClosableThing
 (param $this (ref null $trycatch.TryCatch.ClosableThing))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:61:15
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void ClosableThing.close()
(func $m_close__void@trycatch.TryCatch.ClosableThing
 (type $function.m_close__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:63:16
 (local $this (ref null $trycatch.TryCatch.ClosableThing))
 (local.set $this (ref.cast (ref $trycatch.TryCatch.ClosableThing) (local.get $this.untyped)))
 (block
 )
)
(elem declare func $m_close__void@trycatch.TryCatch.ClosableThing)

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

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

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

;;; Code for trycatch.TryCatch.Exception1 [methods]

;;; Exception1 Exception1.$create(TryCatch $outer_this)
(func $$create__trycatch_TryCatch@trycatch.TryCatch.Exception1
 (param $$outer_this (ref null $trycatch.TryCatch))
 (result (ref null $trycatch.TryCatch.Exception1))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
 (local $$instance (ref null $trycatch.TryCatch.Exception1))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $$clinit__void_<once>_@trycatch.TryCatch.Exception1 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (local.set $$instance (struct.new $trycatch.TryCatch.Exception1 (global.get $trycatch.TryCatch.Exception1.vtable) (global.get $trycatch.TryCatch.Exception1.itable) (i32.const 0) (ref.null extern) (ref.null $java.lang.Throwable) (ref.null $java.lang.String) (i32.const 0) (i32.const 0) (ref.null $javaemul.internal.WasmArray.OfObject) (ref.null $java.util.ArrayList) (ref.null $trycatch.TryCatch)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $$ctor__trycatch_TryCatch__void_$p_trycatch_TryCatch_Exception1@trycatch.TryCatch.Exception1 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call_ref $function.m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (ref.as_non_null (local.get $$instance))(call $m_createJsError__java_lang_String_NativeString__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $m_toJsString__java_lang_String__java_lang_String_NativeString@java.lang.String (call_ref $function.m_toString__java_lang_String (ref.as_non_null (local.get $$instance))(struct.get $trycatch.TryCatch.Exception1.vtable $m_toString__java_lang_String (struct.get $trycatch.TryCatch.Exception1 $vtable(local.get $$instance))))))(struct.get $trycatch.TryCatch.Exception1.vtable $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (struct.get $trycatch.TryCatch.Exception1 $vtable(local.get $$instance))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (return (local.get $$instance))
 )
)

;;; void Exception1.$ctor(TryCatch $outer_this)
(func $$ctor__trycatch_TryCatch__void_$p_trycatch_TryCatch_Exception1@trycatch.TryCatch.Exception1
 (param $this (ref null $trycatch.TryCatch.Exception1))
 (param $$outer_this (ref null $trycatch.TryCatch))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (struct.set $trycatch.TryCatch.Exception1 $$outer_this@trycatch.TryCatch.Exception1 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $$ctor__void_$p_java_lang_RuntimeException@java.lang.RuntimeException (ref.as_non_null (local.get $this)))
 )
)

;;; void Exception1.f(T arg0)
(func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception1
 (type $function.m_f__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
 (local $this (ref null $trycatch.TryCatch.Exception1))
 (local.set $this (ref.cast (ref $trycatch.TryCatch.Exception1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0)))
 )
)
(elem declare func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception1)

;;; void Exception1.f(String arg0)
(func $m_f__java_lang_String__void@trycatch.TryCatch.Exception1
 (type $function.m_f__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
 (local $this (ref null $trycatch.TryCatch.Exception1))
 (local.set $this (ref.cast (ref $trycatch.TryCatch.Exception1) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface (ref.as_non_null (local.get $this))(local.get $arg0))
 )
)
(elem declare func $m_f__java_lang_String__void@trycatch.TryCatch.Exception1)

;;; void Exception1.$clinit()
(func $$clinit__void_<once>_@trycatch.TryCatch.Exception1
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (if (global.get $$class-initialized@trycatch.TryCatch.Exception1)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (global.set $$class-initialized@trycatch.TryCatch.Exception1 (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $$clinit__void_<once>_@java.lang.RuntimeException )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:131:8
  (call $$clinit__void_<once>_@trycatch.TryCatch.GenericInterface )
 )
)

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

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

;;; Code for trycatch.TryCatch.Exception2 [methods]

;;; Exception2 Exception2.$create(TryCatch $outer_this)
(func $$create__trycatch_TryCatch@trycatch.TryCatch.Exception2
 (param $$outer_this (ref null $trycatch.TryCatch))
 (result (ref null $trycatch.TryCatch.Exception2))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
 (local $$instance (ref null $trycatch.TryCatch.Exception2))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call $$clinit__void_<once>_@trycatch.TryCatch.Exception2 )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (local.set $$instance (struct.new $trycatch.TryCatch.Exception2 (global.get $trycatch.TryCatch.Exception2.vtable) (global.get $trycatch.TryCatch.Exception2.itable) (i32.const 0) (ref.null extern) (ref.null $java.lang.Throwable) (ref.null $java.lang.String) (i32.const 0) (i32.const 0) (ref.null $javaemul.internal.WasmArray.OfObject) (ref.null $java.util.ArrayList) (ref.null $trycatch.TryCatch)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call $$ctor__trycatch_TryCatch__void_$p_trycatch_TryCatch_Exception2@trycatch.TryCatch.Exception2 (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call_ref $function.m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (ref.as_non_null (local.get $$instance))(call $m_createJsError__java_lang_String_NativeString__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $m_toJsString__java_lang_String__java_lang_String_NativeString@java.lang.String (call_ref $function.m_toString__java_lang_String (ref.as_non_null (local.get $$instance))(struct.get $trycatch.TryCatch.Exception2.vtable $m_toString__java_lang_String (struct.get $trycatch.TryCatch.Exception2 $vtable(local.get $$instance))))))(struct.get $trycatch.TryCatch.Exception2.vtable $m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang (struct.get $trycatch.TryCatch.Exception2 $vtable(local.get $$instance))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (return (local.get $$instance))
 )
)

;;; void Exception2.$ctor(TryCatch $outer_this)
(func $$ctor__trycatch_TryCatch__void_$p_trycatch_TryCatch_Exception2@trycatch.TryCatch.Exception2
 (param $this (ref null $trycatch.TryCatch.Exception2))
 (param $$outer_this (ref null $trycatch.TryCatch))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (struct.set $trycatch.TryCatch.Exception2 $$outer_this@trycatch.TryCatch.Exception2 (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call $$ctor__void_$p_java_lang_RuntimeException@java.lang.RuntimeException (ref.as_non_null (local.get $this)))
 )
)

;;; void Exception2.f(T arg0)
(func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception2
 (type $function.m_f__java_lang_Object__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
 (local $this (ref null $trycatch.TryCatch.Exception2))
 (local.set $this (ref.cast (ref $trycatch.TryCatch.Exception2) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface (ref.as_non_null (local.get $this))(ref.cast (ref null $java.lang.String) (local.get $arg0)))
 )
)
(elem declare func $m_f__java_lang_Object__void@trycatch.TryCatch.Exception2)

;;; void Exception2.f(String arg0)
(func $m_f__java_lang_String__void@trycatch.TryCatch.Exception2
 (type $function.m_f__java_lang_String__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $arg0 (ref null $java.lang.String))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
 (local $this (ref null $trycatch.TryCatch.Exception2))
 (local.set $this (ref.cast (ref $trycatch.TryCatch.Exception2) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/trycatch/readable-j2wasm.js/trycatch/TryCatch.java:133:8
  (call $m_f__java_lang_Object__void@trycatch.TryCatch.GenericInterface (ref.as_non_null (local.get $this))(local.get $arg0))
 )
)
(elem declare func $m_f__java_lang_String__void@trycatch.TryCatch.Exception2)

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

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

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