diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConflictsHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConflictsHelpers.kt index 4d4f15b3ded..9393252b960 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConflictsHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConflictsHelpers.kt @@ -353,7 +353,7 @@ fun FirDeclarationCollector>.collectTopLevel(file: FirFile, pa conflictingFile ) - session.lookupTracker?.recordLookup(declarationName, file.packageFqName.asString(), declaration.source, file.source) + session.lookupTracker?.recordNameLookup(declarationName, file.packageFqName.asString(), declaration.source, file.source) } } diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/IncrementalPassThroughLookupTrackerComponent.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/IncrementalPassThroughLookupTrackerComponent.kt index b47268e40b9..d5662097fa1 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/IncrementalPassThroughLookupTrackerComponent.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/IncrementalPassThroughLookupTrackerComponent.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticUtils.getLineAndColumnInPsiFil import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.incremental.components.Position import org.jetbrains.kotlin.incremental.components.ScopeKind -import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.utils.SmartList import java.util.concurrent.ConcurrentHashMap @@ -23,7 +22,7 @@ class IncrementalPassThroughLookupTrackerComponent( private val requiresPosition = lookupTracker.requiresPosition private val sourceToFilePathsCache = ConcurrentHashMap() - override fun recordLookup(name: Name, inScopes: List, source: KtSourceElement?, fileSource: KtSourceElement?) { + override fun recordLookup(name: String, inScopes: Iterable, source: KtSourceElement?, fileSource: KtSourceElement?) { // finding file for a source only possible for PSI, here it means // that we allow null for file source only for PSI-only "sources", currently - java ones, ignoring the other cases // TODO: although there are valid use cases for missing fileSource, the ignore may hide some possible bugs; consider stricter implementation @@ -38,11 +37,11 @@ class IncrementalPassThroughLookupTrackerComponent( } else Position.NO_POSITION for (scope in inScopes) { - lookupTracker.record(path, position, scope, ScopeKind.PACKAGE, name.asString()) + lookupTracker.record(path, position, scope, ScopeKind.PACKAGE, name) } } - override fun recordLookup(name: Name, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) { + override fun recordLookup(name: String, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) { recordLookup(name, SmartList(inScope), source, fileSource) } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 57873f6db87..86b215a0700 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -132,8 +132,6 @@ class FirSignatureEnhancement( symbol = FirEnumEntrySymbol(firElement.symbol.callableId) returnTypeRef = newReturnTypeRef origin = FirDeclarationOrigin.Enhancement - }.apply { - session.lookupTracker?.recordTypeResolveAsLookup(newReturnTypeRef, this.source, null) }.symbol } is FirField -> { diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirExplicitSimpleImportingScope.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirExplicitSimpleImportingScope.kt index 3d7c8310f59..0716fcfcc23 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirExplicitSimpleImportingScope.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirExplicitSimpleImportingScope.kt @@ -19,8 +19,4 @@ class FirExplicitSimpleImportingScope( imports.filterIsInstance() .filter { !it.isAllUnder && it.importedName != null } .groupBy { it.aliasName ?: it.importedName!! } - - override val scopeOwnerLookupNames: List by lazy(LazyThreadSafetyMode.PUBLICATION) { - simpleImports.values.flatMapTo(LinkedHashSet()) { it.map { it.packageFqName.asString() } }.toList() - } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt index 013e31c5517..ea1c5d5aea4 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt @@ -476,18 +476,13 @@ private fun Candidate.prepareExpectedType( getExpectedTypeWithSAMConversion(session, scopeSession, argument, basicExpectedType, context)?.also { session.lookupTracker?.let { lookupTracker -> parameter.returnTypeRef.coneType.lowerBoundIfFlexible().classId?.takeIf { !it.isLocal }?.let { classId -> - lookupTracker.recordLookup( - SAM_LOOKUP_NAME, - classId.asString(), - callInfo.callSite.source, - callInfo.containingFile.source - ) - lookupTracker.recordLookup( - classId.shortClassName, - classId.packageFqName.asString(), + lookupTracker.recordClassMemberLookup( + SAM_LOOKUP_NAME.asString(), + classId, callInfo.callSite.source, callInfo.containingFile.source ) + lookupTracker.recordClassLikeLookup(classId, callInfo.callSite.source, callInfo.containingFile.source) } } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt index 6785e4cc544..5505948a31c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt @@ -33,7 +33,6 @@ import org.jetbrains.kotlin.fir.utils.exceptions.withConeTypeEntry import org.jetbrains.kotlin.name.StandardClassIds.Annotations.HidesMembers import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability import org.jetbrains.kotlin.types.AbstractTypeChecker -import org.jetbrains.kotlin.utils.SmartList import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment enum class ProcessResult { @@ -277,17 +276,16 @@ class MemberScopeTowerLevel( ): ProcessResult { val lookupTracker = session.lookupTracker return processMembers(info, processor) { consumer -> - withMemberCallLookup(lookupTracker, info) { lookupCtx -> - this.processFunctionsAndConstructorsByName( - info, session, bodyResolveComponents, - ConstructorFilter.OnlyInner, - processor = { - lookupCtx.recordCallableMemberLookup(it) - // WARNING, DO NOT CAST FUNCTIONAL TYPE ITSELF - consumer(it as FirFunctionSymbol<*>) - } - ) - } + lookupTracker?.recordCallLookup(info, dispatchReceiverValue.type) + this.processFunctionsAndConstructorsByName( + info, session, bodyResolveComponents, + ConstructorFilter.OnlyInner, + processor = { + lookupTracker?.recordCallableCandidateAsLookup(it, info.callSite.source, info.containingFile.source) + // WARNING, DO NOT CAST FUNCTIONAL TYPE ITSELF + consumer(it as FirFunctionSymbol<*>) + } + ) } } @@ -297,12 +295,10 @@ class MemberScopeTowerLevel( ): ProcessResult { val lookupTracker = session.lookupTracker return processMembers(info, processor) { consumer -> - withMemberCallLookup(lookupTracker, info) { lookupCtx -> - lookupTracker?.recordCallLookup(info, dispatchReceiverValue.type) - this.processPropertiesByName(info.name) { - lookupCtx.recordCallableMemberLookup(it) - consumer(it) - } + lookupTracker?.recordCallLookup(info, dispatchReceiverValue.type) + this.processPropertiesByName(info.name) { + lookupTracker?.recordCallableCandidateAsLookup(it, info.callSite.source, info.containingFile.source) + consumer(it) } } } @@ -314,28 +310,6 @@ class MemberScopeTowerLevel( return ProcessResult.FOUND } - private inline fun withMemberCallLookup( - lookupTracker: FirLookupTrackerComponent?, - info: CallInfo, - body: (Triple, CallInfo>) -> Unit - ) { - lookupTracker?.recordCallLookup(info, dispatchReceiverValue.type) - val lookupScopes = SmartList() - body(Triple(lookupTracker, lookupScopes, info)) - if (lookupScopes.isNotEmpty()) { - lookupTracker?.recordCallLookup(info, lookupScopes) - } - } - - private fun Triple, CallInfo>.recordCallableMemberLookup(callable: FirCallableSymbol<*>) { - first?.run { - recordTypeResolveAsLookup(callable.fir.returnTypeRef, third.callSite.source, third.containingFile.source) - callable.callableId.classId?.takeIf { !it.isLocal }?.let { lookupScope -> - second.add(lookupScope.asFqNameString()) - } - } - } - private fun FirCallableSymbol<*>.hasConsistentExtensionReceiver(givenExtensionReceivers: List): Boolean { return givenExtensionReceivers.isNotEmpty() == hasExtensionReceiver() } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt index 612e9489716..c7581035e16 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt @@ -5,17 +5,14 @@ package org.jetbrains.kotlin.fir.resolve.transformers -import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.builder.buildResolvedImport -import org.jetbrains.kotlin.fir.lookupTracker import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider -import org.jetbrains.kotlin.fir.withFileAnalysisExceptionWrapping import org.jetbrains.kotlin.name.FqName class FirImportResolveProcessor(session: FirSession, scopeSession: ScopeSession) : FirTransformerBasedResolveProcessor( @@ -61,11 +58,10 @@ open class FirImportResolveTransformer protected constructor( return transformImportForFqName(fqName, import) } - val parentFqName = fqName.parent() currentFile?.let { - session.lookupTracker?.recordLookup(fqName.shortName(), parentFqName.asString(), import.source, it.source) + session.lookupTracker?.recordFqNameLookup(fqName, import.source, it.source) } - return transformImportForFqName(parentFqName, import) + return transformImportForFqName(fqName.parent(), import) } protected open val FqName.isAcceptable: Boolean diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt index d6112aeb87e..681d1be2b24 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt @@ -87,8 +87,7 @@ class FirSpecificTypeResolverTransformer( @OptIn(PrivateForInline::class) override fun transformTypeRef(typeRef: FirTypeRef, data: ScopeClassDeclaration): FirResolvedTypeRef { - val scopeOwnerLookupNames = data.scopes.flatMap { it.scopeOwnerLookupNames } - session.lookupTracker?.recordTypeLookup(typeRef, scopeOwnerLookupNames, currentFile?.source) + session.lookupTracker?.recordTypeLookup(typeRef, data.scopes.flatMap { it.scopeOwnerLookupNames }, currentFile?.source) withBareTypes(allowed = false) { typeRef.transformChildren(this, data) } @@ -102,8 +101,7 @@ class FirSpecificTypeResolverTransformer( data: ScopeClassDeclaration ): FirResolvedTypeRef { functionTypeRef.transformChildren(this, data) - val scopeOwnerLookupNames = data.scopes.flatMap { it.scopeOwnerLookupNames } - session.lookupTracker?.recordTypeLookup(functionTypeRef, scopeOwnerLookupNames, currentFile?.source) + session.lookupTracker?.recordTypeLookup(functionTypeRef, data.scopes.flatMap { it.scopeOwnerLookupNames }, currentFile?.source) val resolvedTypeWithDiagnostic = resolveType(functionTypeRef, data) val resolvedType = resolvedTypeWithDiagnostic.type.takeIfAcceptable() val diagnostic = resolvedTypeWithDiagnostic.diagnostic diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt index a3670ae0363..56f10e20dda 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt @@ -453,8 +453,8 @@ open class FirSupertypeResolverVisitor( if (!classLikeDeclaration.isLocalClassOrAnonymousObject()) { session.lookupTracker?.let { val fileSource = getFirClassifierContainerFileIfAny(classLikeDeclaration.symbol)?.source + val scopeOwnerLookupNames = scopeDeclaration.scopes.flatMap { scope -> scope.scopeOwnerLookupNames } for (supertypeRef in supertypeRefs) { - val scopeOwnerLookupNames = scopeDeclaration.scopes.flatMap { scope -> scope.scopeOwnerLookupNames } it.recordTypeLookup(supertypeRef, scopeOwnerLookupNames, fileSource) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt index 697c79c2ede..77d33bd6540 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt @@ -255,7 +255,7 @@ abstract class AbstractFirSpecificAnnotationResolveTransformer( calleeReference: FirSimpleNamedReference, calleeSymbol: FirEnumEntrySymbol ) { - session.lookupTracker?.recordLookup( + session.lookupTracker?.recordNameLookup( calleeReference.name, calleeSymbol.dispatchReceiverType?.classId?.asFqNameString() ?: calleeSymbol.callableId.packageName.asString(), this.source, diff --git a/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/FirLookupTrackerComponent.kt b/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/FirLookupTrackerComponent.kt index b725b94060f..ec4209f8aeb 100644 --- a/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/FirLookupTrackerComponent.kt +++ b/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/FirLookupTrackerComponent.kt @@ -7,36 +7,74 @@ package org.jetbrains.kotlin.fir import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.fir.resolve.calls.AbstractCallInfo +import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.utils.SmartList abstract class FirLookupTrackerComponent : FirSessionComponent { - abstract fun recordLookup(name: Name, inScopes: List, source: KtSourceElement?, fileSource: KtSourceElement?) + abstract fun recordLookup(name: String, inScopes: Iterable, source: KtSourceElement?, fileSource: KtSourceElement?) - abstract fun recordLookup(name: Name, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) + abstract fun recordLookup(name: String, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) } fun FirLookupTrackerComponent.recordCallLookup(callInfo: AbstractCallInfo, inType: ConeKotlinType) { - val classId = inType.classId - if (classId?.isLocal == true) return - val scopes = SmartList(inType.renderForDebugging().replace('/', '.')) - if (classId != null && classId.shortClassName.asString() == "Companion") { - classId.outerClassId?.asString()?.replace('/', '.')?.let { + val classId = inType.classId ?: return + if (classId.isLocal) return + val scopes = SmartList(classId.asFqNameString()) + if (classId.shortClassName == DEFAULT_NAME_FOR_COMPANION_OBJECT) { + classId.outerClassId?.asFqNameString()?.also { scopes.add(it) } } - recordLookup(callInfo.name, scopes, callInfo.callSite.source, callInfo.containingFile.source) + recordNameLookup(callInfo.name, scopes, callInfo.callSite.source, callInfo.containingFile.source) } -fun FirLookupTrackerComponent.recordCallLookup(callInfo: AbstractCallInfo, inScopes: List) { - recordLookup(callInfo.name, inScopes, callInfo.callSite.source, callInfo.containingFile.source) +fun FirLookupTrackerComponent.recordCallLookup(callInfo: AbstractCallInfo, inScopes: Iterable) { + recordNameLookup(callInfo.name, inScopes, callInfo.callSite.source, callInfo.containingFile.source) } -fun FirLookupTrackerComponent.recordTypeLookup(typeRef: FirTypeRef, inScopes: List, fileSource: KtSourceElement?) { - if (typeRef is FirUserTypeRef) recordLookup(typeRef.qualifier.first().name, inScopes, typeRef.source, fileSource) +fun FirLookupTrackerComponent.recordTypeLookup(typeRef: FirTypeRef, inScopes: Iterable, fileSource: KtSourceElement?) { + if (typeRef is FirUserTypeRef) recordNameLookup(typeRef.qualifier.first().name, inScopes, typeRef.source, fileSource) +} + +fun FirLookupTrackerComponent.recordClassLikeLookup(classId: ClassId, source: KtSourceElement?, fileSource: KtSourceElement?) { + if (!classId.isLocal && classId !in StandardClassIds.allBuiltinTypes) { + recordLookup(classId.relativeClassName.asString(), classId.packageFqName.asString(), source, fileSource) + if (classId.shortClassName == DEFAULT_NAME_FOR_COMPANION_OBJECT) { + recordLookup( + classId.outerClassId!!.relativeClassName.asString(), + classId.outerClassId!!.packageFqName.asString(), + source, fileSource + ) + } + } +} + +fun FirLookupTrackerComponent.recordClassMemberLookup( + memberName: String, classId: ClassId, source: KtSourceElement?, fileSource: KtSourceElement? +) { + recordLookup(memberName, classId.asFqNameString(), source, fileSource) +} + +fun FirLookupTrackerComponent.recordFqNameLookup(fqName: FqName, source: KtSourceElement?, fileSource: KtSourceElement?) { + recordLookup(fqName.shortName().asString(), fqName.parent().asString(), source, fileSource) +} + +fun FirLookupTrackerComponent.recordNameLookup( + name: Name, inScopes: Iterable, source: KtSourceElement?, fileSource: KtSourceElement? +) { + recordLookup(name.asString(), inScopes, source, fileSource) +} + +fun FirLookupTrackerComponent.recordNameLookup(name: Name, inScope: String, source: KtSourceElement?, fileSource: KtSourceElement?) { + recordLookup(name.asString(), inScope, source, fileSource) } fun FirLookupTrackerComponent.recordTypeResolveAsLookup(typeRef: FirTypeRef, source: KtSourceElement?, fileSource: KtSourceElement?) { @@ -44,23 +82,26 @@ fun FirLookupTrackerComponent.recordTypeResolveAsLookup(typeRef: FirTypeRef, sou recordTypeResolveAsLookup(typeRef.type, source, fileSource) } +// TODO: review all places that record resolved type as lookup and consider minimize the number of them; see #KT-66366 fun FirLookupTrackerComponent.recordTypeResolveAsLookup(type: ConeKotlinType?, source: KtSourceElement?, fileSource: KtSourceElement?) { if (type == null) return if (source == null && fileSource == null) return // TODO: investigate all cases if (type is ConeErrorType) return // TODO: investigate whether some cases should be recorded, e.g. unresolved - type.classId?.let { - if (!it.isLocal && it !in StandardClassIds.allBuiltinTypes) { - if (it.shortClassName.asString() != "Companion") { - recordLookup(it.shortClassName, it.packageFqName.asString(), source, fileSource) - } else { - recordLookup(it.outerClassId!!.shortClassName, it.outerClassId!!.packageFqName.asString(), source, fileSource) - } - } + type.classId?.let { classId -> + recordClassLikeLookup(classId, source, fileSource) } type.typeArguments.forEach { if (it is ConeKotlinType) recordTypeResolveAsLookup(it, source, fileSource) } } +fun FirLookupTrackerComponent.recordCallableCandidateAsLookup( + callableSymbol: FirCallableSymbol<*>, source: KtSourceElement?, fileSource: KtSourceElement? +) { + if (!callableSymbol.callableId.isLocal && callableSymbol !is FirConstructorSymbol) { + recordTypeResolveAsLookup(callableSymbol.fir.returnTypeRef, source, fileSource) + recordFqNameLookup(callableSymbol.callableId.asSingleFqName(), source, fileSource) + } +} val FirSession.lookupTracker: FirLookupTrackerComponent? by FirSession.nullableSessionComponentAccessor() diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt index 1f275bde7e8..61ed91c349f 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt @@ -8,7 +8,7 @@ import bar.* /*p:foo p:foo.A(c)*/A().c /*p:foo p:foo.A(d)*/A().d = "new value" /*p:foo p:foo.A(foo)*/A().foo() - /*p:foo p:foo(B) p:foo.A.B(a)*/A.B().a + /*p:foo p:foo.A.B(a)*/A.B().a /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1) /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1) /*p:foo*/A diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt.new.2 b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt.new.2 index 0d855d69345..f8082c8ab06 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt.new.2 +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/classifierMembers/usages.kt.new.2 @@ -8,7 +8,7 @@ import bar.* /*p:foo p:foo.A(c)*/A().c /*p:foo p:foo.A(d)*/A().d = "new value" /*p:foo p:foo.A(foo)*/A().foo() - /*p:foo p:foo(B) p:foo.A.B(a)*/A.B().a + /*p:foo p:foo.A.B(a)*/A.B().a /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1) /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1) /*p:foo*/A diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/delegateProperty.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/delegateProperty.kt index d030cd1daf0..e296afaaf7f 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/delegateProperty.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/delegateProperty.kt @@ -3,28 +3,28 @@ package foo.bar /*p:kotlin.reflect(KProperty)*/import kotlin.reflect.KProperty /*p:foo.bar*/class D1 { - operator fun getValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1 + operator fun getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1 } -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D1.setValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar p:kotlin.reflect*/Int) {} +/*p:foo.bar*/operator fun /*p:foo.bar*/D1.setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {} /*p:foo.bar(D2)*/open class D2 { - operator fun setValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar p:kotlin.reflect*/Int) {} + operator fun setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {} } -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D2.getValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1 -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D2.provideDelegate(p: /*p:foo.bar p:kotlin.reflect*/Any?, k: /*p:foo.bar p:kotlin.reflect*/Any) = this +/*p:foo.bar*/operator fun /*p:foo.bar*/D2.getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1 +/*p:foo.bar*/operator fun /*p:foo.bar*/D2.provideDelegate(p: /*p:foo.bar*/Any?, k: /*p:foo.bar*/Any) = this -/*p:foo.bar*/class D3 : /*p:foo.bar p:kotlin.reflect*/D2() { - operator fun provideDelegate(p: /*p:foo.bar p:kotlin.reflect*/Any?, k: /*p:foo.bar p:kotlin.reflect*/Any) = this +/*p:foo.bar*/class D3 : /*p:foo.bar*/D2() { + operator fun provideDelegate(p: /*p:foo.bar*/Any?, k: /*p:foo.bar*/Any) = this } -/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1() -/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1() +/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin.reflect(KProperty0)*/D1() +/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin.reflect(KMutableProperty0)*/D1() -/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2() -/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2() +/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin.reflect(KProperty0)*/D2() +/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin.reflect(KMutableProperty0)*/D2() -/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3() -/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3() +/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin.reflect(KProperty0)*/D3() +/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin.reflect(KMutableProperty0)*/D3() diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/other.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/other.kt index bb88eb99117..7ef4fb5cea8 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/other.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/conventions/other.kt @@ -12,5 +12,5 @@ package foo.bar val (/*p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a; for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next)*/a); - for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:foo.bar.A?(iterator)*/na); + for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next)*/na); } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/expressionType/genericType.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/expressionType/genericType.kt index 9c4853cec0b..54d4ae90d41 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/expressionType/genericType.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/expressionType/genericType.kt @@ -5,11 +5,11 @@ package foo /*p:foo*/fun identity(): (/*p:foo*/T) -> /*p:foo*/T = null as (/*p:foo*/T) -> /*p:foo*/T /*p:foo*/fun compute(f: () -> /*p:foo*/T) { - val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke) p:kotlin.Function0(invoke)*/f() + val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke)*/f() } /*p:foo*/class Bar(val t: /*p:foo*/T) { init { - val a = /*p:foo.Bar p:foo.Bar*/t + val a = /*p:foo.Bar*/t } } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/localDeclarations/locals.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/localDeclarations/locals.kt index 8015f8de493..b290fe22138 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/localDeclarations/locals.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/localDeclarations/locals.kt @@ -31,7 +31,7 @@ import bar.* } localFun() - /*p:IOT(localExtFun)*/1.localExtFun() + 1.localExtFun() val c = LocalC() c.a diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/packageDeclarations/foo1.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/packageDeclarations/foo1.kt index cc60d130fac..42d02bb9c35 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/packageDeclarations/foo1.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jsKlib/packageDeclarations/foo1.kt @@ -3,15 +3,15 @@ package foo import bar.* /*p:baz(C)*/import baz.C -/*p:foo*/val a = /*p:bar p:baz p:foo*/A() -/*p:foo*/var b: /*p:bar p:baz p:foo*/baz.B = /*p:bar p:baz p:baz(B) p:foo*/baz.B() +/*p:foo*/val a = /*p:bar p:foo*/A() +/*p:foo*/var b: /*p:bar p:foo*/baz.B = /*p:bar p:baz(B) p:foo*/baz.B() -/*p:foo*/fun function(p: /*p:bar p:baz p:foo*/B): /*p:bar p:baz p:foo*/B { - /*p:baz p:foo*/a - return /*p:bar p:baz p:foo*/B() +/*p:foo*/fun function(p: /*p:bar p:foo*/B): /*p:bar p:foo*/B { + /*p:foo*/a + return /*p:bar p:foo*/B() } -/*p:foo*/fun /*p:bar p:baz p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:baz p:foo*/Array, e: /*p:bar p:baz p:foo*/MyEnum, c: /**???*//*p:bar p:baz p:foo*/C): /*p:bar p:baz p:foo*/MyInterface { - /*p:bar p:baz p:foo p:foo.MyClass*/b - return /*p:bar p:baz p:foo p:foo.MyClass*/MyClass() +/*p:foo*/fun /*p:bar p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:foo*/Array, e: /*p:bar p:foo*/MyEnum, c: /**???*//*p:bar p:foo*/C): /*p:bar p:foo*/MyInterface { + /*p:bar p:foo p:foo.MyClass*/b + return /*p:bar p:foo p:foo.MyClass*/MyClass() } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/SAM/usages.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/SAM/usages.kt index 35075bd67c5..6df85ec9bc0 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/SAM/usages.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/SAM/usages.kt @@ -2,12 +2,12 @@ package foo /*p:bar(C)*/import bar.C /*p:bar(SAMInterface)*/import bar.SAMInterface -/*p:foo*/fun foo(c: /*p:bar p:foo*/C) { - /*p:bar(foo) p:bar.C(foo) p:foo(foo)*/c.foo() - /*p:bar(SAMInterface) p:bar.C(foo) p:bar/SAMInterface()*/c.foo /*p:kotlin(Function1)*/{ } +/*p:foo*/fun foo(c: /*p:foo*/C) { + /*p:bar.C(foo) p:foo(foo)*/c.foo() + /*p:bar(SAMInterface) p:bar.C(foo) p:bar.SAMInterface()*/c.foo /*p:kotlin(Function1)*/{ } - /*p:bar p:bar(bar) p:bar.C(bar) p:foo p:foo(bar)*/C.bar() - /*p:bar p:bar(SAMInterface) p:bar.C(bar) p:bar/SAMInterface() p:foo*/C.bar /*p:kotlin(Function1)*/{} + /*p:bar.C(bar) p:foo p:foo(bar)*/C.bar() + /*p:bar(SAMInterface) p:bar.C(bar) p:bar.SAMInterface() p:foo*/C.bar /*p:kotlin(Function1)*/{} /*p:bar p:foo*/SAMInterface() /*p:bar*/SAMInterface /*p:kotlin(Function1)*/{} diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt index 1f275bde7e8..61ed91c349f 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt @@ -8,7 +8,7 @@ import bar.* /*p:foo p:foo.A(c)*/A().c /*p:foo p:foo.A(d)*/A().d = "new value" /*p:foo p:foo.A(foo)*/A().foo() - /*p:foo p:foo(B) p:foo.A.B(a)*/A.B().a + /*p:foo p:foo.A.B(a)*/A.B().a /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1) /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1) /*p:foo*/A diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 index 0d855d69345..f8082c8ab06 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 @@ -8,7 +8,7 @@ import bar.* /*p:foo p:foo.A(c)*/A().c /*p:foo p:foo.A(d)*/A().d = "new value" /*p:foo p:foo.A(foo)*/A().foo() - /*p:foo p:foo(B) p:foo.A.B(a)*/A.B().a + /*p:foo p:foo.A.B(a)*/A.B().a /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1) /*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1) /*p:foo*/A diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/delegateProperty.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/delegateProperty.kt index d030cd1daf0..e296afaaf7f 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/delegateProperty.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/delegateProperty.kt @@ -3,28 +3,28 @@ package foo.bar /*p:kotlin.reflect(KProperty)*/import kotlin.reflect.KProperty /*p:foo.bar*/class D1 { - operator fun getValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1 + operator fun getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1 } -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D1.setValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar p:kotlin.reflect*/Int) {} +/*p:foo.bar*/operator fun /*p:foo.bar*/D1.setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {} /*p:foo.bar(D2)*/open class D2 { - operator fun setValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar p:kotlin.reflect*/Int) {} + operator fun setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {} } -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D2.getValue(t: /*p:foo.bar p:kotlin.reflect*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1 -/*p:foo.bar*/operator fun /*p:foo.bar p:kotlin.reflect*/D2.provideDelegate(p: /*p:foo.bar p:kotlin.reflect*/Any?, k: /*p:foo.bar p:kotlin.reflect*/Any) = this +/*p:foo.bar*/operator fun /*p:foo.bar*/D2.getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1 +/*p:foo.bar*/operator fun /*p:foo.bar*/D2.provideDelegate(p: /*p:foo.bar*/Any?, k: /*p:foo.bar*/Any) = this -/*p:foo.bar*/class D3 : /*p:foo.bar p:kotlin.reflect*/D2() { - operator fun provideDelegate(p: /*p:foo.bar p:kotlin.reflect*/Any?, k: /*p:foo.bar p:kotlin.reflect*/Any) = this +/*p:foo.bar*/class D3 : /*p:foo.bar*/D2() { + operator fun provideDelegate(p: /*p:foo.bar*/Any?, k: /*p:foo.bar*/Any) = this } -/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1() -/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1() +/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin.reflect(KProperty0)*/D1() +/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin.reflect(KMutableProperty0)*/D1() -/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2() -/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2() +/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin.reflect(KProperty0)*/D2() +/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin.reflect(KMutableProperty0)*/D2() -/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3() -/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3() +/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin.reflect(KProperty0)*/D3() +/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin.reflect(KMutableProperty0)*/D3() diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/other.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/other.kt index bb88eb99117..7ef4fb5cea8 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/other.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/conventions/other.kt @@ -12,5 +12,5 @@ package foo.bar val (/*p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a; for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next)*/a); - for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:foo.bar.A?(iterator)*/na); + for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next)*/na); } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/expressionType/genericType.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/expressionType/genericType.kt index 9c4853cec0b..54d4ae90d41 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/expressionType/genericType.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/expressionType/genericType.kt @@ -5,11 +5,11 @@ package foo /*p:foo*/fun identity(): (/*p:foo*/T) -> /*p:foo*/T = null as (/*p:foo*/T) -> /*p:foo*/T /*p:foo*/fun compute(f: () -> /*p:foo*/T) { - val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke) p:kotlin.Function0(invoke)*/f() + val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke)*/f() } /*p:foo*/class Bar(val t: /*p:foo*/T) { init { - val a = /*p:foo.Bar p:foo.Bar*/t + val a = /*p:foo.Bar*/t } } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/java/usages.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/java/usages.kt index 10180adb73e..550fbf12086 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/java/usages.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/java/usages.kt @@ -9,37 +9,37 @@ import baz.* /*p:bar.C(field)*/c.field /*p:bar.C(field)*/c.field = 2 /*p:bar.C(func)*/c.func() - /*p:bar(B) p:bar.C(B) p:bar.C.B(B)*/c.B() + /*p:bar(C.B) p:bar.C(B)*/c.B() - /*p:bar p:bar.C(sfield) p:baz p:foo*/C.sfield - /*p:bar p:bar.C(sfield) p:baz p:foo*/C.sfield = "new" - /*p:bar p:bar.C(sfunc) p:baz p:foo*/C.sfunc() - /*p:bar p:bar(S) p:bar.C(S) p:baz p:foo*/C.S() + /*p:bar.C(sfield) p:baz p:foo*/C.sfield + /*p:bar.C(sfield) p:baz p:foo*/C.sfield = "new" + /*p:bar.C(sfunc) p:baz p:foo*/C.sfunc() + /*p:bar p:bar.C(S) p:baz p:foo*/C.S() // inherited from I /*p:bar.C(ifunc)*/c.ifunc() - /*p:bar p:bar.C(isfield) p:baz p:foo*/C.isfield + /*p:bar.C(isfield) p:baz p:foo*/C.isfield // expected error: Unresolved reference: IS - /*p:bar p:bar(IS) p:bar.C(IS) p:baz p:baz(IS) p:foo p:foo(IS)*/C.IS() + /*p:bar.C(IS) p:baz p:baz(IS) p:foo p:foo(IS)*/C.IS() - val i: /*p:bar p:baz p:foo*/I = c + val i: /*p:baz p:foo*/I = c /*p:foo.I(ifunc)*/i.ifunc() - /*p:bar p:baz p:foo p:foo.I(isfield)*/I.isfield - /*p:bar p:baz p:foo p:foo(IS) p:foo.I(IS)*/I.IS() + /*p:baz p:foo p:foo.I(isfield)*/I.isfield + /*p:baz p:foo p:foo.I(IS)*/I.IS() - /*p:bar p:baz p:baz.E(F) p:foo*/E.F - /*p:bar p:baz p:baz.E(F) p:baz.E(field) p:foo*/E.F.field - /*p:bar p:baz p:baz.E(S) p:baz.E(func) p:foo*/E.S.func() + /*p:baz p:baz.E(F) p:foo*/E.F + /*p:baz p:baz.E(F) p:baz.E(field) p:foo*/E.F.field + /*p:baz p:baz.E(S) p:baz.E(func) p:foo*/E.S.func() } fun classifiers( - c: /*p:bar p:baz p:foo*/C, - b: /*p:bar p:baz p:foo*/C.B, - s: /*p:bar p:baz p:foo*/C.S, - cis: /*p:bar p:baz p:foo*/C.IS, - i: /*p:bar p:baz p:foo*/I, - iis: /*p:bar p:baz p:foo*/I.IS, - e: /*p:bar p:baz p:foo*/E + c: /*p:baz p:foo*/C, + b: /*p:baz p:foo*/C.B, + s: /*p:baz p:foo*/C.S, + cis: /*p:baz p:foo*/C.IS, + i: /*p:baz p:foo*/I, + iis: /*p:baz p:foo*/I.IS, + e: /*p:baz p:foo*/E ) {} diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/localDeclarations/locals.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/localDeclarations/locals.kt index 8015f8de493..b290fe22138 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/localDeclarations/locals.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/localDeclarations/locals.kt @@ -31,7 +31,7 @@ import bar.* } localFun() - /*p:IOT(localExtFun)*/1.localExtFun() + 1.localExtFun() val c = LocalC() c.a diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/packageDeclarations/foo1.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/packageDeclarations/foo1.kt index cc60d130fac..9ca545b6481 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/packageDeclarations/foo1.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/packageDeclarations/foo1.kt @@ -3,15 +3,15 @@ package foo import bar.* /*p:baz(C)*/import baz.C -/*p:foo*/val a = /*p:bar p:baz p:foo*/A() -/*p:foo*/var b: /*p:bar p:baz p:foo*/baz.B = /*p:bar p:baz p:baz(B) p:foo*/baz.B() +/*p:foo*/val a = /*p:bar p:foo*/A() +/*p:foo*/var b: /*p:bar p:foo*/baz.B = /*p:bar p:baz(B) p:foo*/baz.B() -/*p:foo*/fun function(p: /*p:bar p:baz p:foo*/B): /*p:bar p:baz p:foo*/B { - /*p:baz p:foo*/a - return /*p:bar p:baz p:foo*/B() +/*p:foo*/fun function(p: /*p:bar p:foo*/B): /*p:bar p:foo*/B { + /*p:foo*/a + return /*p:bar p:foo*/B() } -/*p:foo*/fun /*p:bar p:baz p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:baz p:foo*/Array, e: /*p:bar p:baz p:foo*/MyEnum, c: /**???*//*p:bar p:baz p:foo*/C): /*p:bar p:baz p:foo*/MyInterface { - /*p:bar p:baz p:foo p:foo.MyClass*/b - return /*p:bar p:baz p:foo p:foo.MyClass*/MyClass() +/*p:foo*/fun /*p:bar p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:foo*/Array, e: /*p:bar p:foo*/MyEnum, c: /*p:bar p:foo*/C): /*p:bar p:foo*/MyInterface { + /*p:bar p:foo p:foo.MyClass*/b + return /*p:bar p:foo p:foo.MyClass*/MyClass() } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/KotlinClass.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/KotlinClass.kt index 55467148dca..0af6ee67797 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/KotlinClass.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/KotlinClass.kt @@ -2,7 +2,7 @@ package foo /*p:(JavaClass)*/import JavaClass -/*p:foo*/class KotlinClass : /*p: p:foo*/JavaClass() { +/*p:foo*/class KotlinClass : /*p:foo*/JavaClass() { override fun getFoo() = 2 - fun setFoo(i: /*p: p:foo*/Int) {} + fun setFoo(i: /*p:foo*/Int) {} } diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/usages.kt b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/usages.kt index a9edbed35bc..1f2e6dbcc21 100644 --- a/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/usages.kt +++ b/jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/usages.kt @@ -4,11 +4,11 @@ package foo.bar /*p:foo(KotlinClass)*/import foo.KotlinClass /*p:foo.bar*/fun test() { - val j = /*p: p:foo*/JavaClass() - val k = /*p: p:foo*/KotlinClass() + val j = /*p:*/JavaClass() + val k = /*p:foo*/KotlinClass() /*p:JavaClass(getFoo)*/j.getFoo() - /*p:(setFoo) p:JavaClass(setFoo) p:foo(setFoo) p:foo.bar(setFoo)*/j.setFoo(2) + /*p:JavaClass(setFoo) p:foo.bar(setFoo)*/j.setFoo(2) /*p:JavaClass(foo)*/j.foo = 2 /*p:JavaClass(foo)*/j.foo /*p:JavaClass(bar)*/j.bar @@ -16,7 +16,7 @@ package foo.bar /*p:JavaClass(bazBaz)*/j.bazBaz /*p:JavaClass(bazBaz)*/j.bazBaz = "" /*p:JavaClass(setBoo)*/j.setBoo(2) - /*p:(boo) p:JavaClass(boo) p:foo(boo) p:foo.bar(boo)*/j.boo = 2 + /*p:JavaClass(boo) p:foo.bar(boo)*/j.boo = 2 /*p:foo.KotlinClass(getFoo)*/k.getFoo() // getFoo may be an inner class in JavaClass /*p:foo.KotlinClass(setFoo)*/k.setFoo(2) /*p:foo.KotlinClass(foo)*/k.foo = 2 @@ -26,5 +26,5 @@ package foo.bar /*p:JavaClass(bazBaz) p:foo.KotlinClass(bazBaz)*/k.bazBaz /*p:JavaClass(bazBaz) p:foo.KotlinClass(bazBaz)*/k.bazBaz = "" /*p:JavaClass(setBoo) p:foo.KotlinClass(setBoo)*/k.setBoo(2) - /*p:(boo) p:foo(boo) p:foo.KotlinClass(boo) p:foo.bar(boo)*/k.boo = 2 + /*p:foo.KotlinClass(boo) p:foo.bar(boo)*/k.boo = 2 }