[AA LC] Implement default values for methods of annotations
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationValue
|
||||
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
|
||||
@@ -29,10 +30,19 @@ public class KtConstantInitializerValue(
|
||||
) : KtInitializerValue()
|
||||
|
||||
/**
|
||||
* Property intialzer which cannot be represented as Kotlin const value.
|
||||
* Property initializer which cannot be represented as Kotlin const value.
|
||||
*
|
||||
* See [KtConstantInitializerValue] for more info.
|
||||
*/
|
||||
public class KtNonConstantInitializerValue(
|
||||
override val initializerPsi: KtExpression?
|
||||
) : KtInitializerValue()
|
||||
) : KtInitializerValue()
|
||||
|
||||
/**
|
||||
* Initializer of property of annotation, which can not be which cannot be represented as Kotlin const value,
|
||||
* but can be represented as [KtAnnotationValue]
|
||||
*/
|
||||
public class KtConstantValueForAnnotation(
|
||||
public val annotationValue: KtAnnotationValue,
|
||||
override val initializerPsi: KtExpression?
|
||||
) : KtInitializerValue()
|
||||
|
||||
+9
-5
@@ -6,10 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.api.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.KtConstantInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.KtInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.KtNonConstantInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.*
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.*
|
||||
import org.jetbrains.kotlin.analysis.api.base.KtContextReceiver
|
||||
import org.jetbrains.kotlin.analysis.api.components.KtSymbolContainingDeclarationProviderMixIn
|
||||
@@ -262,11 +259,18 @@ public object DebugSymbolRenderer {
|
||||
append(value.constant.renderAsKotlinConstant())
|
||||
append(")")
|
||||
}
|
||||
|
||||
is KtNonConstantInitializerValue -> {
|
||||
append("KtNonConstantInitializerValue(")
|
||||
append(value.initializerPsi?.firstLineOfPsi() ?: "NO_PSI")
|
||||
append(")")
|
||||
}
|
||||
|
||||
is KtConstantValueForAnnotation -> {
|
||||
append("KtConstantValueForAnnotation(")
|
||||
append(value.annotationValue.renderAsSourceCode())
|
||||
append(")")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -299,4 +303,4 @@ public object DebugSymbolRenderer {
|
||||
"org.jetbrains.kotlin.analysis.api.fir",
|
||||
"org.jetbrains.kotlin.analysis.api.descriptors",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user