[FIR] Implement early calculation of "not SAM" flag for classes
This commit is contained in:
+2
-2
@@ -5,10 +5,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.calculateSAM
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.addDeclarations
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirClassImpl
|
||||
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirEnumEntryImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirSealedClassImpl
|
||||
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
@@ -150,4 +149,5 @@ fun deserializeClassToSymbol(
|
||||
}
|
||||
}
|
||||
}
|
||||
firClass.calculateSAM()
|
||||
}
|
||||
|
||||
@@ -244,6 +244,8 @@ private fun FirRegularClass.findSingleAbstractMethodByNames(
|
||||
scopeSession: ScopeSession,
|
||||
samCandidateNames: Set<Name>
|
||||
): FirSimpleFunction? {
|
||||
if (status.isNotSAM) return null
|
||||
|
||||
var resultMethod: FirSimpleFunction? = null
|
||||
var metIncorrectMember = false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user