[LL FIR] drop forEachDependentDeclaration
Now this function is redundant ^KT-65344
This commit is contained in:
committed by
Space Team
parent
5de5f70ec9
commit
697f1477fd
-5
@@ -12,7 +12,6 @@ import kotlinx.collections.immutable.toPersistentList
|
|||||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignation
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignation
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.withFirDesignationEntry
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.withFirDesignationEntry
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.builder.PsiRawFirBuilder
|
import org.jetbrains.kotlin.fir.builder.PsiRawFirBuilder
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription
|
||||||
@@ -668,10 +667,6 @@ private object FirTargetLazyAnnotationCalculatorTransformer : FirLazyAnnotationT
|
|||||||
|
|
||||||
override fun transformScript(script: FirScript, data: FirLazyAnnotationTransformerData): FirScript {
|
override fun transformScript(script: FirScript, data: FirLazyAnnotationTransformerData): FirScript {
|
||||||
script.transformAnnotations(this, data)
|
script.transformAnnotations(this, data)
|
||||||
script.forEachDependentDeclaration {
|
|
||||||
it.transformSingle(this, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
return script
|
return script
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve
|
package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isElementWhichShouldBeResolvedAsPartOfScript
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isElementWhichShouldBeResolvedAsPartOfScript
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
@@ -64,7 +63,6 @@ internal object LLFirPhaseUpdater {
|
|||||||
}
|
}
|
||||||
|
|
||||||
when (element) {
|
when (element) {
|
||||||
is FirScript -> element.forEachDependentDeclaration { updatePhaseForNonLocals(it, newPhase, isTargetDeclaration = false) }
|
|
||||||
is FirFunction -> element.valueParameters.forEach { updatePhaseForNonLocals(it, newPhase, isTargetDeclaration = false) }
|
is FirFunction -> element.valueParameters.forEach { updatePhaseForNonLocals(it, newPhase, isTargetDeclaration = false) }
|
||||||
is FirProperty -> {
|
is FirProperty -> {
|
||||||
element.getter?.let { updatePhaseForNonLocals(it, newPhase, isTargetDeclaration = false) }
|
element.getter?.let { updatePhaseForNonLocals(it, newPhase, isTargetDeclaration = false) }
|
||||||
|
|||||||
+1
-11
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodie
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.AnnotationVisitorVoid
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.AnnotationVisitorVoid
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkAnnotationsAreResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkAnnotationsAreResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
@@ -193,16 +192,7 @@ private class LLFirAnnotationArgumentsTargetResolver(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
target is FirScript -> {
|
target is FirScript -> target.transformAnnotations(transformer.declarationsTransformer, ResolutionMode.ContextIndependent)
|
||||||
target.transformAnnotations(transformer.declarationsTransformer, ResolutionMode.ContextIndependent)
|
|
||||||
transformer.declarationsTransformer.withScript(target) {
|
|
||||||
target.forEachDependentDeclaration {
|
|
||||||
it.transformSingle(transformer, ResolutionMode.ContextIndependent)
|
|
||||||
}
|
|
||||||
|
|
||||||
target
|
|
||||||
}
|
|
||||||
}
|
|
||||||
target.isRegularDeclarationWithAnnotation -> target.transformSingle(transformer, ResolutionMode.ContextIndependent)
|
target.isRegularDeclarationWithAnnotation -> target.transformSingle(transformer, ResolutionMode.ContextIndependent)
|
||||||
target is FirCodeFragment || target is FirFile -> {}
|
target is FirCodeFragment || target is FirFile -> {}
|
||||||
else -> throwUnexpectedFirElementError(target)
|
else -> throwUnexpectedFirElementError(target)
|
||||||
|
|||||||
-7
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockPro
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeprecationProviderIsResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeprecationProviderIsResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.analysis.utils.errors.requireIsInstance
|
import org.jetbrains.kotlin.analysis.utils.errors.requireIsInstance
|
||||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
@@ -244,8 +243,6 @@ private class LLFirCompilerRequiredAnnotationsTargetResolver(
|
|||||||
target.setter?.let(::publishResult)
|
target.setter?.let(::publishResult)
|
||||||
target.backingField?.let(::publishResult)
|
target.backingField?.let(::publishResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
is FirScript -> target.forEachDependentDeclaration(::publishResult)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -268,10 +265,6 @@ private class LLFirCompilerRequiredAnnotationsTargetResolver(
|
|||||||
setter?.annotationsForTransformationTo(map)
|
setter?.annotationsForTransformationTo(map)
|
||||||
backingField?.annotationsForTransformationTo(map)
|
backingField?.annotationsForTransformationTo(map)
|
||||||
}
|
}
|
||||||
|
|
||||||
is FirScript -> {
|
|
||||||
forEachDependentDeclaration { it.annotationsForTransformationTo(map) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (annotations.isEmpty()) return
|
if (annotations.isEmpty()) return
|
||||||
|
|||||||
+1
-17
@@ -10,13 +10,11 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirEle
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.LLFirDeclarationModificationService
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.LLFirDeclarationModificationService
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.isCopyCreatedInScope
|
import org.jetbrains.kotlin.fir.isCopyCreatedInScope
|
||||||
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirImplicitAwareBodyResolveTransformer
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirImplicitAwareBodyResolveTransformer
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirResolveContextCollector
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirResolveContextCollector
|
||||||
@@ -27,7 +25,6 @@ import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
|||||||
import org.jetbrains.kotlin.fir.util.setMultimapOf
|
import org.jetbrains.kotlin.fir.util.setMultimapOf
|
||||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
||||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirSymbolEntry
|
import org.jetbrains.kotlin.fir.utils.exceptions.withFirSymbolEntry
|
||||||
import org.jetbrains.kotlin.fir.visitors.transformSingle
|
|
||||||
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
||||||
import org.jetbrains.kotlin.utils.exceptions.requireWithAttachment
|
import org.jetbrains.kotlin.utils.exceptions.requireWithAttachment
|
||||||
|
|
||||||
@@ -227,20 +224,7 @@ internal class LLFirImplicitBodyTargetResolver(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun rawResolve(target: FirElementWithResolveState) {
|
override fun rawResolve(target: FirElementWithResolveState) {
|
||||||
when {
|
super.rawResolve(target)
|
||||||
target is FirScript -> {
|
|
||||||
transformer.declarationsTransformer.withScript(target) {
|
|
||||||
target.forEachDependentDeclaration {
|
|
||||||
it.transformSingle(transformer, ResolutionMode.ContextIndependent)
|
|
||||||
}
|
|
||||||
|
|
||||||
target
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> super.rawResolve(target)
|
|
||||||
}
|
|
||||||
|
|
||||||
LLFirDeclarationModificationService.bodyResolved(target, resolverPhase)
|
LLFirDeclarationModificationService.bodyResolved(target, resolverPhase)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-8
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveT
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
@@ -54,7 +53,6 @@ internal abstract class LLFirLazyResolver(val resolverPhase: FirResolvePhase) {
|
|||||||
checkFunctionParametersAreResolved(target)
|
checkFunctionParametersAreResolved(target)
|
||||||
checkVariableSubDeclarationsAreResolved(target)
|
checkVariableSubDeclarationsAreResolved(target)
|
||||||
checkTypeParametersAreResolved(target)
|
checkTypeParametersAreResolved(target)
|
||||||
checkScriptDependentDeclarationsAreResolved(target)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkVariableSubDeclarationsAreResolved(declaration: FirDeclaration) {
|
private fun checkVariableSubDeclarationsAreResolved(declaration: FirDeclaration) {
|
||||||
@@ -81,10 +79,4 @@ internal abstract class LLFirLazyResolver(val resolverPhase: FirResolvePhase) {
|
|||||||
checkIsResolved(parameter)
|
checkIsResolved(parameter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkScriptDependentDeclarationsAreResolved(declaration: FirDeclaration) {
|
|
||||||
if (declaration !is FirScript) return
|
|
||||||
|
|
||||||
declaration.forEachDependentDeclaration(::checkIsResolved)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-3
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.tryCollectDesignation
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -189,8 +188,7 @@ private class LLFirStatusTargetResolver(
|
|||||||
override fun doLazyResolveUnderLock(target: FirElementWithResolveState) {
|
override fun doLazyResolveUnderLock(target: FirElementWithResolveState) {
|
||||||
when (target) {
|
when (target) {
|
||||||
is FirRegularClass -> error("should be resolved in doResolveWithoutLock")
|
is FirRegularClass -> error("should be resolved in doResolveWithoutLock")
|
||||||
// It is fine to call status transformer under lock, because declarations can't have a containing class
|
is FirScript -> {}
|
||||||
is FirScript -> target.forEachDependentDeclaration { it.transformSingle(transformer, data = null) }
|
|
||||||
else -> target.transformSingle(transformer, data = null)
|
else -> target.transformSingle(transformer, data = null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-2
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReceiverTypeRef
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkTypeRefIsResolved
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkTypeRefIsResolved
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||||
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
||||||
@@ -181,7 +180,6 @@ private class LLFirTypeTargetResolver(
|
|||||||
private fun resolveScriptTypes(firScript: FirScript) {
|
private fun resolveScriptTypes(firScript: FirScript) {
|
||||||
firScript.annotations.forEach { it.accept(transformer, null) }
|
firScript.annotations.forEach { it.accept(transformer, null) }
|
||||||
firScript.contextReceivers.forEach { it.accept(transformer, null) }
|
firScript.contextReceivers.forEach { it.accept(transformer, null) }
|
||||||
firScript.forEachDependentDeclaration { it.accept(transformer, null) }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun resolveClassTypes(firClass: FirRegularClass) {
|
private fun resolveClassTypes(firClass: FirRegularClass) {
|
||||||
|
|||||||
-5
@@ -5,13 +5,11 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers
|
package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.forEachDependentDeclaration
|
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isLocalForLazyResolutionPurposes
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isLocalForLazyResolutionPurposes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataKey
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataKey
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataRegistry
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataRegistry
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirScript
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol
|
||||||
@@ -70,9 +68,6 @@ internal fun FirBasedSymbol<*>.cannotResolveAnnotationsOnDemand(): Boolean {
|
|||||||
internal fun FirDeclaration.forEachDeclarationWhichCanHavePostponedSymbols(action: (FirCallableDeclaration) -> Unit) {
|
internal fun FirDeclaration.forEachDeclarationWhichCanHavePostponedSymbols(action: (FirCallableDeclaration) -> Unit) {
|
||||||
when (this) {
|
when (this) {
|
||||||
is FirCallableDeclaration -> action(this)
|
is FirCallableDeclaration -> action(this)
|
||||||
is FirScript -> forEachDependentDeclaration {
|
|
||||||
it.forEachDeclarationWhichCanHavePostponedSymbols(action)
|
|
||||||
}
|
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-4
@@ -241,10 +241,6 @@ internal val FirCallableSymbol<*>.isLocalForLazyResolutionPurposes: Boolean
|
|||||||
else -> callableId.isLocal || fir.status.visibility == Visibilities.Local
|
else -> callableId.isLocal || fir.status.visibility == Visibilities.Local
|
||||||
}
|
}
|
||||||
|
|
||||||
internal inline fun FirScript.forEachDependentDeclaration(@Suppress("unused") action: (FirDeclaration) -> Unit) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
val PsiElement.parentsWithSelfCodeFragmentAware: Sequence<PsiElement>
|
val PsiElement.parentsWithSelfCodeFragmentAware: Sequence<PsiElement>
|
||||||
get() = generateSequence(this) { element ->
|
get() = generateSequence(this) { element ->
|
||||||
when (element) {
|
when (element) {
|
||||||
|
|||||||
Reference in New Issue
Block a user