Mangle inline class members

<IMPL_SUFFIX> for method is a method signature hash,
if method value parameter types contain inline class types,
otherwise 'impl'.

Constructor methods are named as 'constructor-<IMPL_SUFFIX>'.

Synthesized 'box' and 'unbox' methods are named as
'<METHOD_NAME>-<IMPL_SUFFIX>'.

Erased implementations of overriding and non-overriding methods
are named as '<METHOD_NAME>-<IMPL_SUFFIX>'.

Fully specialized implementation of 'equals' will have a special suffix.
This commit is contained in:
Dmitry Petrov
2018-09-06 10:12:50 +03:00
parent aec173ac5c
commit cafaa3e13c
40 changed files with 398 additions and 184 deletions
@@ -2,41 +2,42 @@
public final class Z {
private final field x: int
private synthetic method <init>(p0: int): void
public synthetic final static @org.jetbrains.annotations.NotNull method box(p0: int): Z
public static method constructor(p0: int): int
public static method constructor(p0: int, p1: int): int
public static method constructor(p0: long): int
private static method constructor(p0: short): int
public static method equals(p0: int, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public synthetic final static @org.jetbrains.annotations.NotNull method box-impl(p0: int): Z
public static method constructor-impl(p0: int): int
public static method constructor-impl(p0: int, p1: int): int
public static method constructor-impl(p0: long): int
private static method constructor-impl(p0: short): int
public method equals(p0: java.lang.Object): boolean
public final static method getInternalExtensionVal$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalExtensionVar$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalVal$test_module(p0: int): int
public final static method getInternalVar$test_module(p0: int): int
private final static method getPrivateExtensionVal(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateVal(p0: int): int
private final static method getPrivateVar(p0: int): int
public final static method getPublicExtensionVal(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicVal(p0: int): int
public final static method getPublicVar(p0: int): int
public static method equals-impl(p0: int, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int): boolean
public final static method getInternalExtensionVal-impl$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalExtensionVar-impl$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalVal-impl$test_module(p0: int): int
public final static method getInternalVar-impl$test_module(p0: int): int
private final static method getPrivateExtensionVal-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateExtensionVar-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateVal-impl(p0: int): int
private final static method getPrivateVar-impl(p0: int): int
public final static method getPublicExtensionVal-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicExtensionVar-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicVal-impl(p0: int): int
public final static method getPublicVar-impl(p0: int): int
public final method getX(): int
public method hashCode(): int
public static method hashCode(p0: int): int
public final static method internalExtensionFun$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method internalFun$test_module(p0: int): void
private final static method privateExtensionFun(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
private final static method privateFun(p0: int): void
public final static method publicExtensionFun(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method publicFun(p0: int): void
public final static method setInternalExtensionVar$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setInternalVar$test_module(p0: int, p1: int): void
private final static method setPrivateExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
private final static method setPrivateVar(p0: int, p1: int): void
public final static method setPublicExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setPublicVar(p0: int, p1: int): void
public static method hashCode-impl(p0: int): int
public final static method internalExtensionFun-impl$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method internalFun-impl$test_module(p0: int): void
private final static method privateExtensionFun-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
private final static method privateFun-impl(p0: int): void
public final static method publicExtensionFun-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method publicFun-impl(p0: int): void
public final static method setInternalExtensionVar-impl$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setInternalVar-impl$test_module(p0: int, p1: int): void
private final static method setPrivateExtensionVar-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
private final static method setPrivateVar-impl(p0: int, p1: int): void
public final static method setPublicExtensionVar-impl(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setPublicVar-impl(p0: int, p1: int): void
public method toString(): java.lang.String
public static @org.jetbrains.annotations.NotNull method toString(p0: int): java.lang.String
public synthetic final method unbox(): int
public static @org.jetbrains.annotations.NotNull method toString-impl(p0: int): java.lang.String
public synthetic final method unbox-impl(): int
}