Jake Wharton

Results 1661 comments of Jake Wharton

> So my understanding is that the answer to any of these questions is essentially what you would expect to happen if you the user used the fully qualified name...

8.1 is out today which supports 20, the latest JDK

Can you still opt out though? Or did they completely eliminate the old compiler?

Probably not. Although a separate module might be nice because it can be deleted as a unit more easily once the old compiler is gone for good.

Looks like we can either set the Java and Kotlin compatibility to some low value, or do nothing and wait for https://youtrack.jetbrains.com/issue/KT-66703 to ship.

Here's a quick one. The `toString()` function is generated like this (in JS): ```js protoOf(Simple_0).toString = function () { return 'Simple(int=' + this.int_1 + ', requiredString=' + this.requiredString_1 + ',...

Another one that jumps out in JS: ```js if (!(other instanceof Complex_0)) return false; var tmp0_other_with_cast = other instanceof Complex_0 ? other : THROW_CCE(); ``` There's no need to do...

We appear to be invoking `Int.hashCode()` when creating hash codes. The Java bytecode has this: ``` 0: aload_0 1: getfield #23 // Field int:I 4: invokestatic #50 // Method java/lang/Integer.hashCode:(I)I...

Equality checking has suboptimal control flow. The Java bytecode: ``` 21: aload_0 22: getfield #23 // Field int:I 25: aload_2 26: getfield #23 // Field int:I 29: if_icmpeq 34 32:...

Content-based array IR uses inefficient property access causing a performance problem. Consider just `hashCode` in JS: ```js protoOf(GenericArrayHolder).hashCode = function () { var tmp; if (this.generic_1 == null) { tmp...