From aff90b335caedc64a96034d04755dd716554734d Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Mon, 23 Nov 2020 22:26:21 +0300 Subject: [PATCH] [FIR IDE] LC Implement special keywords like transient, volatile, synchronized, strictfp --- .../idea/asJava/fields/FirLightFieldForPropertySymbol.kt | 6 ++++++ .../idea/asJava/methods/FirLightSimpleMethodForSymbol.kt | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/fields/FirLightFieldForPropertySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/fields/FirLightFieldForPropertySymbol.kt index 3adbccaf37d..57b4f436964 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/fields/FirLightFieldForPropertySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/fields/FirLightFieldForPropertySymbol.kt @@ -72,6 +72,12 @@ internal class FirLightFieldForPropertySymbol( val modifiers = modifiersWithVisibility.add( what = PsiModifier.FINAL, `if` = !suppressFinal + ).add( + what = PsiModifier.TRANSIENT, + `if` = propertySymbol.hasAnnotation("kotlin/jvm/Transient", null) + ).add( + what = PsiModifier.VOLATILE, + `if` = propertySymbol.hasAnnotation("kotlin/jvm/Volatile", null) ) val nullability = if (visibility != PsiModifier.PRIVATE) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/methods/FirLightSimpleMethodForSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/methods/FirLightSimpleMethodForSymbol.kt index aac9fa25d19..0523d1b5a94 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/methods/FirLightSimpleMethodForSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/methods/FirLightSimpleMethodForSymbol.kt @@ -94,6 +94,12 @@ internal class FirLightSimpleMethodForSymbol( modifiers.add( what = PsiModifier.STATIC, `if` = functionSymbol.hasJvmStaticAnnotation() + ).add( + what = PsiModifier.STRICTFP, + `if` = functionSymbol.hasAnnotation("kotlin/jvm/Strictfp", null) + ).add( + what = PsiModifier.SYNCHRONIZED, + `if` = functionSymbol.hasAnnotation("kotlin/jvm/Synchronized", null) ) }