StackOverflow fix on type remapping
This commit is contained in:
@@ -45,7 +45,7 @@ class AsmTypeRemapper(val typeRemapper: TypeRemapper, val isDefaultGeneration: B
|
|||||||
return super.visitTypeVariable(mapping.newName)
|
return super.visitTypeVariable(mapping.newName)
|
||||||
}
|
}
|
||||||
// else TypeVariable is replaced by concrete type
|
// else TypeVariable is replaced by concrete type
|
||||||
SignatureReader(mapping.signature).accept(this)
|
SignatureReader(mapping.signature).accept(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitFormalTypeParameter(name: String) {
|
override fun visitFormalTypeParameter(name: String) {
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
//NO_CHECK_LAMBDA_INLINING
|
||||||
|
|
||||||
|
import test.*
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
|
class I<A>(val s: A)
|
||||||
|
class A<T : Any>(val elements: List<I<T>>) {
|
||||||
|
val p = elements.sortedBy { it.hashCode() }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
|
||||||
|
A(listOf(I("1"), I("2"), I("3"))).p
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
|
||||||
|
inline fun stub() {
|
||||||
|
|
||||||
|
}
|
||||||
+6
@@ -1423,6 +1423,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/signature"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/signature"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("recursion.1.kt")
|
||||||
|
public void testRecursion() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/recursion.1.kt");
|
||||||
|
doTestMultiFileWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("sameFormalParameterName.1.kt")
|
@TestMetadata("sameFormalParameterName.1.kt")
|
||||||
public void testSameFormalParameterName() throws Exception {
|
public void testSameFormalParameterName() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/sameFormalParameterName.1.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/sameFormalParameterName.1.kt");
|
||||||
|
|||||||
+6
@@ -1423,6 +1423,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/signature"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/signature"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("recursion.1.kt")
|
||||||
|
public void testRecursion() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/recursion.1.kt");
|
||||||
|
doBoxTestWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("sameFormalParameterName.1.kt")
|
@TestMetadata("sameFormalParameterName.1.kt")
|
||||||
public void testSameFormalParameterName() throws Exception {
|
public void testSameFormalParameterName() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/sameFormalParameterName.1.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/signature/sameFormalParameterName.1.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user