Do not generate useless methods inside wrapper for inline class

Fix for test data (inlineFunctionInsideInlineClassesBox.kt) is needed
 to avoid check about "no inline functions".

 This check has two steps: first, names of inline functions from
 the metadata are loaded, then these names are checked that they are
 presented for physical methods in the classfile.

 Because now there are no physical methods in the classfile, we can't pass
 the second check, therefore this fix is needed.

 #KT-24872 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-08-05 05:24:26 +03:00
parent fcbcabd3a2
commit 1497c19dc9
7 changed files with 26 additions and 17 deletions
@@ -27,7 +27,6 @@ public final class Foo {
public method equals(p0: java.lang.Object): boolean
public final method getX(): int
public method hashCode(): int
public final method inInlineClass(): void
public method toString(): java.lang.String
public final method unbox(): int
}
@@ -14,8 +14,6 @@ public final class Foo {
private final field x: int
public method <init>(p0: int): void
public method equals(p0: java.lang.Object): boolean
public final method getAsThis(): int
public final method getProp(): int
public final method getX(): int
public method hashCode(): int
public method toString(): java.lang.String
@@ -14,12 +14,9 @@ public final static class Foo$Erased {
public final class Foo {
private final field l: long
public method <init>(p0: long): void
public final method empty(): void
public method equals(p0: java.lang.Object): boolean
public final method extension(@org.jetbrains.annotations.NotNull p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final method getL(): long
public method hashCode(): int
public final method param(p0: double): void
public method toString(): java.lang.String
public final method unbox(): long
}