[FIR] Expand typealiases in FirNativeObjC checkers
This commit is contained in:
committed by
Space Team
parent
f8643c90eb
commit
343b856cfc
+1
-2
@@ -44,8 +44,7 @@ object FirNativeObjCRefinementChecker : FirCallableDeclarationChecker() {
|
||||
val objCAnnotations = mutableListOf<FirAnnotation>()
|
||||
val swiftAnnotations = mutableListOf<FirAnnotation>()
|
||||
for (annotation in annotations) {
|
||||
val metaAnnotations = annotation.unexpandedConeClassLikeType?.lookupTag
|
||||
?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
val metaAnnotations = annotation.toAnnotationClassLikeSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
for (metaAnnotation in metaAnnotations) {
|
||||
when (metaAnnotation.toAnnotationClassId(session)) {
|
||||
hidesFromObjCClassId -> {
|
||||
|
||||
+2
-2
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.containingClassLookupTag
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.toAnnotationClassId
|
||||
import org.jetbrains.kotlin.fir.declarations.toAnnotationClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.isIntersectionOverride
|
||||
@@ -83,8 +84,7 @@ object FirNativeObjCRefinementOverridesChecker : FirClassChecker() {
|
||||
var hasObjC = false
|
||||
var hasSwift = false
|
||||
for (annotation in resolvedAnnotationsWithClassIds) {
|
||||
val metaAnnotations = annotation.unexpandedConeClassLikeType?.lookupTag
|
||||
?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
val metaAnnotations = annotation.toAnnotationClassLikeSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
for (metaAnnotation in metaAnnotations) {
|
||||
when (metaAnnotation.toAnnotationClassId(session)) {
|
||||
hidesFromObjCClassId -> {
|
||||
|
||||
@@ -58,7 +58,9 @@ annotation class MyRefinedAnnotationC
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
annotation class MyRefinedAnnotationD
|
||||
|
||||
@HiddenFromObjC
|
||||
typealias HFOC = HiddenFromObjC
|
||||
|
||||
@HFOC
|
||||
<!REDUNDANT_SWIFT_REFINEMENT!>@ShouldRefineInSwift<!>
|
||||
var refinedProperty: Int = 0
|
||||
|
||||
@@ -92,7 +94,7 @@ interface InterfaceB {
|
||||
val barA: Int
|
||||
@ShouldRefineInSwift
|
||||
val barB: Int
|
||||
@HiddenFromObjC
|
||||
@HFOC
|
||||
fun fooA()
|
||||
@HiddenFromObjC
|
||||
fun fooB()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
@kotlin.native.HiddenFromObjC @kotlin.native.ShouldRefineInSwift public var refinedProperty: kotlin.Int
|
||||
@HFOC /* = kotlin.native.HiddenFromObjC */ @kotlin.native.ShouldRefineInSwift public var refinedProperty: kotlin.Int
|
||||
@kotlin.native.HiddenFromObjC @plugin.PluginHiddenFromObjC @kotlin.native.ShouldRefineInSwift @plugin.PluginShouldRefineInSwift public fun multipleMixedRefinementsFunction(): kotlin.Unit
|
||||
@kotlin.native.HiddenFromObjC @plugin.PluginHiddenFromObjC public fun multipleObjCRefinementsFunction(): kotlin.Unit
|
||||
@kotlin.native.ShouldRefineInSwift @plugin.PluginShouldRefineInSwift public fun multipleSwiftRefinementsFunction(): kotlin.Unit
|
||||
@@ -75,7 +75,7 @@ public interface InterfaceB {
|
||||
public abstract val barA: kotlin.Int
|
||||
@kotlin.native.ShouldRefineInSwift public abstract val barB: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.native.HiddenFromObjC public abstract fun fooA(): kotlin.Unit
|
||||
@HFOC /* = kotlin.native.HiddenFromObjC */ public abstract fun fooA(): kotlin.Unit
|
||||
@kotlin.native.HiddenFromObjC public abstract fun fooB(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
@@ -108,6 +108,7 @@ public interface InterfaceB {
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
public typealias HFOC = kotlin.native.HiddenFromObjC
|
||||
|
||||
package kotlin {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user