Files
kotlin-fork/compiler/testData/codegen/box
Ting-Yuan Huang f6cf434650 when: emit switch for String if possible
Effectively, the following when structure:

  when (s) {
    s1, s2 -> e1,
    s3 -> e2,
    s4 -> e3,
    ...
    else -> e
  }

is implemented as:

  when (s.hashCode()) {
    h1 -> {
      if (s == s1)
        e1
      else if (s == s2)
        e1
      else if (s == s3)
        e2
      else
        e
    }
    h2 -> if (s == s3) e2 else e,
    ...
    else -> e
  }

where s1.hashCode() == s2.hashCode() == s3.hashCode() == h1,
      s4.hashCode() == h2.

A tableswitch or lookupswitch is used for the hash code lookup.

Change-Id: I087bf623dbb4a41d3cc64399a1b42342a50757a6
2019-03-20 09:13:51 +01:00
..
2019-03-12 09:33:00 +01:00
2019-02-25 15:09:26 +03:00
2019-01-31 18:19:41 +03:00
2018-10-15 00:03:45 +03:00
2018-07-10 13:34:19 +03:00
2019-03-04 23:24:18 +03:00
2018-07-10 13:34:19 +03:00
2019-02-15 16:25:16 +03:00
2018-08-09 14:22:50 +03:00
2018-09-18 14:36:20 +03:00
2018-10-22 16:32:55 +02:00
2019-01-24 23:05:56 +03:00
2019-01-26 08:26:49 +01:00
2018-06-14 19:54:30 +03:00
2018-08-02 15:51:16 +02:00
2018-10-22 16:32:55 +02:00
2018-08-09 20:55:50 +03:00
2018-10-10 17:27:37 +03:00
2018-08-15 10:26:28 +03:00
2019-02-19 16:37:47 +01:00