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

;;; Code for switchexpression.SwitchExpression.Enum [type definition]
(type $switchexpression.SwitchExpression.Enum.vtable (sub $java.lang.Enum.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 (field $m_compareTo__java_lang_Object__int (ref $function.m_compareTo__java_lang_Object__int))
 (field $m_getDeclaringClass__java_lang_Class (ref $function.m_getDeclaringClass__java_lang_Class))
 ))
)
(type $switchexpression.SwitchExpression.Enum (sub $java.lang.Enum (struct
 (field $vtable (ref $switchexpression.SwitchExpression.Enum.vtable))
 (field $itable (ref $switchexpression.SwitchExpression.Enum.itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $name@java.lang.Enum (mut (ref null $java.lang.String)))
 (field $ordinal@java.lang.Enum (mut i32))
 ))
)

;;; Code for switchexpression.SwitchExpression [imports]

;;; Code for switchexpression.SwitchExpression.Enum [imports]

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

;;; Code for switchexpression.SwitchExpression.Enum [static fields]
(global $A@switchexpression.SwitchExpression.Enum (mut (ref null $switchexpression.SwitchExpression.Enum))
 (ref.null $switchexpression.SwitchExpression.Enum)
)
(global $B@switchexpression.SwitchExpression.Enum (mut (ref null $switchexpression.SwitchExpression.Enum))
 (ref.null $switchexpression.SwitchExpression.Enum)
)
(global $namesToValuesMap@switchexpression.SwitchExpression.Enum (mut (ref null $java.lang.Object))
 (ref.null $java.lang.Object)
)
(global $$class-initialized@switchexpression.SwitchExpression.Enum (mut i32)
 (i32.const 0)
)
(global $$class@switchexpression.SwitchExpression.Enum (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

;;; Code for switchexpression.SwitchExpression [vtable.init]
(global $switchexpression.SwitchExpression.vtable (ref $switchexpression.SwitchExpression.vtable)
 (struct.new $switchexpression.SwitchExpression.vtable
  (ref.func $$getClassImpl__java_lang_Class@switchexpression.SwitchExpression)
  (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 switchexpression.SwitchExpression.Enum [vtable.init]
(global $switchexpression.SwitchExpression.Enum.vtable (ref $switchexpression.SwitchExpression.Enum.vtable)
 (struct.new $switchexpression.SwitchExpression.Enum.vtable
  (ref.func $$getClassImpl__java_lang_Class@switchexpression.SwitchExpression.Enum)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Enum)
  (ref.func $m_hashCode__int@java.lang.Enum)
  (ref.func $m_toString__java_lang_String@java.lang.Enum)
  (ref.func $m_compareTo__java_lang_Object__int@java.lang.Enum)
  (ref.func $m_getDeclaringClass__java_lang_Class@java.lang.Enum)
 )
)
(global $java.lang.Comparable.vtable@$switchexpression.SwitchExpression.Enum (ref $java.lang.Comparable.vtable)
 (struct.new $java.lang.Comparable.vtable
  (ref.func $m_compareTo__java_lang_Object__int@java.lang.Enum)
 )
)
(global $java.io.Serializable.vtable@$switchexpression.SwitchExpression.Enum (ref $java.io.Serializable.vtable)
 (struct.new $java.io.Serializable.vtable
 )
)

;;; Code for switchexpression.SwitchExpression [methods]

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

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

;;; void SwitchExpression.testBasicSwitchExpressions()
(func $m_testBasicSwitchExpressions__void@switchexpression.SwitchExpression
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:20:22
 (local $a i32)
 (local $i i64)
 (local $j (ref null $java.lang.Short))
 (local $$value i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:21:4
  (local.set $a (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:25:4
  (local.set $i 
  (block $SWITCH (result i64)
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:26:8
   (block
    (block
     (block
      (block ;; evaluate expression and jump
       (br_table 0 2 1 1 2 (i32.sub (i32.const 3) (i32.const 1)))
      )
      ;; case 1:
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:28:20
      (i64.const 5)
      (br $SWITCH)
     )
     ;; case 3,4:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:30:23
     (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.RuntimeException )))
    )
    ;; default:
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:33:12
     (local.set $j (call $m_valueOf__short__java_lang_Short@java.lang.Short (i32.extend16_s (block (result i32)
      (local.set $$value (local.get $a))
      (local.set $a (i32.add (local.get $a) (i32.const 1)))
      (local.get $$value)
     ))))
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:34:12
     (i64.extend_i32_s (call $m_shortValue__short@java.lang.Short (ref.as_non_null (local.get $j))))
     (br $SWITCH)
    )
   )
   (unreachable)
  ))
 )
)

;;; void SwitchExpression.testSwitchExpressionsWithComplexControlFlow()
(func $m_testSwitchExpressionsWithComplexControlFlow__void@switchexpression.SwitchExpression
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:39:22
 (local $a i32)
 (local $i i64)
 (local $j (ref null $java.lang.Short))
 (local $$value i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:40:4
  (local.set $a (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:41:4
  (local.set $i 
  (block $SWITCH (result i64)
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:42:8
   (block
    (block
     (block
      (block ;; evaluate expression and jump
       (br_table 0 2 1 1 2 (i32.sub (i32.const 3) (i32.const 1)))
      )
      ;; case 1:
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:43:20
      (i64.const 5)
      (br $SWITCH)
     )
     ;; case 3,4:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:44:23
     (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.RuntimeException )))
    )
    ;; default:
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:46:12
     (local.set $j (call $m_valueOf__short__java_lang_Short@java.lang.Short (i32.extend16_s (block (result i32)
      (local.set $$value (local.get $a))
      (local.set $a (i32.add (local.get $a) (i32.const 1)))
      (local.get $$value)
     ))))
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:47:12
     (block $LOOP.BREAK
      (loop
       (br_if 1 (i32.eqz (i32.lt_s (call $m_shortValue__short@java.lang.Short (ref.as_non_null (local.get $j))) (i32.const 3))))
       (block $LOOP.CONTINUE
        (block
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:48:14
         (if (i32.eq (call $m_shortValue__short@java.lang.Short (ref.as_non_null (local.get $j))) (i32.const 2))
          (then
           (block
            ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:49:16
            (i64.const 2)
            (br $SWITCH)
           )
          )
         )
        )
       )
       (br 0)
      )
     )
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:52:12
     (i64.extend_i32_s (call $m_shortValue__short@java.lang.Short (ref.as_non_null (local.get $j))))
     (br $SWITCH)
    )
   )
   (unreachable)
  ))
 )
)

;;; void SwitchExpression.testNestedSwitchExpressions()
(func $m_testNestedSwitchExpressions__void@switchexpression.SwitchExpression
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:57:22
 (local $a i32)
 (local $i i64)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:58:4
  (local.set $a (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:59:4
  (local.set $i 
  (block $SWITCH (result i64)
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:60:8
   (block
    (block
     (block ;; evaluate expression and jump
      (br_table 0 1 (i32.sub (i32.const 3) (i32.const 1)))
     )
     ;; case 1:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:63:14
     
     (block $SWITCH_1 (result i64)
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:63:14
      (block
       (block
        (block ;; evaluate expression and jump
         (br_table 0 1 (i32.sub (i32.const 5) (i32.const 1)))
        )
        ;; case 1:
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:64:26
        (i64.const 10)
        (br $SWITCH_1)
       )
       ;; default:
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:66:20
       
       (block $SWITCH_2 (result i64)
        ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:66:20
        (block
         (block
          (block ;; evaluate expression and jump
           (br_table 0 1 (i32.sub (i32.const 6) (i32.const 1)))
          )
          ;; case 1:
          ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:67:32
          (throw $exception.event (call $m_toJs__java_lang_Throwable__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions (call $$create__@java.lang.RuntimeException )))
         )
         ;; default:
         ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:68:33
         (i64.const 5)
         (br $SWITCH_2)
        )
        (unreachable)
       )
       (br $SWITCH_1)
      )
      (unreachable)
     )
     (br $SWITCH)
    )
    ;; default:
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:71:21
    (i64.extend_i32_s (local.get $a))
    (br $SWITCH)
   )
   (unreachable)
  ))
 )
)

;;; void SwitchExpression.testExhaustiveSwitchExpression()
(func $m_testExhaustiveSwitchExpression__void@switchexpression.SwitchExpression
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:80:22
 (local $i i64)
 (local $$expression i32)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:81:4
  (local.set $i 
  (block $SWITCH (result i64)
   (block
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:82:8
    (local.set $$expression (call $m_ordinal__int@java.lang.Enum (ref.as_non_null (block (result (ref null $switchexpression.SwitchExpression.Enum))
     (call $$clinit__void_<once>_@switchexpression.SwitchExpression.Enum )
     (global.get $A@switchexpression.SwitchExpression.Enum)
    ))))
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:82:8
    (block
     (block
      (block
       (block ;; evaluate expression and jump
        (br_table 0 1 2 (local.get $$expression))
       )
       ;; case 0:
       ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:83:20
       (i64.const 0)
       (br $SWITCH)
      )
      ;; case 1:
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:84:20
      (i64.const 1)
      (br $SWITCH)
     )
     ;; default:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:82:8
     (call $m_checkExhaustive__void@javaemul.internal.InternalPreconditions )
    )
   )
   (unreachable)
  ))
 )
)

;;; void SwitchExpression.testFallthroughSwitchExpression()
(func $m_testFallthroughSwitchExpression__void@switchexpression.SwitchExpression
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:88:22
 (local $o i32)
 (local $i i64)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:89:4
  (local.set $o (i32.const 0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:90:4
  (local.set $i 
  (block $SWITCH (result i64)
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:91:8
   (block
    (block
     (block
      (block ;; evaluate expression and jump
       (br_table 2 1 0 (i32.sub (i32.const 1) (i32.const 1)))
      )
      ;; default:
      ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:93:12
      (local.set $o (i32.const 1))
     )
     ;; case 2:
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:95:12
     (i64.const 1)
     (br $SWITCH)
    )
    ;; case 1:
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:97:12
    (i64.const 2)
    (br $SWITCH)
   )
   (unreachable)
  ))
 )
)

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

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

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

;;; Code for switchexpression.SwitchExpression.Enum [methods]

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

;;; void Enum.$ctor(String $name, int $ordinal)
(func $$ctor__java_lang_String__int__void_$p_switchexpression_SwitchExpression_Enum@switchexpression.SwitchExpression.Enum
 (param $this (ref null $switchexpression.SwitchExpression.Enum))
 (param $$name (ref null $java.lang.String))
 (param $$ordinal i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (struct.set $java.lang.Enum $name@java.lang.Enum (local.get $this) (local.get $$name))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (struct.set $java.lang.Enum $ordinal@java.lang.Enum (local.get $this) (local.get $$ordinal))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (call $$ctor__java_lang_String__int__void_$p_java_lang_Enum@java.lang.Enum (ref.as_non_null (local.get $this))(local.get $$name)(local.get $$ordinal))
 )
)

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

;;; Enum[] Enum.values()
(func $m_values__arrayOf_switchexpression_SwitchExpression_Enum@switchexpression.SwitchExpression.Enum
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (call $$clinit__void_<once>_@switchexpression.SwitchExpression.Enum )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (return (call $m_values_$private__arrayOf_switchexpression_SwitchExpression_Enum@switchexpression.SwitchExpression.Enum ))
 )
)

;;; Enum[] Enum.values_$private()
(func $m_values_$private__arrayOf_switchexpression_SwitchExpression_Enum@switchexpression.SwitchExpression.Enum
 (result (ref null $javaemul.internal.WasmArray.OfObject))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (return (call $m_newWithLiteral__arrayOf_java_lang_Object__javaemul_internal_WasmArray_OfObject@javaemul.internal.WasmArray.OfObject (array.new_fixed $java.lang.Object.array 2 (global.get $A@switchexpression.SwitchExpression.Enum)(global.get $B@switchexpression.SwitchExpression.Enum))))
 )
)

;;; void Enum.$clinit()
(func $$clinit__void_<once>_@switchexpression.SwitchExpression.Enum
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (if (global.get $$class-initialized@switchexpression.SwitchExpression.Enum)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (global.set $$class-initialized@switchexpression.SwitchExpression.Enum (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:75:7
  (call $$clinit__void_<once>_@java.lang.Enum )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:76:4
  (global.set $A@switchexpression.SwitchExpression.Enum (call $$create__java_lang_String__int@switchexpression.SwitchExpression.Enum (call $$getString_|A|__java_lang_String_<once>_@switchexpression.SwitchExpression.Enum )(i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/switchexpression/readable-j2wasm.js/switchexpression/SwitchExpression.java:77:4
  (global.set $B@switchexpression.SwitchExpression.Enum (call $$create__java_lang_String__int@switchexpression.SwitchExpression.Enum (call $$getString_|B|__java_lang_String_<once>_@switchexpression.SwitchExpression.Enum )(i32.const 1)))
 )
)

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

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