Skip to content

Commit

Permalink
FIR IDE: refactor, simplify structure element class names
Browse files Browse the repository at this point in the history
  • Loading branch information
darthorimar committed Nov 23, 2020
1 parent 15277c0 commit ff7857a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -45,6 +45,6 @@ internal object FileElementFactory {
else -> false
}

val KtNamedFunction.hasExplicitTypeOrUnit
private val KtNamedFunction.hasExplicitTypeOrUnit
get() = hasBlockBody() || typeReference != null
}
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -97,7 +94,7 @@ internal class FileStructure(
FirResolvePhase.IMPORTS,
checkPCE = true
)
FileWithoutDeclarationsFileStructureElement(
RootStructureElement(
firFile,
container,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<*>,
Expand All @@ -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

Expand All @@ -108,7 +108,7 @@ internal class IncrementallyReanalyzableFunction(
reresolveFile = true,
)
return cache.firFileLockProvider.withReadLock(firFile) {
IncrementallyReanalyzableFunction(
ReanalyzableFunctionStructureElement(
firFile,
newKtDeclaration,
newFunction.symbol,
Expand All @@ -124,7 +124,7 @@ internal class IncrementallyReanalyzableFunction(
}
}

internal class NonLocalDeclarationFileStructureElement(
internal class NonReanalyzableDeclarationStructureElement(
override val firFile: FirFile,
fir: FirDeclaration,
override val psi: KtDeclaration,
Expand Down Expand Up @@ -172,7 +172,7 @@ internal class NonLocalDeclarationFileStructureElement(
}


internal data class FileWithoutDeclarationsFileStructureElement(
internal data class RootStructureElement(
override val firFile: FirFile,
override val psi: KtFile,
) : FileStructureElement() {
Expand Down

0 comments on commit ff7857a

Please sign in to comment.