New name generation for transformed when classes
This commit is contained in:
@@ -23,7 +23,8 @@ public class NameGenerator {
|
||||
|
||||
private final String ownerMethod;
|
||||
|
||||
private int nextIndex = 1;
|
||||
private int nextLambdaIndex = 1;
|
||||
private int nextWhenIndex = 1;
|
||||
|
||||
private final Map<String, NameGenerator> subGenerators = new HashMap<String, NameGenerator>();
|
||||
|
||||
@@ -32,7 +33,11 @@ public class NameGenerator {
|
||||
}
|
||||
|
||||
public String genLambdaClassName() {
|
||||
return ownerMethod + "$" + nextIndex++;
|
||||
return ownerMethod + "$" + nextLambdaIndex++;
|
||||
}
|
||||
|
||||
public String genWhenClassNamePrefix() {
|
||||
return ownerMethod + "$" + nextWhenIndex++;
|
||||
}
|
||||
|
||||
public NameGenerator subGenerator(String inliningMethod) {
|
||||
|
||||
@@ -43,7 +43,7 @@ class WhenMappingTransformationInfo(
|
||||
) : TransformationInfo {
|
||||
|
||||
override val newClassName by lazy {
|
||||
nameGenerator.genLambdaClassName() + oldClassName.substringAfterLast("/")
|
||||
nameGenerator.genWhenClassNamePrefix() + TRANSFORMED_WHEN_MAPPING_MARKER + oldClassName.substringAfterLast("/").substringAfterLast(TRANSFORMED_WHEN_MAPPING_MARKER)
|
||||
}
|
||||
|
||||
override fun shouldRegenerate(sameModule: Boolean): Boolean {
|
||||
@@ -57,6 +57,10 @@ class WhenMappingTransformationInfo(
|
||||
override fun createTransformer(inliningContext: InliningContext, sameModule: Boolean): ObjectTransformer<*> {
|
||||
return WhenMappingTransformer(this, inliningContext)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val TRANSFORMED_WHEN_MAPPING_MARKER = "\$wm$"
|
||||
}
|
||||
}
|
||||
|
||||
class AnonymousObjectTransformationInfo internal constructor(
|
||||
|
||||
Reference in New Issue
Block a user