aboutsummaryrefslogtreecommitdiff
path: root/api
AgeCommit message (Collapse)Author
2022-04-22Add support for getting annotation default values (#949)James Kleeh
2022-04-20Add support for knowing if an annotation value was declared or notjameskleeh
2022-04-06Fix doc typos and improve wordingMaxr1998
2022-03-29fix isOpen check for sealed classesJiaxiang Chen
2022-03-08#851: Add isJavaRawType function to Resolver.Fedor Ihnatkevich
This is required for checking if the underlying KSType's type is Java's raw type. Such information is sometimes required to correctly override Java methods while generating Java code.
2022-02-28Don't mark nested classes as open (#877)Yigit Boyar
* Don't mark nested classes as open This CL fixes a bug in in KSP where we were marking nested classes as public by mistake (the code seems to focus on properties and methods of interfaces). To keep a similar logic, I just excluded KSClassDeclarations from that check. I've also updated the test to be a bit more readable to only list properties that return true by their name. Fixes: #876 Test: declarationUtil.kt
2022-02-25Pass jdk and compile classpath to metalavaTing-Yuan Huang
2022-02-23Track API changes in CITing-Yuan Huang
using Metalava.
2022-02-18Fix ABI compatibilityTing-Yuan Huang
Also verified with japi-compliance-checker.
2022-02-16Add Resolver.overrides(overrider: KSDeclaration, overridee: KSDeclaration, ↵Jiaxiang Chen
containingClass: KSClassDeclaration): Boolean this function checks if a declaration is overriding another declaration in the context of contained in the containing class.
2022-02-06APIs for api/compiler versions and target infoTing-Yuan Huang
2022-02-06reorganize sources and java doc jar publish taskJiaxiang Chen
2022-02-06pack util module into symbol-processing-cmdline artifactJiaxiang Chen
2021-12-01Introduce Resolver.getJavaWildcardTing-Yuan Huang
which computes the corresponding Java wildcard, from the given reference.
2021-11-08Introduce Resolver.effectiveJavaModifiers for jvmTing-Yuan Huang
Specifically, Resolver.effectiveJavaModifiers(declaration: KSDeclaration) Those modifiers / access flags are part of Kotlin compilers implementation on the JVM platform. They don't exist directly in the Kotlin language. Therefore, this API is introduced so that processors don't need to guess by themselves.
2021-11-05update documentation for getSymbolsAnnotatedWith behavior for multiple round ↵Jiaxiang Chen
and deferred symbols
2021-10-27Fixed unexpected behavior with KSValidateVisitorEvan Tatarka
1. visitFunctionDeclaration was always returning false for validate if the predicate lambda returned false to skip. 2. visitPropertyDeclaration wasn't visiting the type unlike other visit methods.
2021-10-27Wrap KSTypes into the exception to make it work for arbitrary class value ↵bennyhuo
members in annotation. This is similar to the MirroredTypeException/MirroredTypesException in APT.
2021-10-25Add annotation argument validation to validate APIDaniel Santiago
Fixes: https://github.com/google/ksp/issues/603
2021-10-20add support for const keyword in modifiersJiaxiang Chen
2021-10-20Add support for default Class or KClass valuesAlex Beggs
- remove NPE catch - add tests for default KClass and Class for getAnnotationsByType - handle Java Class default value retrieval using reflection for PsiImmediateClassType
2021-10-19SimplifyZac Sweers
2021-10-19Check type rather than assumeZac Sweers
2021-10-19FormattingZac Sweers
2021-10-19Fix enum lookupZac Sweers
Before, this would take the `toString()` of the KSType, but that's wrong because then you have something like `AnnotationRetention.valueOf("kotlin.annotation.AnnotationRetention.RUNTIME")`, which obviously won't work. This unpacks the short name from the `KSType` directly so that it actually looks up just `RUNTIME` in the given example.
2021-10-18Fix ClassNotFoundException for initializing annotation arguments in an ↵bennyhuo
annotation. The classloader may not be the same with the 'this' class.
2021-10-18Fix Java integer literal problems assigned to long, float and double.bennyhuo
2021-10-18Fix comments for CodeGenerator.associate*Ting-Yuan Huang
2021-10-18Add CodeGenerator.associateWithClassesTing-Yuan Huang
So that changes in unreachable classes can invalidate corresponding outputs and trigger re-processing correctly. The implementation creates an internal, virtual NoSourceFile for each class to propagate dirtyness.
2021-10-16Fix typoArtem Daugel-Dauge
2021-09-07Fix incorrectly placed APIs.Ting-Yuan Huang
2021-09-01fix visibility check for public overrideJiaxiang Chen
2021-09-01fix isVisibleFrom() for java package visibilityJiaxiang Chen
2021-08-31change KSDeclaration.containingFile to an extension property on KSNodeJiaxiang Chen
2021-08-18add parent API to KSNodeJiaxiang Chen
2021-08-16Fix ktlint issues and apply ktlint to workflowAlex Beggs
2021-08-12sign for all publications instead of get publication by name.Jiaxiang Chen
2021-08-11add signing plugin to publishing taskJiaxiang Chen
2021-08-07Generate and publish JavadocTing-Yuan Huang
2021-07-12add Resolver.getJvmCheckedException for property accessorsJiaxiang Chen
2021-07-01Fix typo in filename of SymbolProcessorEnvironment.Daniel Santiago Rivera
2021-06-14default symbol validation should not check function bodyJiaxiang Chen
2021-06-02Make SymbolProcessorProvider a fun interfacePaul Rybitskyi
2021-05-26Remove deprecated APIsTing-Yuan Huang
2021-05-26fix findOverridee for kotlin/java properties.Jiaxiang Chen
2021-05-24Add API to check if a property has a backing field (#449)Yigit Boyar
This PR adds a new KSPropertyDeclaration.hasBackingField to check if it has a backing field.
2021-05-19Extract create args to SymbolProcessorEnvironmentEvan Tatarka
This allows future arguments to be added without forcing changes to downstream processors. Naming is modeled after apt's ProcessingEnvironment.
2021-05-12Remove kotlinOptions.jvmTarget specificationPaul Rybitskyi
2021-05-11Support KSDeclaration.getDocStringTing-Yuan Huang
A doc string is a string in the comment right in front of an declaration and is enclosed by /** and */. Leading whitespaces and * are removed for each line.
2021-05-11Split Origin.CLASS into KOTLIN_LIB and JAVA_LIBTing-Yuan Huang
For KSAnnotationDescriptor, check whether the underlying descripter is JavaAnnotationDescriptor. For KSDeclarationDescriptorImpl, KSPropertyAccessorDescriptorImpl and KSValueParameterDescriptorImpl, check whether they are contained by JavaClassDescriptor. For KSTypeReferenceDescriptorImpl, KSClassifierReferenceDescriptorImpl and KSTypeArgumentDescriptorImpl, specify the origin in their creation appropriately. Most of time it is the same as where they are created. The only exception is when it's created for type arguemnts from KotlinType. In that case it is SYNTHETIC.