diff options
author | James Kleeh <james.kleeh@gmail.com> | 2022-04-22 16:26:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-22 13:26:26 -0700 |
commit | a3585b3a2cf1757f28bddcc7e1e0ddedbb218df4 (patch) | |
tree | 6be86ddcef16ff7535dde9d12190ff548dc25b8a /api | |
parent | 5f89aa3b889ee0c37080e6492b0485ee8383d959 (diff) | |
download | ksp-a3585b3a2cf1757f28bddcc7e1e0ddedbb218df4.tar.gz |
Add support for getting annotation default values (#949)
Diffstat (limited to 'api')
-rw-r--r-- | api/api.base | 3 | ||||
-rw-r--r-- | api/src/main/kotlin/com/google/devtools/ksp/symbol/KSAnnotation.kt | 5 |
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 |