FIR: introduce declaration origin for binary classes from source module
in particular for incremental compilation when module is only partially recompiled. #KT-49750 fixed
This commit is contained in:
@@ -437,7 +437,7 @@ fun FirFunction.getAsForbiddenNamedArgumentsTarget(session: FirSession): Forbidd
|
||||
return ForbiddenNamedArgumentsTarget.EXPECTED_CLASS_MEMBER
|
||||
}
|
||||
return when (origin) {
|
||||
FirDeclarationOrigin.Source, FirDeclarationOrigin.Library -> null
|
||||
FirDeclarationOrigin.Source, FirDeclarationOrigin.Precompiled, FirDeclarationOrigin.Library -> null
|
||||
FirDeclarationOrigin.Delegated -> delegatedWrapperData?.wrapped?.getAsForbiddenNamedArgumentsTarget(session)
|
||||
FirDeclarationOrigin.ImportedFromObject -> importedFromObjectData?.original?.getAsForbiddenNamedArgumentsTarget(session)
|
||||
// For intersection overrides, the logic in
|
||||
|
||||
+1
-1
@@ -389,7 +389,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
private fun forceResolveStatusesOfClass(regularClass: FirRegularClass) {
|
||||
if (regularClass.origin == FirDeclarationOrigin.Java) {
|
||||
if (regularClass.origin == FirDeclarationOrigin.Java || regularClass.origin == FirDeclarationOrigin.Precompiled) {
|
||||
/*
|
||||
* If regular class has no corresponding file then it is platform class,
|
||||
* so we need to resolve supertypes of this class because they could
|
||||
|
||||
Reference in New Issue
Block a user