[FIR] Split origin SubstitutionOverride into declaration and call-site
This commit is contained in:
committed by
Space Team
parent
67fc46a190
commit
bcdd85758e
+1
-1
@@ -24,7 +24,7 @@ internal class JavaClassDeclaredMembersEnhancementScope(
|
||||
) : FirContainingNamesAwareScope() {
|
||||
private fun FirCallableDeclaration.isDeclared(): Boolean {
|
||||
return (this.dispatchReceiverType as? ConeLookupTagBasedType)?.lookupTag == owner.symbol.toLookupTag()
|
||||
&& this.origin != FirDeclarationOrigin.SubstitutionOverride
|
||||
&& this.origin !is FirDeclarationOrigin.SubstitutionOverride
|
||||
&& this.origin != FirDeclarationOrigin.IntersectionOverride
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ internal tailrec fun FirDeclaration.ktSymbolOrigin(): KtSymbolOrigin = when (ori
|
||||
|
||||
is FirDeclarationOrigin.Plugin -> KtSymbolOrigin.PLUGIN
|
||||
FirDeclarationOrigin.RenamedForOverride -> KtSymbolOrigin.JAVA
|
||||
FirDeclarationOrigin.SubstitutionOverride -> KtSymbolOrigin.SUBSTITUTION_OVERRIDE
|
||||
is FirDeclarationOrigin.SubstitutionOverride -> KtSymbolOrigin.SUBSTITUTION_OVERRIDE
|
||||
FirDeclarationOrigin.DynamicScope -> buildErrorWithAttachment("Invalid FirDeclarationOrigin ${origin::class.simpleName}") {
|
||||
withFirEntry("firToGetOrigin", this@ktSymbolOrigin)
|
||||
}
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ private fun collectDesignationPath(target: FirElementWithResolveState): List<Fir
|
||||
|
||||
val containingClassId = target.containingClassLookupTag()?.classId ?: return emptyList()
|
||||
|
||||
if (target.origin == FirDeclarationOrigin.SubstitutionOverride) {
|
||||
if (target.origin is FirDeclarationOrigin.SubstitutionOverride) {
|
||||
val originalContainingClassId = target.originalForSubstitutionOverride?.containingClassLookupTag()?.classId
|
||||
if (containingClassId == originalContainingClassId) {
|
||||
// Ugly temporary hack for call-site substitution overrides (KTIJ-24004).
|
||||
|
||||
Reference in New Issue
Block a user