[FIR] Add two kinds of Java origin to distinguish source and library declarations

This commit is contained in:
Dmitriy Novozhilov
2022-05-26 12:04:36 +03:00
committed by teamcity
parent 26df9d74e8
commit fb57e1ecd5
21 changed files with 84 additions and 47 deletions
@@ -50,7 +50,7 @@ internal tailrec fun FirDeclaration.ktSymbolOrigin(): KtSymbolOrigin = when (ori
}
FirDeclarationOrigin.Precompiled -> KtSymbolOrigin.SOURCE
FirDeclarationOrigin.Library, FirDeclarationOrigin.BuiltIns -> KtSymbolOrigin.LIBRARY
FirDeclarationOrigin.Java -> KtSymbolOrigin.JAVA
is FirDeclarationOrigin.Java -> KtSymbolOrigin.JAVA
FirDeclarationOrigin.SamConstructor -> KtSymbolOrigin.SAM_CONSTRUCTOR
FirDeclarationOrigin.Enhancement -> KtSymbolOrigin.JAVA
FirDeclarationOrigin.IntersectionOverride -> KtSymbolOrigin.INTERSECTION_OVERRIDE
@@ -82,7 +82,7 @@ internal fun FirCallableSymbol<*>.computeImportableName(useSiteSession: FirSessi
val containingClass = getContainingClassSymbol(useSiteSession) ?: return null
// Java static members, enums, and object members can be imported
val canBeImported = containingClass.origin == FirDeclarationOrigin.Java ||
val canBeImported = containingClass.origin is FirDeclarationOrigin.Java ||
containingClass.classKind == ClassKind.ENUM_CLASS ||
containingClass.classKind == ClassKind.OBJECT