FE1.0 Analysis API: make KtSymbol only reference declaration-site subst-overrides
This is the FE1.0 counterpart of fa8bb47bdf
This commit is contained in:
committed by
Ilya Kirillov
parent
b3be835c6f
commit
f1bd3597f8
+74
-19
@@ -8,16 +8,14 @@ package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.ba
|
||||
import org.jetbrains.kotlin.analysis.api.*
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.*
|
||||
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.base.KtConstantValueFactory
|
||||
import org.jetbrains.kotlin.analysis.api.components.KtDeclarationRendererOptions
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.*
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.base.KtFe10PsiSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.types.*
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10Renderer
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.utils.KtFe10TypeRenderer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtTypeNullability
|
||||
import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint
|
||||
@@ -35,7 +33,6 @@ import org.jetbrains.kotlin.load.kotlin.toSourceElement
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||
import org.jetbrains.kotlin.psi.KtCallElement
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
@@ -128,29 +125,87 @@ internal val CallableMemberDescriptor.ktHasStableParameterNames: Boolean
|
||||
}
|
||||
|
||||
internal fun CallableDescriptor.toKtCallableSymbol(analysisContext: Fe10AnalysisContext): KtCallableSymbol? {
|
||||
return when (this) {
|
||||
is PropertyGetterDescriptor -> KtFe10DescPropertyGetterSymbol(this, analysisContext)
|
||||
is PropertySetterDescriptor -> KtFe10DescPropertySetterSymbol(this, analysisContext)
|
||||
is SamConstructorDescriptor -> KtFe10DescSamConstructorSymbol(this, analysisContext)
|
||||
is ConstructorDescriptor -> toKtConstructorSymbol(analysisContext)
|
||||
return when (val unwrapped = unwrapFakeOverrideIfNeeded()) {
|
||||
is PropertyGetterDescriptor -> KtFe10DescPropertyGetterSymbol(unwrapped, analysisContext)
|
||||
is PropertySetterDescriptor -> KtFe10DescPropertySetterSymbol(unwrapped, analysisContext)
|
||||
is SamConstructorDescriptor -> KtFe10DescSamConstructorSymbol(unwrapped, analysisContext)
|
||||
is ConstructorDescriptor -> unwrapped.toKtConstructorSymbol(analysisContext)
|
||||
is FunctionDescriptor -> {
|
||||
if (DescriptorUtils.isAnonymousFunction(this)) {
|
||||
KtFe10DescAnonymousFunctionSymbol(this, analysisContext)
|
||||
if (DescriptorUtils.isAnonymousFunction(unwrapped)) {
|
||||
KtFe10DescAnonymousFunctionSymbol(unwrapped, analysisContext)
|
||||
} else {
|
||||
KtFe10DescFunctionSymbol.build(this, analysisContext)
|
||||
KtFe10DescFunctionSymbol.build(unwrapped, analysisContext)
|
||||
}
|
||||
}
|
||||
is SyntheticFieldDescriptor -> KtFe10DescSyntheticFieldSymbol(this, analysisContext)
|
||||
is LocalVariableDescriptor -> KtFe10DescLocalVariableSymbol(this, analysisContext)
|
||||
is ValueParameterDescriptor -> KtFe10DescValueParameterSymbol(this, analysisContext)
|
||||
is SyntheticJavaPropertyDescriptor -> KtFe10DescSyntheticJavaPropertySymbol(this, analysisContext)
|
||||
is JavaForKotlinOverridePropertyDescriptor -> KtFe10DescSyntheticJavaPropertySymbolForOverride(this, analysisContext)
|
||||
is JavaPropertyDescriptor -> KtFe10DescJavaFieldSymbol(this, analysisContext)
|
||||
is PropertyDescriptorImpl -> KtFe10DescKotlinPropertySymbol(this, analysisContext)
|
||||
is SyntheticFieldDescriptor -> KtFe10DescSyntheticFieldSymbol(unwrapped, analysisContext)
|
||||
is LocalVariableDescriptor -> KtFe10DescLocalVariableSymbol(unwrapped, analysisContext)
|
||||
is ValueParameterDescriptor -> KtFe10DescValueParameterSymbol(unwrapped, analysisContext)
|
||||
is SyntheticJavaPropertyDescriptor -> KtFe10DescSyntheticJavaPropertySymbol(unwrapped, analysisContext)
|
||||
is JavaForKotlinOverridePropertyDescriptor -> KtFe10DescSyntheticJavaPropertySymbolForOverride(unwrapped, analysisContext)
|
||||
is JavaPropertyDescriptor -> KtFe10DescJavaFieldSymbol(unwrapped, analysisContext)
|
||||
is PropertyDescriptorImpl -> KtFe10DescKotlinPropertySymbol(unwrapped, analysisContext)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This logic should be equivalent to
|
||||
* [org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder.unwrapSubstitutionOverrideIfNeeded]. But this method unwrap all fake
|
||||
* overrides that do not change the signature.
|
||||
*/
|
||||
internal fun CallableDescriptor.unwrapFakeOverrideIfNeeded(): CallableDescriptor {
|
||||
val useSiteUnwrapped = unwrapUseSiteSubstitutionOverride()
|
||||
if (useSiteUnwrapped !is CallableMemberDescriptor) return useSiteUnwrapped
|
||||
if (useSiteUnwrapped.kind.isReal) return useSiteUnwrapped
|
||||
val overriddenDescriptor = useSiteUnwrapped.overriddenDescriptors.singleOrNull()?.unwrapUseSiteSubstitutionOverride()
|
||||
?: return useSiteUnwrapped
|
||||
if (hasTypeReferenceAffectingSignature(useSiteUnwrapped, overriddenDescriptor)) {
|
||||
return useSiteUnwrapped
|
||||
}
|
||||
return overriddenDescriptor.unwrapFakeOverrideIfNeeded()
|
||||
}
|
||||
|
||||
private fun hasTypeReferenceAffectingSignature(
|
||||
descriptor: CallableMemberDescriptor,
|
||||
overriddenDescriptor: CallableMemberDescriptor
|
||||
): Boolean {
|
||||
val containingClass = (descriptor.containingDeclaration as? ClassifierDescriptorWithTypeParameters)
|
||||
val typeParametersFromOuterClass = buildList { containingClass?.let { collectTypeParameters(it) } }
|
||||
val allowedTypeParameters = (overriddenDescriptor.typeParameters + typeParametersFromOuterClass).toSet()
|
||||
return overriddenDescriptor.returnType?.hasReferenceOtherThan(allowedTypeParameters) == true ||
|
||||
overriddenDescriptor.extensionReceiverParameter?.type?.hasReferenceOtherThan(allowedTypeParameters) == true ||
|
||||
overriddenDescriptor.valueParameters.any { it.type.hasReferenceOtherThan(allowedTypeParameters) }
|
||||
}
|
||||
|
||||
private fun MutableList<TypeParameterDescriptor>.collectTypeParameters(innerClass: ClassifierDescriptorWithTypeParameters) {
|
||||
if (!innerClass.isInner) return
|
||||
val outerClass = innerClass.containingDeclaration as? ClassifierDescriptorWithTypeParameters ?: return
|
||||
addAll(outerClass.declaredTypeParameters)
|
||||
collectTypeParameters(outerClass)
|
||||
}
|
||||
|
||||
private fun KotlinType.hasReferenceOtherThan(allowedTypeParameterDescriptors: Set<TypeParameterDescriptor>): Boolean {
|
||||
return when (this) {
|
||||
is SimpleType -> {
|
||||
val declarationDescriptor = constructor.declarationDescriptor
|
||||
if (declarationDescriptor !is AbstractTypeParameterDescriptor) return false
|
||||
declarationDescriptor !in allowedTypeParameterDescriptors ||
|
||||
declarationDescriptor.upperBounds.any { it.hasReferenceOtherThan(allowedTypeParameterDescriptors) }
|
||||
}
|
||||
else -> arguments.any { it.type.hasReferenceOtherThan(allowedTypeParameterDescriptors) }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use-site substitution override are tracked through [CallableDescriptor.getOriginal]. Note that overridden symbols are accessed through
|
||||
* [CallableDescriptor.getOverriddenDescriptors] instead, which is separate from [CallableDescriptor.getOriginal].
|
||||
*/
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
private fun <T : CallableDescriptor> T.unwrapUseSiteSubstitutionOverride(): T {
|
||||
if (original == this) return this
|
||||
return original.unwrapUseSiteSubstitutionOverride() as T
|
||||
}
|
||||
|
||||
internal fun KotlinType.toKtType(analysisContext: Fe10AnalysisContext): KtType {
|
||||
return when (val unwrappedType = unwrap()) {
|
||||
is FlexibleType -> KtFe10FlexibleType(unwrappedType, analysisContext)
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.scopes
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.scopes.AbstractSubstitutionOverridesUnwrappingTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.SymbolTestDirectives
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
|
||||
abstract class AbstractKtFe10SubstitutionOverridesUnwrappingTest :
|
||||
AbstractSubstitutionOverridesUnwrappingTest(KtFe10FrontendApiTestConfiguratorService) {
|
||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||
super.configureTest(builder)
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
// TODO: remove this to enable checking symbol restoration when FE1.0 symbols can be restored correctly
|
||||
+SymbolTestDirectives.DO_NOT_CHECK_SYMBOL_RESTORE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.scopes;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class KtFe10SubstitutionOverridesUnwrappingTestGenerated extends AbstractKtFe10SubstitutionOverridesUnwrappingTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInSubstitutionOverridesUnwrapping() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ClassWithGenericBase1.kt")
|
||||
public void testClassWithGenericBase1() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/ClassWithGenericBase1.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ClassWithGenericBase2.kt")
|
||||
public void testClassWithGenericBase2() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/ClassWithGenericBase2.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ClassWithGenericBase3.kt")
|
||||
public void testClassWithGenericBase3() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/ClassWithGenericBase3.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ClassWithGenericBase4.kt")
|
||||
public void testClassWithGenericBase4() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/ClassWithGenericBase4.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromFunctionInLocalClass1.kt")
|
||||
public void testGenericFromFunctionInLocalClass1() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromFunctionInLocalClass1.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromFunctionInLocalClass2.kt")
|
||||
public void testGenericFromFunctionInLocalClass2() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromFunctionInLocalClass2.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromOuterClassInInnerClass1.kt")
|
||||
public void testGenericFromOuterClassInInnerClass1() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromOuterClassInInnerClass1.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromOuterClassInInnerClass2.kt")
|
||||
public void testGenericFromOuterClassInInnerClass2() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromOuterClassInInnerClass2.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromOuterClassInInnerClassInInheritor1.kt")
|
||||
public void testGenericFromOuterClassInInnerClassInInheritor1() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromOuterClassInInnerClassInInheritor1.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromOuterClassInInnerClassInInheritor2.kt")
|
||||
public void testGenericFromOuterClassInInnerClassInInheritor2() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromOuterClassInInnerClassInInheritor2.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("GenericFromOuterClassInInnerClassInInheritor3.kt")
|
||||
public void testGenericFromOuterClassInInnerClassInInheritor3() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/GenericFromOuterClassInInnerClassInInheritor3.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("Implement_java_util_Collection.kt")
|
||||
public void testImplement_java_util_Collection() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/Implement_java_util_Collection.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MemberFunctionWithOuterTypeParameterBound.kt")
|
||||
public void testMemberFunctionWithOuterTypeParameterBound() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/MemberFunctionWithOuterTypeParameterBound.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MemberPropertyWithOuterTypeParameterBound.kt")
|
||||
public void testMemberPropertyWithOuterTypeParameterBound() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/MemberPropertyWithOuterTypeParameterBound.kt");
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -116,7 +116,7 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi
|
||||
}
|
||||
}
|
||||
|
||||
private object SymbolTestDirectives : SimpleDirectivesContainer() {
|
||||
object SymbolTestDirectives : SimpleDirectivesContainer() {
|
||||
val DO_NOT_CHECK_SYMBOL_RESTORE by directive(
|
||||
description = "Symbol restoring for some symbols in current test is not supported yet",
|
||||
applicability = DirectiveApplicability.Global
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuterGeneric(t: test.Foo)
|
||||
|
||||
fun <TT> withOwnGeneric(tt: TT)
|
||||
|
||||
fun <TT> withOuterAndOwnGeneric(t: test.Foo, tt: TT)
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Base<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/ClassWithGenericBase.withOuterGeneric
|
||||
name: withOuterGeneric
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/Foo>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/Base.withOwnGeneric
|
||||
name: withOwnGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Base<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/ClassWithGenericBase.withOuterAndOwnGeneric
|
||||
name: withOuterAndOwnGeneric
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/Foo>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
val noGeneric: test.Foo?
|
||||
|
||||
val withOuterGeneric: test.Foo?
|
||||
|
||||
val <TT> TT.withOwnGeneric: TT?
|
||||
|
||||
val <TT> TT.withOuterAndOwnGeneric: test.Foo?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Base<T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithGenericBase.withOuterGeneric
|
||||
name: withOuterGeneric
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/Foo>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/Base.withOwnGeneric
|
||||
name: withOwnGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Base<T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithGenericBase.withOuterAndOwnGeneric
|
||||
name: withOuterAndOwnGeneric
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/Foo>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun noGenerics_InterfaceWithFun()
|
||||
|
||||
open fun withOuterGeneric_InterfaceWithFun(): test.SomeClass2
|
||||
|
||||
fun noGenerics_InterfaceWithFunBase()
|
||||
|
||||
fun withOuterGenericT1_InterfaceWithFunBase(): test.SomeClass1
|
||||
|
||||
open fun withOuterGenericT2_InterfaceWithFunBase(): test.SomeClass2
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithFun.noGenerics_InterfaceWithFun
|
||||
name: noGenerics_InterfaceWithFun
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithFun<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithFun.withOuterGeneric_InterfaceWithFun
|
||||
name: withOuterGeneric_InterfaceWithFun
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithFun<test/SomeClass2>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithFunBase.noGenerics_InterfaceWithFunBase
|
||||
name: noGenerics_InterfaceWithFunBase
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithFunBase<T1, T2>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithFun.withOuterGenericT1_InterfaceWithFunBase
|
||||
name: withOuterGenericT1_InterfaceWithFunBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithFunBase<test/SomeClass1, T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithFun.withOuterGenericT2_InterfaceWithFunBase
|
||||
name: withOuterGenericT2_InterfaceWithFunBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithFunBase<test/SomeClass1, test/SomeClass2>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
val noGenerics_InterfaceWithVal: test.SomeClass1
|
||||
|
||||
abstract val withOuterGeneric_InterfaceWithVal: test.SomeClass2
|
||||
|
||||
val <Own> Own.withOwnGeneric_InterfaceWithVal: test.SomeClass1
|
||||
|
||||
abstract val <Own> Own.withOwnAndOuterGeneric_InterfaceWithVal: test.SomeClass2
|
||||
|
||||
val noGenerics_InterfaceWithValBase: test.SomeClass1
|
||||
|
||||
val withOuterGenericT1_InterfaceWithValBase: test.SomeClass1
|
||||
|
||||
abstract val withOuterGenericT2_InterfaceWithValBase: test.SomeClass2
|
||||
|
||||
val <Own> Own.withOwnGeneric_InterfaceWithValBase: test.SomeClass1
|
||||
|
||||
val <Own> Own.withOwnAndOuterGenericT1_InterfaceWithValBase: test.SomeClass1
|
||||
|
||||
abstract val <Own> Own.withOwnAndOuterGenericT2_InterfaceWithValBase: test.SomeClass2
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithVal.noGenerics_InterfaceWithVal
|
||||
name: noGenerics_InterfaceWithVal
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithVal<T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithVal.withOuterGeneric_InterfaceWithVal
|
||||
name: withOuterGeneric_InterfaceWithVal
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithVal<test/SomeClass2>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithVal.withOwnGeneric_InterfaceWithVal
|
||||
name: withOwnGeneric_InterfaceWithVal
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithVal<T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithVal.withOwnAndOuterGeneric_InterfaceWithVal
|
||||
name: withOwnAndOuterGeneric_InterfaceWithVal
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithVal<test/SomeClass2>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithValBase.noGenerics_InterfaceWithValBase
|
||||
name: noGenerics_InterfaceWithValBase
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<T1, T2>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithVal.withOuterGenericT1_InterfaceWithValBase
|
||||
name: withOuterGenericT1_InterfaceWithValBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<test/SomeClass1, T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithVal.withOuterGenericT2_InterfaceWithValBase
|
||||
name: withOuterGenericT2_InterfaceWithValBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<test/SomeClass1, test/SomeClass2>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithValBase.withOwnGeneric_InterfaceWithValBase
|
||||
name: withOwnGeneric_InterfaceWithValBase
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<T1, T2>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/InterfaceWithVal.withOwnAndOuterGenericT1_InterfaceWithValBase
|
||||
name: withOwnAndOuterGenericT1_InterfaceWithValBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<test/SomeClass1, T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/ClassWithInterfaceWithVal.withOwnAndOuterGenericT2_InterfaceWithValBase
|
||||
name: withOwnAndOuterGenericT2_InterfaceWithValBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/InterfaceWithValBase<test/SomeClass1, test/SomeClass2>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fun noGenerics()
|
||||
|
||||
fun withOuter(): Outer?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: null
|
||||
name: noGenerics
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Child<Outer>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: null
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<Outer>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fun noGenerics()
|
||||
|
||||
fun withOuter(): Outer?
|
||||
|
||||
fun withOuterAndOwn(t: test.SomeClass): Outer?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: null
|
||||
name: noGenerics
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/Child<Outer>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: null
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/SomeClass, Outer>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: null
|
||||
name: withOuterAndOwn
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/Base<test/SomeClass, Outer>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuter(): Outer?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.withOuter
|
||||
name: withOuter
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuter(): Outer?
|
||||
|
||||
fun withOwnAndOuter(t: test.SomeClass): Outer?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.withOuter
|
||||
name: withOuter
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Child.withOwnAndOuter
|
||||
name: withOwnAndOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<test/SomeClass>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuter(): test.SomeClass?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/OtherTopLevel.Child.withOuter
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/TopLevel<test/SomeClass>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuter(): T?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/OtherTopLevel.Child.withOuter
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/TopLevel<T>.test/TopLevel.Base
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fun noGeneric()
|
||||
|
||||
fun withOuter(): test.SomeClass?
|
||||
|
||||
fun withOwnAndOuter(t: test.SomeClass): test.SomeClass?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/TopLevel.Base.noGeneric
|
||||
name: noGeneric
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<T>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/OtherTopLevel.Child.withOuter
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/TopLevel<test/SomeClass>.test/TopLevel.Base<test/SomeClass>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/OtherTopLevel.Child.withOwnAndOuter
|
||||
name: withOwnAndOuter
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/TopLevel<test/SomeClass>.test/TopLevel.Base<test/SomeClass>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
override operator fun iterator(): kotlin.collections.MutableIterator<EE?!>
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
|
||||
fun size(): kotlin.Int
|
||||
|
||||
fun isEmpty(): kotlin.Boolean
|
||||
|
||||
operator fun contains(p0: kotlin.Anykotlin.Any?!): kotlin.Boolean
|
||||
|
||||
fun toArray(): kotlin.Array<kotlin.Anykotlin.Any?!>kotlin.Array<out kotlin.Anykotlin.Any?!>?!
|
||||
|
||||
fun <T : kotlin.Anykotlin.Any?!> toArray(p0: kotlin.Array<TT?!>kotlin.Array<out TT?!>?!): kotlin.Array<TT?!>kotlin.Array<out TT?!>?!
|
||||
|
||||
fun add(p0: EE?!): kotlin.Boolean
|
||||
|
||||
fun remove(p0: kotlin.Anykotlin.Any?!): kotlin.Boolean
|
||||
|
||||
fun containsAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean
|
||||
|
||||
fun addAll(p0: kotlin.collections.MutableCollection<out EE?!>kotlin.collections.Collection<EE?!>?!): kotlin.Boolean
|
||||
|
||||
fun removeAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean
|
||||
|
||||
fun retainAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean
|
||||
|
||||
fun clear()
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.iterator
|
||||
name: iterator
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.size
|
||||
name: size
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.isEmpty
|
||||
name: isEmpty
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.contains
|
||||
name: contains
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.toArray
|
||||
name: toArray
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.toArray
|
||||
name: toArray
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.add
|
||||
name: add
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.remove
|
||||
name: remove
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.containsAll
|
||||
name: containsAll
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.addAll
|
||||
name: addAll
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.removeAll
|
||||
name: removeAll
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.retainAll
|
||||
name: retainAll
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: java/util/Collection.clear
|
||||
name: clear
|
||||
origin: JAVA
|
||||
getDispatchReceiver(): java/util/Collection<E>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
abstract fun <TT1 : test.Foo, TT2 : test.OtherInterface> funWithOuterAndOwnGenericsAndBounds(tT1: TT1?, tT2: TT2?)
|
||||
|
||||
open val <TT1 : test.Foo, TT2 : test.OtherInterface> test.TwoParams<TT1, TT2>.propWithOuterAndOwnGenericsAndBounds: test.Foo?
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: test/MyClass.funWithOuterAndOwnGenericsAndBounds
|
||||
name: funWithOuterAndOwnGenericsAndBounds
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/MyInterface<test/Foo>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/MyClass.propWithOuterAndOwnGenericsAndBounds
|
||||
name: propWithOuterAndOwnGenericsAndBounds
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/MyInterface<test/Foo>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
val <Own : test.ClassA> Own.withOwnGeneric_InterfaceWithValBase: test.ClassA
|
||||
|
||||
abstract val <Own : test.ClassB> Own.withOwnAndOuterGenericAsTypeBound_InterfaceWithValBase: test.ClassA
|
||||
|
||||
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
open fun hashCode(): kotlin.Int
|
||||
|
||||
open fun toString(): kotlin.String
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/MyInterface.withOwnGeneric_InterfaceWithValBase
|
||||
name: withOwnGeneric_InterfaceWithValBase
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): test/MyInterface<T>
|
||||
|
||||
KtKotlinPropertySymbol:
|
||||
callableIdIfNonLocal: test/Inheritor.withOwnAndOuterGenericAsTypeBound_InterfaceWithValBase
|
||||
name: withOwnAndOuterGenericAsTypeBound_InterfaceWithValBase
|
||||
origin: SOURCE
|
||||
getDispatchReceiver(): test/MyInterface<test/ClassB>
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.equals
|
||||
name: equals
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.hashCode
|
||||
name: hashCode
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
|
||||
KtFunctionSymbol:
|
||||
callableIdIfNonLocal: kotlin/Any.toString
|
||||
name: toString
|
||||
origin: LIBRARY
|
||||
getDispatchReceiver(): kotlin/Any
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: test/TopLevel.Child.withOuter
|
||||
callableIdIfNonLocal: test/TopLevel.Base.withOuter
|
||||
hasStableParameterNames: true
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
@@ -13,12 +13,12 @@ KtFunctionSymbol:
|
||||
isSuspend: false
|
||||
modality: FINAL
|
||||
name: withOuter
|
||||
origin: SOURCE
|
||||
origin: LIBRARY
|
||||
receiverType: null
|
||||
returnType: Outer?
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<test/SomeClass>
|
||||
deprecationStatus: null
|
||||
getDispatchReceiver(): test/TopLevel<Outer>.test/TopLevel.Base<T>
|
||||
deprecationStatus: null
|
||||
+2
-1
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.test.components.symbolDecla
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.typeCreator.AbstractKtFe10TypeParameterTypeTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.typeProvider.AbstractKtFe10HasCommonSubtypeTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.expressionTypeProvider.AbstractKtFe10DeclarationReturnTypeTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.scopes.AbstractKtFe10SubstitutionOverridesUnwrappingTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByFqNameTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByPsiTest
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByReferenceTest
|
||||
@@ -67,7 +68,7 @@ private fun TestGroupSuite.generateAnalysisApiNonComponentsTests() {
|
||||
group("scopes") {
|
||||
test(
|
||||
fir = AbstractFirSubstitutionOverridesUnwrappingTest::class,
|
||||
fe10 = null,
|
||||
fe10 = AbstractKtFe10SubstitutionOverridesUnwrappingTest::class,
|
||||
) {
|
||||
model("substitutionOverridesUnwrapping")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user