[kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches * Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary * ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist * Update reflect/scripting JDK requirement to Java 8 in order to proceed #KT-53454 #KT-50705 Merge-request: KT-MR-6788 Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
This commit is contained in:
committed by
Space
parent
d5164fbc86
commit
14b13a2f17
-43
@@ -15341,49 +15341,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/hashPMap")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class HashPMap extends AbstractLightAnalysisModeTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInHashPMap() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/hashPMap"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("empty.kt")
|
||||
public void testEmpty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/empty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("manyNumbers.kt")
|
||||
public void testManyNumbers() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/manyNumbers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("rewriteWithDifferent.kt")
|
||||
public void testRewriteWithDifferent() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/rewriteWithDifferent.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("rewriteWithEqual.kt")
|
||||
public void testRewriteWithEqual() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/rewriteWithEqual.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("simplePlusGet.kt")
|
||||
public void testSimplePlusGet() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/simplePlusGet.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("simplePlusMinus.kt")
|
||||
public void testSimplePlusMinus() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/hashPMap/simplePlusMinus.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/ieee754")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
Reference in New Issue
Block a user