[FIR] Allow declarations to override parts of non-trivial intersection
A class can inherit two declarations that are compatible from the overridability standpoint and are therefore combined to a non-trivial intersection. At the same time, the class can declare a member declaration that only overrides one of the intersection's members. In this case, we break up the intersection and only add the overridden parts to the declared member's direct overridden list. If the class doesn't override the intersection, it exists as intersection override, like before. #KT-65487 Fixed
This commit is contained in:
committed by
Space Team
parent
889182629e
commit
26fae9e83a
+6
@@ -22721,6 +22721,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/getCharSequence.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantCharAtAbstract.kt")
|
||||
public void testIrrelevantCharAtAbstract() {
|
||||
|
||||
+12
@@ -30950,6 +30950,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -52316,6 +52322,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+6
@@ -22721,6 +22721,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/getCharSequence.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantCharAtAbstract.kt")
|
||||
public void testIrrelevantCharAtAbstract() {
|
||||
|
||||
+12
@@ -30950,6 +30950,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -52316,6 +52322,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
Vendored
+3
-5
@@ -1,14 +1,12 @@
|
||||
ImplDerived:
|
||||
[Source]: public abstract override fun foo(name: R|kotlin/String?|): R|Derived| from Use site scope of /ImplDerived [id: 0]
|
||||
[Source]: public open override fun foo(name: R|kotlin/String|): R|Base| from Use site scope of /Impl [id: 1]
|
||||
[Enhancement]: public abstract fun foo(name: R|@EnhancedNullability kotlin/String|): R|Base!| from Java enhancement scope for /Base [id: 2]
|
||||
[Enhancement]: public abstract fun foo(name: R|kotlin/String!|): R|@EnhancedNullability Derived| from Java enhancement scope for /Derived [id: 3]
|
||||
[Enhancement]: public abstract fun foo(name: R|kotlin/String!|): R|@EnhancedNullability Derived| from Java enhancement scope for /Derived [id: 1]
|
||||
[Enhancement]: public abstract fun foo(name: R|@EnhancedNullability kotlin/String|): R|Base!| from Java enhancement scope for /Base [id: 2]
|
||||
[Source]: public open override fun foo(name: R|kotlin/String|): R|Base| from Use site scope of /ImplDerived [id: 0]
|
||||
|
||||
DerivedImpl:
|
||||
[Source]: public abstract override fun foo(name: R|kotlin/String?|): R|Derived| from Use site scope of /DerivedImpl [id: 0]
|
||||
[Enhancement]: public abstract fun foo(name: R|kotlin/String!|): R|@EnhancedNullability Derived| from Java enhancement scope for /Derived [id: 1]
|
||||
[Enhancement]: public abstract fun foo(name: R|@EnhancedNullability kotlin/String|): R|Base!| from Java enhancement scope for /Base [id: 2]
|
||||
[Source]: public open override fun foo(name: R|kotlin/String|): R|Base| from Use site scope of /Impl [id: 3]
|
||||
[Enhancement]: public abstract fun foo(name: R|@EnhancedNullability kotlin/String|): R|Base!| from Java enhancement scope for /Base [id: 2]
|
||||
[Source]: public open override fun foo(name: R|kotlin/String|): R|Base| from Use site scope of /DerivedImpl [id: 0]
|
||||
|
||||
|
||||
+6
@@ -22715,6 +22715,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/getCharSequence.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantCharAtAbstract.kt")
|
||||
public void testIrrelevantCharAtAbstract() {
|
||||
|
||||
+6
@@ -22721,6 +22721,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/getCharSequence.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantCharAtAbstract.kt")
|
||||
public void testIrrelevantCharAtAbstract() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -51999,6 +52005,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -51999,6 +52005,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -52051,6 +52057,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+6
@@ -2703,6 +2703,12 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI
|
||||
public void testFakeOverrideOfRawJavaCollection() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
|
||||
compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java
Generated
+6
@@ -2703,6 +2703,12 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest {
|
||||
public void testFakeOverrideOfRawJavaCollection() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
|
||||
+15
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.fir.scopes.*
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirTypeIntersectionScopeContext.ResultOfIntersection
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.MembersByScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.isIntersectionOverride
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.similarFunctionsOrBothProperties
|
||||
import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
@@ -400,6 +401,20 @@ class JavaClassUseSiteMemberScope(
|
||||
return result.toSet()
|
||||
}
|
||||
|
||||
private fun <D : FirCallableSymbol<*>> ResultOfIntersection<D>.extractSomeSymbolFromSuperType(): D {
|
||||
return if (this.isIntersectionOverride()) {
|
||||
/*
|
||||
* we don't want to create intersection override if some declared function actually overrides some functions
|
||||
* from supertypes, so instead of intersection override symbol we check actual symbol from supertype
|
||||
*
|
||||
* TODO(KT-65925): is it enough to check only one function?
|
||||
*/
|
||||
keySymbol
|
||||
} else {
|
||||
chosenSymbol
|
||||
}
|
||||
}
|
||||
|
||||
private fun processSpecialFunctions(
|
||||
requestedName: Name,
|
||||
explicitlyDeclaredFunctionsWithNaturalName: Collection<FirNamedFunctionSymbol>,
|
||||
|
||||
+84
-22
@@ -86,17 +86,59 @@ abstract class AbstractFirUseSiteMemberScope(
|
||||
|
||||
protected abstract fun FirNamedFunctionSymbol.isVisibleInCurrentClass(): Boolean
|
||||
|
||||
private fun FirCallableSymbol<*>.isInvisible(): Boolean {
|
||||
return this is FirNamedFunctionSymbol && !isVisibleInCurrentClass()
|
||||
}
|
||||
|
||||
protected fun collectFunctionsFromSupertypes(
|
||||
name: Name,
|
||||
destination: MutableList<FirNamedFunctionSymbol>,
|
||||
explicitlyDeclaredFunctions: Set<FirNamedFunctionSymbol>
|
||||
) {
|
||||
for (chosenSymbolFromSupertype in getFunctionsFromSupertypesByName(name)) {
|
||||
val superSymbol = chosenSymbolFromSupertype.extractSomeSymbolFromSuperType()
|
||||
if (!superSymbol.isVisibleInCurrentClass()) continue
|
||||
val overriddenBy = superSymbol.getOverridden(explicitlyDeclaredFunctions)
|
||||
if (overriddenBy == null) {
|
||||
destination += chosenSymbolFromSupertype.chosenSymbol
|
||||
for (resultOfIntersection in getFunctionsFromSupertypesByName(name)) {
|
||||
resultOfIntersection.collectNonOverriddenDeclarations(explicitlyDeclaredFunctions, destination)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If the receiver [ResultOfIntersection] is not overridden by any symbol in [explicitlyDeclared],
|
||||
* adds its [ResultOfIntersection.chosenSymbol] to [destination].
|
||||
*
|
||||
* If the [ResultOfIntersection] is [ResultOfIntersection.NonTrivial] and only some of the intersected symbols are overridden,
|
||||
* constructs a new [ResultOfIntersection] consisting of the non-overridden symbols and adds its [ResultOfIntersection.chosenSymbol]
|
||||
* to [destination].
|
||||
*
|
||||
* It's the opposite operation of [collectDirectOverriddenForDeclared].
|
||||
*/
|
||||
protected fun <T : FirCallableSymbol<*>> ResultOfIntersection<T>.collectNonOverriddenDeclarations(
|
||||
explicitlyDeclared: Set<FirCallableSymbol<*>>,
|
||||
destination: MutableList<in T>,
|
||||
) {
|
||||
when (this) {
|
||||
is ResultOfIntersection.SingleMember -> {
|
||||
val chosenSymbol = chosenSymbol
|
||||
if (chosenSymbol.isInvisible()) return
|
||||
val overriddenBy = chosenSymbol.getOverridden(explicitlyDeclared)
|
||||
if (overriddenBy == null) {
|
||||
destination += chosenSymbol
|
||||
}
|
||||
}
|
||||
is ResultOfIntersection.NonTrivial -> {
|
||||
// For non-trivial intersections, some of the intersected symbols can be overridden and some not.
|
||||
val (visibleNotOverridden, overriddenOrInvisible) = overriddenMembers
|
||||
.partition { !it.member.isInvisible() && it.member.getOverridden(explicitlyDeclared) == null }
|
||||
|
||||
if (overriddenOrInvisible.isEmpty()) {
|
||||
// Case 1: all intersected symbols are overridden.
|
||||
destination += chosenSymbol
|
||||
} else if (visibleNotOverridden.isNotEmpty()) {
|
||||
// Case 2: some intersected symbols are overridden.
|
||||
// Create a new ResultOfIntersection from the non-overridden and add it to destination.
|
||||
destination += supertypeScopeContext
|
||||
.convertGroupedCallablesToIntersectionResults(visibleNotOverridden.map { it.baseScope to listOf(it.member) })
|
||||
.map { it.chosenSymbol }
|
||||
}
|
||||
// Case 3: all are overridden. Don't add anything to destination.
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -121,27 +163,47 @@ abstract class AbstractFirUseSiteMemberScope(
|
||||
|
||||
private fun computeDirectOverriddenForDeclaredFunction(declaredFunctionSymbol: FirNamedFunctionSymbol): List<ResultOfIntersection<FirNamedFunctionSymbol>> {
|
||||
val result = mutableListOf<ResultOfIntersection<FirNamedFunctionSymbol>>()
|
||||
val declaredFunction = declaredFunctionSymbol.fir
|
||||
for (resultOfIntersection in getFunctionsFromSupertypesByName(declaredFunctionSymbol.name)) {
|
||||
val symbolFromSupertype = resultOfIntersection.extractSomeSymbolFromSuperType()
|
||||
if (overrideChecker.isOverriddenFunction(declaredFunction, symbolFromSupertype.fir)) {
|
||||
result.add(resultOfIntersection)
|
||||
}
|
||||
resultOfIntersection.collectDirectOverriddenForDeclared(declaredFunctionSymbol, result, overrideChecker::isOverriddenFunction)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
protected fun <D : FirCallableSymbol<*>> ResultOfIntersection<D>.extractSomeSymbolFromSuperType(): D {
|
||||
return if (this.isIntersectionOverride()) {
|
||||
/*
|
||||
* we don't want to create intersection override if some declared function actually overrides some functions
|
||||
* from supertypes, so instead of intersection override symbol we check actual symbol from supertype
|
||||
*
|
||||
* TODO: is it enough to check only one function?
|
||||
*/
|
||||
keySymbol
|
||||
} else {
|
||||
chosenSymbol
|
||||
/**
|
||||
* If [declared] overrides the receiver [ResultOfIntersection], adds it to [result].
|
||||
* If the [ResultOfIntersection] is [ResultOfIntersection.NonTrivial] and [declared] only overrides some of the intersected symbols,
|
||||
* a new [ResultOfIntersection] is constructed containing only the overridden symbols.
|
||||
*
|
||||
* Opposite operation to [collectNonOverriddenDeclarations].
|
||||
*/
|
||||
protected inline fun <T : FirCallableSymbol<*>> ResultOfIntersection<T>.collectDirectOverriddenForDeclared(
|
||||
declared: T,
|
||||
result: MutableList<in ResultOfIntersection<T>>,
|
||||
isOverridden: (T, T) -> Boolean,
|
||||
) {
|
||||
when (this) {
|
||||
is ResultOfIntersection.SingleMember -> {
|
||||
val symbolFromSupertype = chosenSymbol
|
||||
if (isOverridden(declared, symbolFromSupertype)) {
|
||||
result.add(this)
|
||||
}
|
||||
}
|
||||
is ResultOfIntersection.NonTrivial -> {
|
||||
// For non-trivial intersections, declared can override a subset of the intersected symbols.
|
||||
val (overridden, nonOverridden) = overriddenMembers.partition {
|
||||
isOverridden(declared, it.member)
|
||||
}
|
||||
|
||||
if (nonOverridden.isEmpty()) {
|
||||
// Case 1: all intersected symbols are overridden
|
||||
result += this
|
||||
} else if (overridden.isNotEmpty()) {
|
||||
// Case 2: some intersected symbols are overridden.
|
||||
// Create a new ResultOfIntersection from the overridden symbols and add it to result.
|
||||
result += supertypeScopeContext.convertGroupedCallablesToIntersectionResults(overridden.map { it.baseScope to listOf(it.member) })
|
||||
}
|
||||
// Case 3: No intersected symbols are overridden. Don't add anything to result.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-15
@@ -9,10 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||
import org.jetbrains.kotlin.fir.scopes.FirContainingNamesAwareScope
|
||||
import org.jetbrains.kotlin.fir.scopes.FirIntersectionScopeOverrideChecker
|
||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.firOverrideChecker
|
||||
import org.jetbrains.kotlin.fir.scopes.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -49,12 +46,8 @@ class FirClassUseSiteMemberScope(
|
||||
|
||||
|
||||
val (properties, fields) = getPropertiesAndFieldsFromSupertypesByName(name)
|
||||
for (propertyFromSupertype in properties) {
|
||||
val superSymbol = propertyFromSupertype.extractSomeSymbolFromSuperType()
|
||||
val overriddenBy = superSymbol.getOverridden(explicitlyDeclaredProperties)
|
||||
if (overriddenBy == null) {
|
||||
add(propertyFromSupertype.chosenSymbol)
|
||||
}
|
||||
for (resultOfIntersection in properties) {
|
||||
resultOfIntersection.collectNonOverriddenDeclarations(explicitlyDeclaredProperties, this@buildList)
|
||||
}
|
||||
addAll(fields)
|
||||
}
|
||||
@@ -62,12 +55,8 @@ class FirClassUseSiteMemberScope(
|
||||
|
||||
private fun computeDirectOverriddenForDeclaredProperty(declaredPropertySymbol: FirPropertySymbol): List<FirTypeIntersectionScopeContext.ResultOfIntersection<FirPropertySymbol>> {
|
||||
val result = mutableListOf<FirTypeIntersectionScopeContext.ResultOfIntersection<FirPropertySymbol>>()
|
||||
val declaredProperty = declaredPropertySymbol.fir
|
||||
for (resultOfIntersection in getPropertiesAndFieldsFromSupertypesByName(declaredPropertySymbol.name).first) {
|
||||
val symbolFromSupertype = resultOfIntersection.extractSomeSymbolFromSuperType()
|
||||
if (overrideChecker.isOverriddenProperty(declaredProperty, symbolFromSupertype.fir)) {
|
||||
result.add(resultOfIntersection)
|
||||
}
|
||||
resultOfIntersection.collectDirectOverriddenForDeclared(declaredPropertySymbol, result, overrideChecker::isOverriddenProperty)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: Base.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface Base {
|
||||
Base foo(@NotNull String name);
|
||||
}
|
||||
|
||||
// FILE: Derived.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface Derived extends Base {
|
||||
@Override
|
||||
@NotNull Derived foo(@Nullable String name);
|
||||
}
|
||||
|
||||
// FILE: Impl.kt
|
||||
abstract class Impl : Base {
|
||||
override fun foo(name: String): Base = this
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
abstract class ImplDerived : Impl(), Derived {
|
||||
abstract override fun foo(name: String?): Derived
|
||||
}
|
||||
|
||||
abstract class DerivedImpl : Derived, Impl() {
|
||||
abstract override fun foo(name: String?): Derived
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val x1: ImplDerived = object : ImplDerived() {
|
||||
override fun foo(name: String?): Derived = this
|
||||
}
|
||||
x1.foo("")
|
||||
(x1 as Base).foo("")
|
||||
(x1 as Derived).foo("")
|
||||
(x1 as Impl).foo("")
|
||||
|
||||
val x2: DerivedImpl = object : DerivedImpl() {
|
||||
override fun foo(name: String?): Derived = this
|
||||
}
|
||||
x2.foo("")
|
||||
(x2 as Base).foo("")
|
||||
(x2 as Derived).foo("")
|
||||
(x2 as Impl).foo("")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// ^Old backend reports CONFLICTING_JVM_DECLARATIONS on C1, K1 with IR is fine.
|
||||
// FULL_JDK
|
||||
// FILE: Remove.java
|
||||
public interface Remove {
|
||||
Boolean remove(Integer element);
|
||||
}
|
||||
|
||||
// FILE: GetBoxed.java
|
||||
public interface GetBoxed {
|
||||
Character get(Integer i);
|
||||
}
|
||||
|
||||
// FILE: GetPrimitive.java
|
||||
public interface GetPrimitive {
|
||||
Character get(int i);
|
||||
}
|
||||
|
||||
// FILE: MyString.java
|
||||
public abstract class MyString implements CharSequence {
|
||||
@Override public char charAt(int i) { return 'j'; }
|
||||
|
||||
@Override public int length() { return 0; }
|
||||
@Override public CharSequence subSequence(int start, int end) { return null; }
|
||||
}
|
||||
|
||||
// FILE: box.kt
|
||||
class RemoveOverridden : ArrayList<Int>(), Remove {
|
||||
// Overrides Remove.remove but not ArrayList.remove
|
||||
override fun remove(element: Int?): Boolean = false
|
||||
}
|
||||
|
||||
class RemoveNotOverridden : ArrayList<Int>(), Remove {
|
||||
}
|
||||
|
||||
class GetBoxedOverridden : MyString(), GetBoxed {
|
||||
// Overrides GetBoxed.get but not MyString.charAt
|
||||
override fun get(i: Int?): Char? = 'k'
|
||||
}
|
||||
|
||||
class GetPrimitiveOverridden : MyString(), GetPrimitive {
|
||||
// Overrides GetPrimitive.get and MyString.charAt
|
||||
override fun get(i: Int): Char = 'k'
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val r1 = RemoveOverridden()
|
||||
r1.add(1)
|
||||
r1.add(2)
|
||||
|
||||
r1.remove(1 as Int?)
|
||||
(r1 as Remove).remove(1)
|
||||
if (1 !in r1) return "FAIL 1"
|
||||
|
||||
r1.remove(1)
|
||||
if (1 in r1) return "FAIL 2"
|
||||
|
||||
(r1 as ArrayList<Int>).remove(2)
|
||||
if (2 in r1) return "FAIL 3"
|
||||
|
||||
val r2 = RemoveNotOverridden()
|
||||
r2.add(1)
|
||||
r2.add(2)
|
||||
r2.add(3)
|
||||
|
||||
(r2 as Remove).remove(1)
|
||||
if (1 in r2) return "FAIL 4"
|
||||
|
||||
r2.remove(2)
|
||||
if (1 in r2) return "FAIL 5"
|
||||
|
||||
(r2 as ArrayList<Int>).remove(3)
|
||||
if (2 in r2) return "FAIL 6"
|
||||
|
||||
val g1 = GetBoxedOverridden()
|
||||
if (g1.get(1) != 'j') return "FAIL 7"
|
||||
if ((g1 as MyString).get(1) != 'j') return "FAIL 8"
|
||||
if ((g1 as GetBoxed).get(1) != 'k') return "FAIL 9"
|
||||
|
||||
val g2 = GetPrimitiveOverridden()
|
||||
if (g2.get(1) != 'k') return "FAIL 10"
|
||||
if ((g2 as MyString).get(1) != 'k') return "FAIL 11"
|
||||
if ((g2 as GetPrimitive).get(1) != 'k') return "FAIL 12"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
// FULL_JDK
|
||||
// SCOPE_DUMP: B1:remove, B2:remove
|
||||
// FILE: Java1.java
|
||||
public interface Java1 {
|
||||
Boolean remove(Integer element);
|
||||
}
|
||||
|
||||
// FILE: testRemove.kt
|
||||
import java.util.*
|
||||
|
||||
// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1.
|
||||
class B1 : ArrayList<Int>(), Java1 {
|
||||
override fun remove(element: Int?): Boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1.
|
||||
class B2 : ArrayList<Int>(), Java1 {
|
||||
}
|
||||
|
||||
// FILE: Java2.java
|
||||
public interface Java2 {
|
||||
Character get(Integer i);
|
||||
}
|
||||
|
||||
// FILE: MyString.java
|
||||
public abstract class MyString implements CharSequence {
|
||||
@Override
|
||||
public char charAt(int i) {
|
||||
return 'c';
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: testRenamed.kt
|
||||
abstract class B3 : MyString(), Java2 {
|
||||
override fun get(i: Int?): Char? = null
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
B1:
|
||||
[Source]: public open override fun remove(element: R|kotlin/Int?|): R|kotlin/Boolean| from Use site scope of /B1 [id: 0]
|
||||
[Enhancement]: public abstract fun remove(element: R|kotlin/Int!|): R|kotlin/Boolean!| from Java enhancement scope for /Java1 [id: 1]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|@EnhancedNullability kotlin/Int|): R|kotlin/Boolean| from Use site scope of /B1 [id: 0]
|
||||
|
||||
B2:
|
||||
[IntersectionOverride]: public open override fun remove(p0: R|@EnhancedNullability kotlin/Int|): R|kotlin/Boolean| from Use site scope of /B2 [id: 0]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|@EnhancedNullability kotlin/Int|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/ArrayList] for type B2 [id: 1]
|
||||
[Enhancement]: public open fun remove(p0: R|@EnhancedNullability E|): R|kotlin/Boolean| from Java enhancement scope for java/util/ArrayList [id: 2]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type java/util/ArrayList<E> [id: 3]
|
||||
[IntersectionOverride]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractList [id: 4]
|
||||
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Java enhancement scope for java/util/AbstractCollection] for type java/util/AbstractList<E> [id: 5]
|
||||
[Enhancement]: public open fun remove(p0: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Java enhancement scope for java/util/AbstractCollection [id: 6]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type java/util/AbstractCollection<E> [id: 7]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|ft<E & Any, E?>|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 9]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableList [id: 10]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type kotlin/collections/MutableList<E> [id: 11]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/ArrayList<E> [id: 12]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableList [id: 10]
|
||||
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type kotlin/collections/MutableList<E> [id: 11]
|
||||
[Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8]
|
||||
[Enhancement]: public abstract fun remove(element: R|kotlin/Int!|): R|kotlin/Boolean!| from Java enhancement scope for /Java1 [id: 13]
|
||||
|
||||
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
// FULL_JDK
|
||||
// SCOPE_DUMP: B1:remove, B2:remove
|
||||
// FILE: Java1.java
|
||||
public interface Java1 {
|
||||
Boolean remove(Integer element);
|
||||
}
|
||||
|
||||
// FILE: testRemove.kt
|
||||
import java.util.*
|
||||
|
||||
// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1.
|
||||
class <!CONFLICTING_JVM_DECLARATIONS!>B1<!> : ArrayList<Int>(), Java1 {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>override fun remove(element: Int?): Boolean<!> {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1.
|
||||
class B2 : ArrayList<Int>(), Java1 {
|
||||
}
|
||||
|
||||
// FILE: Java2.java
|
||||
public interface Java2 {
|
||||
Character get(Integer i);
|
||||
}
|
||||
|
||||
// FILE: MyString.java
|
||||
public abstract class MyString implements CharSequence {
|
||||
@Override
|
||||
public char charAt(int i) {
|
||||
return 'c';
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: testRenamed.kt
|
||||
abstract class B3 : MyString(), Java2 {
|
||||
override fun get(i: Int?): Char? = null
|
||||
}
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
FILE fqName:<root> fileName:/1.kt
|
||||
CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.ArrayList<kotlin.Int>; <root>.Java1]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.B [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in java.util.ArrayList'
|
||||
<E>: kotlin.Int
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.ArrayList<kotlin.Int>; <root>.Java1]'
|
||||
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun clear (): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Any [fake_override]
|
||||
overridden:
|
||||
public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.Int?>?
|
||||
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
|
||||
overridden:
|
||||
public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in java.util.ArrayList
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun indexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator]
|
||||
overridden:
|
||||
public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override]
|
||||
overridden:
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Boolean? declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
|
||||
overridden:
|
||||
public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
|
||||
overridden:
|
||||
public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] kotlin.Int?>?
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override]
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override]
|
||||
overridden:
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] kotlin.Any?>? [fake_override]
|
||||
overridden:
|
||||
public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] kotlin.Any?>? declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <T> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>? [fake_override]
|
||||
overridden:
|
||||
public open fun toArray <T> (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of java.util.ArrayList.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of java.util.ArrayList.toArray?>? declared in java.util.ArrayList
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>?
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList
|
||||
public open fun toString (): kotlin.String declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val]
|
||||
overridden:
|
||||
public open size: kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:<get-size> visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Int [fake_override]
|
||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val]
|
||||
overridden:
|
||||
public open fun <get-size> (): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
abstract class B : ArrayList<Int>, Java1 {
|
||||
constructor() /* primary */ {
|
||||
super/*ArrayList*/<Int>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+238
@@ -0,0 +1,238 @@
|
||||
// CHECK:
|
||||
// Mangled name: B
|
||||
// Public signature: /B|null[0]
|
||||
abstract class B : ArrayList<Int>, Java1 {
|
||||
// CHECK:
|
||||
// Mangled name: B#<init>(){}
|
||||
// Public signature: /B.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.add|7559962077055454748[0]
|
||||
// Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun add(p0: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
|
||||
// Public signature: /B.add|-3194712170900556378[0]
|
||||
// Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
|
||||
/* fake */ override fun add(p0: Int, p1: @EnhancedNullability Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#addAll(kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.addAll|-8388196230555083661[0]
|
||||
// Public signature debug description: addAll(kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.addAll|30670022050259765[0]
|
||||
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#clear(){}
|
||||
// Public signature: /B.clear|-6446868449915108923[0]
|
||||
// Public signature debug description: clear(){}
|
||||
/* fake */ override fun clear(): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#clone(){}kotlin.Any{EnhancedNullability}
|
||||
// Public signature: /B.clone|178802004086941196[0]
|
||||
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
|
||||
/* fake */ override fun clone(): @EnhancedNullability Any
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.contains|3736388240191289860[0]
|
||||
// Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override operator fun contains(p0: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.containsAll|-6765067201579764726[0]
|
||||
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#ensureCapacity(kotlin.Int){}
|
||||
// Public signature: /B.ensureCapacity|-7913402150632352615[0]
|
||||
// Public signature debug description: ensureCapacity(kotlin.Int){}
|
||||
/* fake */ override fun ensureCapacity(p0: Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /B.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(p0: Any?): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#forEach(java.util.function.Consumer<in|kotlin.Int?>?){}
|
||||
// Public signature: /B.forEach|5766969768772302175[0]
|
||||
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.Int?>?){}
|
||||
/* fake */ override fun forEach(p0: Consumer<in Int?>?): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.get|-8822924217357855534[0]
|
||||
// Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override operator fun get(p0: Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#hashCode(){}kotlin.Int
|
||||
// Public signature: /B.hashCode|-8048879360829830756[0]
|
||||
// Public signature debug description: hashCode(){}kotlin.Int
|
||||
/* fake */ override fun hashCode(): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
// Public signature: /B.indexOf|866974352596659798[0]
|
||||
// Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
/* fake */ override fun indexOf(p0: @EnhancedNullability Int): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#isEmpty(){}kotlin.Boolean
|
||||
// Public signature: /B.isEmpty|-626562167393617703[0]
|
||||
// Public signature debug description: isEmpty(){}kotlin.Boolean
|
||||
/* fake */ override fun isEmpty(): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.iterator|115627760567581658[0]
|
||||
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
// Public signature: /B.lastIndexOf|1115527748420890033[0]
|
||||
// Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
/* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.listIterator|4960815808465755041[0]
|
||||
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.listIterator|-2268028930611070307[0]
|
||||
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#parallelStream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
|
||||
// Public signature: /B.parallelStream|-4126444245712748289[0]
|
||||
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
|
||||
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<Int?>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.remove|2933193249427016334[0]
|
||||
// Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun remove(p0: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.removeAll|-5493620261823900507[0]
|
||||
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun removeAll(p0: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.removeAt|6480490686215931144[0]
|
||||
// Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeIf(java.util.function.Predicate<in|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.removeIf|-1099538878717265414[0]
|
||||
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#removeRange(kotlin.Int;kotlin.Int){}
|
||||
// Public signature: /B.removeRange|7632320944993890593[0]
|
||||
// Public signature debug description: removeRange(kotlin.Int;kotlin.Int){}
|
||||
protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#replaceAll(java.util.function.UnaryOperator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}
|
||||
// Public signature: /B.replaceAll|6373979877176729001[0]
|
||||
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}
|
||||
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.retainAll|-3550913358824719637[0]
|
||||
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun retainAll(p0: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.set|-7932912415931410975[0]
|
||||
// Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#sort(java.util.Comparator<in|kotlin.Int?>?){}
|
||||
// Public signature: /B.sort|8069876015820305517[0]
|
||||
// Public signature debug description: sort(java.util.Comparator<in|kotlin.Int?>?){}
|
||||
/* fake */ override fun sort(p0: Comparator<in Int?>?): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#spliterator(){}java.util.Spliterator<kotlin.Int?>{EnhancedNullability}
|
||||
// Public signature: /B.spliterator|-3709449862893660489[0]
|
||||
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.Int?>{EnhancedNullability}
|
||||
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Int?>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#stream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
|
||||
// Public signature: /B.stream|2853909100718896833[0]
|
||||
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
|
||||
/* fake */ override fun stream(): @EnhancedNullability Stream<Int?>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.subList|127837164145565172[0]
|
||||
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toArray(){}kotlin.Array<out|kotlin.Any?>?
|
||||
// Public signature: /B.toArray|-8468800257910341540[0]
|
||||
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
|
||||
/* fake */ override fun toArray(): Array<out Any?>?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
|
||||
// Public signature: /B.toArray|-7248906015406159030[0]
|
||||
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
|
||||
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toString(){}kotlin.String{EnhancedNullability}
|
||||
// Public signature: /B.toString|7581629773206850948[0]
|
||||
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
|
||||
/* fake */ override fun toString(): @EnhancedNullability String
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#trimToSize(){}
|
||||
// Public signature: /B.trimToSize|-5937642362792008740[0]
|
||||
// Public signature debug description: trimToSize(){}
|
||||
/* fake */ override fun trimToSize(): Unit
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B{}size
|
||||
// Public signature: /B.size|-6253659984320132064[0]
|
||||
// Public signature debug description: {}size
|
||||
/* fake */ override val size: Int
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#<get-size>(){}kotlin.Int
|
||||
// Public signature: /B.size.<get-size>|-3941649985161900780[0]
|
||||
// Public signature debug description: <get-size>(){}kotlin.Int
|
||||
/* fake */ override get(): Int
|
||||
|
||||
}
|
||||
+197
@@ -0,0 +1,197 @@
|
||||
FILE fqName:<root> fileName:/1.kt
|
||||
CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.ArrayList<kotlin.Int>; <root>.Java1]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.B [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in java.util.ArrayList'
|
||||
<E>: @[FlexibleNullability] kotlin.Int?
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.ArrayList<kotlin.Int>; <root>.Java1]'
|
||||
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun add (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun clear (): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Any [fake_override]
|
||||
overridden:
|
||||
public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun contains (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
|
||||
VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.Int?>?
|
||||
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
|
||||
overridden:
|
||||
public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in java.util.ArrayList
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun indexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator]
|
||||
overridden:
|
||||
public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun remove (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
|
||||
public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Boolean? declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
|
||||
overridden:
|
||||
public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.ArrayList): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] kotlin.Int?>?
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override]
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override]
|
||||
overridden:
|
||||
public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.Any?>? [fake_override]
|
||||
overridden:
|
||||
public open fun toArray (): @[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.Any?>? declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <T> ($this:java.util.ArrayList<kotlin.Int>, p0:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>? [fake_override]
|
||||
overridden:
|
||||
public open fun toArray <T> (p0: @[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of java.util.ArrayList.toArray?>?): @[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of java.util.ArrayList.toArray?>? declared in java.util.ArrayList
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.B.toArray?>?
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList
|
||||
public open fun toString (): kotlin.String declared in <root>.Java1
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
|
||||
FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var]
|
||||
overridden:
|
||||
protected/*protected and package*/ final modCount: kotlin.Int
|
||||
PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val]
|
||||
overridden:
|
||||
public open size: kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:<get-size> visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Int [fake_override]
|
||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val]
|
||||
overridden:
|
||||
public open fun <get-size> (): kotlin.Int declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
|
||||
@@ -0,0 +1,13 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FULL_JDK
|
||||
// SEPARATE_SIGNATURE_DUMP_FOR_K2
|
||||
// FILE: Java1.java
|
||||
public interface Java1 {
|
||||
Boolean remove(Integer element);
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
import java.util.*;
|
||||
|
||||
abstract class B : ArrayList<Int>(), Java1 {
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
abstract class B : ArrayList<Int>, Java1 {
|
||||
constructor() /* primary */ {
|
||||
super/*ArrayList*/<@FlexibleNullability Int?>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+238
@@ -0,0 +1,238 @@
|
||||
// CHECK:
|
||||
// Mangled name: B
|
||||
// Public signature: /B|null[0]
|
||||
abstract class B : ArrayList<Int>, Java1 {
|
||||
// CHECK:
|
||||
// Mangled name: B#<init>(){}
|
||||
// Public signature: /B.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.add|7559962077055454748[0]
|
||||
// Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun add(element: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
|
||||
// Public signature: /B.add|-3194712170900556378[0]
|
||||
// Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
|
||||
/* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#addAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.addAll|-8818439124580844723[0]
|
||||
// Public signature debug description: addAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.addAll|357368019962742687[0]
|
||||
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#clear(){}
|
||||
// Public signature: /B.clear|-6446868449915108923[0]
|
||||
// Public signature debug description: clear(){}
|
||||
/* fake */ override fun clear(): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#clone(){}kotlin.Any{EnhancedNullability}
|
||||
// Public signature: /B.clone|178802004086941196[0]
|
||||
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
|
||||
/* fake */ override fun clone(): @EnhancedNullability Any
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.contains|3736388240191289860[0]
|
||||
// Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.containsAll|-6765067201579764726[0]
|
||||
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#ensureCapacity(kotlin.Int){}
|
||||
// Public signature: /B.ensureCapacity|-7913402150632352615[0]
|
||||
// Public signature debug description: ensureCapacity(kotlin.Int){}
|
||||
/* fake */ override fun ensureCapacity(p0: Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.equals|4126616015386471185[0]
|
||||
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#forEach(java.util.function.Consumer<in|kotlin.Int?>?){}
|
||||
// Public signature: /B.forEach|5766969768772302175[0]
|
||||
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.Int?>?){}
|
||||
/* fake */ override fun forEach(p0: Consumer<in Int?>?): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.get|-8822924217357855534[0]
|
||||
// Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override operator fun get(index: Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#hashCode(){}kotlin.Int
|
||||
// Public signature: /B.hashCode|-8048879360829830756[0]
|
||||
// Public signature debug description: hashCode(){}kotlin.Int
|
||||
/* fake */ override fun hashCode(): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
// Public signature: /B.indexOf|866974352596659798[0]
|
||||
// Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
/* fake */ override fun indexOf(element: @EnhancedNullability Int): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#isEmpty(){}kotlin.Boolean
|
||||
// Public signature: /B.isEmpty|-626562167393617703[0]
|
||||
// Public signature debug description: isEmpty(){}kotlin.Boolean
|
||||
/* fake */ override fun isEmpty(): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.iterator|115627760567581658[0]
|
||||
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
// Public signature: /B.lastIndexOf|1115527748420890033[0]
|
||||
// Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
|
||||
/* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.listIterator|4960815808465755041[0]
|
||||
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.listIterator|-2268028930611070307[0]
|
||||
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#parallelStream(){}java.util.stream.Stream<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.parallelStream|7878330035109535908[0]
|
||||
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.remove|2933193249427016334[0]
|
||||
// Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun remove(element: @EnhancedNullability Int): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.removeAll|-5493620261823900507[0]
|
||||
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.removeAt|6480490686215931144[0]
|
||||
// Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#removeIf(java.util.function.Predicate<in|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /B.removeIf|-1099538878717265414[0]
|
||||
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#removeRange(kotlin.Int;kotlin.Int){}
|
||||
// Public signature: /B.removeRange|7632320944993890593[0]
|
||||
// Public signature debug description: removeRange(kotlin.Int;kotlin.Int){}
|
||||
protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#replaceAll(java.util.function.UnaryOperator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}
|
||||
// Public signature: /B.replaceAll|6373979877176729001[0]
|
||||
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}
|
||||
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
// Public signature: /B.retainAll|-3550913358824719637[0]
|
||||
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
|
||||
/* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
|
||||
// Public signature: /B.set|-7932912415931410975[0]
|
||||
// Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
|
||||
/* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#sort(java.util.Comparator<in|kotlin.Int?>?){}
|
||||
// Public signature: /B.sort|8069876015820305517[0]
|
||||
// Public signature debug description: sort(java.util.Comparator<in|kotlin.Int?>?){}
|
||||
/* fake */ override fun sort(p0: Comparator<in Int?>?): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#spliterator(){}java.util.Spliterator<kotlin.Int?>{EnhancedNullability}
|
||||
// Public signature: /B.spliterator|-3709449862893660489[0]
|
||||
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.Int?>{EnhancedNullability}
|
||||
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Int?>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#stream(){}java.util.stream.Stream<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.stream|5410141522529844650[0]
|
||||
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
// Public signature: /B.subList|127837164145565172[0]
|
||||
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
|
||||
/* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int>
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toArray(){}kotlin.Array<out|kotlin.Any?>?
|
||||
// Public signature: /B.toArray|-8468800257910341540[0]
|
||||
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
|
||||
/* fake */ override fun toArray(): Array<out Any?>?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
|
||||
// Public signature: /B.toArray|-7248906015406159030[0]
|
||||
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
|
||||
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#toString(){}kotlin.String{EnhancedNullability}
|
||||
// Public signature: /B.toString|7581629773206850948[0]
|
||||
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
|
||||
/* fake */ override fun toString(): @EnhancedNullability String
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B#trimToSize(){}
|
||||
// Public signature: /B.trimToSize|-5937642362792008740[0]
|
||||
// Public signature debug description: trimToSize(){}
|
||||
/* fake */ override fun trimToSize(): Unit
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: B{}size
|
||||
// Public signature: /B.size|-6253659984320132064[0]
|
||||
// Public signature debug description: {}size
|
||||
/* fake */ override val size: Int
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: B#<get-size>(){}kotlin.Int
|
||||
// Public signature: /B.size.<get-size>|-3941649985161900780[0]
|
||||
// Public signature debug description: <get-size>(){}kotlin.Int
|
||||
/* fake */ override get(): Int
|
||||
|
||||
}
|
||||
Generated
+6
@@ -22721,6 +22721,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/getCharSequence.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantCharAtAbstract.kt")
|
||||
public void testIrrelevantCharAtAbstract() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -51309,6 +51315,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+6
@@ -29013,6 +29013,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -51361,6 +51367,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+12
@@ -30819,6 +30819,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
@@ -51361,6 +51367,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
|
||||
+6
@@ -2703,6 +2703,12 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest
|
||||
public void testFakeOverrideOfRawJavaCollection() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
|
||||
+10
@@ -26067,6 +26067,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("immutableName.kt")
|
||||
public void testImmutableName() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/immutableName.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inheritanceWithWildcard.kt")
|
||||
public void testInheritanceWithWildcard() {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
|
||||
@@ -41330,6 +41335,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("intersectionWithMappedSignature.kt")
|
||||
public void testIntersectionWithMappedSignature() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/intersectionWithMappedSignature.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("irrelevantRemoveAndJavaList.kt")
|
||||
public void testIrrelevantRemoveAndJavaList() {
|
||||
runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt");
|
||||
|
||||
Reference in New Issue
Block a user