aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorJames Kleeh <james.kleeh@gmail.com>2022-04-22 16:26:26 -0400
committerGitHub <noreply@github.com>2022-04-22 13:26:26 -0700
commita3585b3a2cf1757f28bddcc7e1e0ddedbb218df4 (patch)
tree6be86ddcef16ff7535dde9d12190ff548dc25b8a /api
parent5f89aa3b889ee0c37080e6492b0485ee8383d959 (diff)
downloadksp-a3585b3a2cf1757f28bddcc7e1e0ddedbb218df4.tar.gz
Add support for getting annotation default values (#949)
Diffstat (limited to 'api')
-rw-r--r--api/api.base3
-rw-r--r--api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt5
2 files changed, 8 insertions, 0 deletions
diff --git a/api/api.base b/api/api.base
index 72f9eeb4..1b94cdb9 100644
--- a/api/api.base
+++ b/api/api.base
@@ -40,6 +40,7 @@ package com.google.devtools.ksp {
method public static boolean isAbstract(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration);
method @com.google.devtools.ksp.KspExperimental public static <T extends java.lang.annotation.Annotation> boolean isAnnotationPresent(@NonNull com.google.devtools.ksp.symbol.KSAnnotated, @NonNull kotlin.reflect.KClass<T> annotationKClass);
method public static boolean isConstructor(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration);
+ method public static boolean isDefault(@NonNull com.google.devtools.ksp.symbol.KSValueArgument);
method public static boolean isInternal(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
method public static boolean isJavaPackagePrivate(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
method public static boolean isLocal(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
@@ -257,10 +258,12 @@ package com.google.devtools.ksp.symbol {
public interface KSAnnotation extends com.google.devtools.ksp.symbol.KSNode {
method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getAnnotationType();
method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> getArguments();
+ method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> getDefaultArguments();
method @NonNull public com.google.devtools.ksp.symbol.KSName getShortName();
method @Nullable public com.google.devtools.ksp.symbol.AnnotationUseSiteTarget getUseSiteTarget();
property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference annotationType;
property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> arguments;
+ property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> defaultArguments;
property @NonNull public abstract com.google.devtools.ksp.symbol.KSName shortName;
property @Nullable public abstract com.google.devtools.ksp.symbol.AnnotationUseSiteTarget useSiteTarget;
}
diff --git a/api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt b/api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt
index 9df33625..d65656c8 100644
--- a/api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt
+++ b/api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt
@@ -33,6 +33,11 @@ interface KSAnnotation : KSNode {
val arguments: List<KSValueArgument>
/**
+ * The default values of the annotation members
+ */
+ val defaultArguments: List<KSValueArgument>
+
+ /**
* Short name for this annotation, equivalent to the simple name of the declaration of the annotation class.
*/
val shortName: KSName