FIR IDE: refactor, simplify structure element class names
This commit is contained in:
+3
-3
@@ -21,14 +21,14 @@ internal object FileElementFactory {
|
||||
firFile: FirFile,
|
||||
): FileStructureElement = when {
|
||||
ktDeclaration is KtNamedFunction && ktDeclaration.name != null && ktDeclaration.hasExplicitTypeOrUnit ->
|
||||
IncrementallyReanalyzableFunction(
|
||||
ReanalyzableFunctionStructureElement(
|
||||
firFile,
|
||||
ktDeclaration,
|
||||
(firDeclaration as FirSimpleFunction).symbol,
|
||||
ktDeclaration.modificationStamp
|
||||
)
|
||||
|
||||
else -> NonLocalDeclarationFileStructureElement(
|
||||
else -> NonReanalyzableDeclarationStructureElement(
|
||||
firFile,
|
||||
firDeclaration,
|
||||
ktDeclaration,
|
||||
@@ -45,6 +45,6 @@ internal object FileElementFactory {
|
||||
else -> false
|
||||
}
|
||||
|
||||
val KtNamedFunction.hasExplicitTypeOrUnit
|
||||
private val KtNamedFunction.hasExplicitTypeOrUnit
|
||||
get() = hasBlockBody() || typeReference != null
|
||||
}
|
||||
+1
-4
@@ -13,11 +13,8 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.ModuleFileCache
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.lazy.resolve.FirLazyDeclarationResolver
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.util.findSourceNonLocalFirDeclaration
|
||||
import org.jetbrains.kotlin.idea.search.getKotlinFqName
|
||||
import org.jetbrains.kotlin.idea.util.getElementTextInContext
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
@@ -97,7 +94,7 @@ internal class FileStructure(
|
||||
FirResolvePhase.IMPORTS,
|
||||
checkPCE = true
|
||||
)
|
||||
FileWithoutDeclarationsFileStructureElement(
|
||||
RootStructureElement(
|
||||
firFile,
|
||||
container,
|
||||
)
|
||||
|
||||
+5
-5
@@ -64,7 +64,7 @@ internal sealed class ReanalyzableStructureElement<KT : KtDeclaration> : FileStr
|
||||
}
|
||||
}
|
||||
|
||||
internal class IncrementallyReanalyzableFunction(
|
||||
internal class ReanalyzableFunctionStructureElement(
|
||||
override val firFile: FirFile,
|
||||
override val psi: KtNamedFunction,
|
||||
override val firSymbol: FirFunctionSymbol<*>,
|
||||
@@ -90,7 +90,7 @@ internal class IncrementallyReanalyzableFunction(
|
||||
cache: ModuleFileCache,
|
||||
firLazyDeclarationResolver: FirLazyDeclarationResolver,
|
||||
firIdeProvider: FirIdeProvider,
|
||||
): IncrementallyReanalyzableFunction {
|
||||
): ReanalyzableFunctionStructureElement {
|
||||
val newFunction = firIdeProvider.buildFunctionWithBody(newKtDeclaration) as FirSimpleFunction
|
||||
val originalFunction = firSymbol.fir as FirSimpleFunction
|
||||
|
||||
@@ -108,7 +108,7 @@ internal class IncrementallyReanalyzableFunction(
|
||||
reresolveFile = true,
|
||||
)
|
||||
return cache.firFileLockProvider.withReadLock(firFile) {
|
||||
IncrementallyReanalyzableFunction(
|
||||
ReanalyzableFunctionStructureElement(
|
||||
firFile,
|
||||
newKtDeclaration,
|
||||
newFunction.symbol,
|
||||
@@ -124,7 +124,7 @@ internal class IncrementallyReanalyzableFunction(
|
||||
}
|
||||
}
|
||||
|
||||
internal class NonLocalDeclarationFileStructureElement(
|
||||
internal class NonReanalyzableDeclarationStructureElement(
|
||||
override val firFile: FirFile,
|
||||
fir: FirDeclaration,
|
||||
override val psi: KtDeclaration,
|
||||
@@ -172,7 +172,7 @@ internal class NonLocalDeclarationFileStructureElement(
|
||||
}
|
||||
|
||||
|
||||
internal data class FileWithoutDeclarationsFileStructureElement(
|
||||
internal data class RootStructureElement(
|
||||
override val firFile: FirFile,
|
||||
override val psi: KtFile,
|
||||
) : FileStructureElement() {
|
||||
|
||||
Reference in New Issue
Block a user