Add external keyword support for UL
Fixed #KT-34923
This commit is contained in:
+2
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
||||||
import org.jetbrains.kotlin.extensions.DeclarationAttributeAltererExtension
|
import org.jetbrains.kotlin.extensions.DeclarationAttributeAltererExtension
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
|
import org.jetbrains.kotlin.lexer.KtTokens.EXTERNAL_KEYWORD
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.REIFIED_KEYWORD
|
import org.jetbrains.kotlin.lexer.KtTokens.REIFIED_KEYWORD
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
|
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
|
||||||
@@ -283,6 +284,7 @@ internal class UltraLightMembersCreator(
|
|||||||
PsiModifier.STATIC -> forceStatic || containingClassIsNamedObject && (outerDeclaration.isJvmStatic(support) || declaration.isJvmStatic(support))
|
PsiModifier.STATIC -> forceStatic || containingClassIsNamedObject && (outerDeclaration.isJvmStatic(support) || declaration.isJvmStatic(support))
|
||||||
PsiModifier.STRICTFP -> declaration is KtFunction && declaration.hasAnnotation(STRICTFP_ANNOTATION_FQ_NAME)
|
PsiModifier.STRICTFP -> declaration is KtFunction && declaration.hasAnnotation(STRICTFP_ANNOTATION_FQ_NAME)
|
||||||
PsiModifier.SYNCHRONIZED -> declaration is KtFunction && declaration.hasAnnotation(SYNCHRONIZED_ANNOTATION_FQ_NAME)
|
PsiModifier.SYNCHRONIZED -> declaration is KtFunction && declaration.hasAnnotation(SYNCHRONIZED_ANNOTATION_FQ_NAME)
|
||||||
|
PsiModifier.NATIVE -> declaration is KtFunction && declaration.hasModifier(EXTERNAL_KEYWORD)
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,5 +9,7 @@ class Foo {
|
|||||||
operator fun plus(increment: Int): Foo {}
|
operator fun plus(increment: Int): Foo {}
|
||||||
fun String.onString(a: (Int) -> Any?): Foo {}
|
fun String.onString(a: (Int) -> Any?): Foo {}
|
||||||
|
|
||||||
|
external fun externalFun(a: Int): String { return "" }
|
||||||
|
|
||||||
class Inner {}
|
class Inner {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,3 +7,5 @@ public fun nullableVararg(vararg o: Any?): Unit
|
|||||||
|
|
||||||
operator fun plus(increment: Int): Foo {}
|
operator fun plus(increment: Int): Foo {}
|
||||||
fun String.onString(a: (Int) -> Any?): Foo {}
|
fun String.onString(a: (Int) -> Any?): Foo {}
|
||||||
|
|
||||||
|
external fun externalFun(a: Int): String { return "" }
|
||||||
Reference in New Issue
Block a user