aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorEvan Tatarka <evan@tatarka.me>2021-10-24 21:28:54 -0400
committerJiaxiang Chen <jiaxiang@google.com>2021-10-27 14:31:48 -0700
commitd6ea4c3050e16fd7ad6ebe226f67d928077d72b5 (patch)
tree313ba352ca5bd9d651da90f22ea666f0fcf5a477 /api
parentd1d38bca1bd2f4f74a334f0a5db2adcd79c3344f (diff)
downloadksp-d6ea4c3050e16fd7ad6ebe226f67d928077d72b5.tar.gz
Fixed unexpected behavior with KSValidateVisitor
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.
Diffstat (limited to 'api')
-rw-r--r--api/src/main/kotlin/com/google/devtools/ksp/visitor/KSValidateVisitor.kt4
1 files changed, 2 insertions, 2 deletions
diff --git a/api/src/main/kotlin/com/google/devtools/ksp/visitor/KSValidateVisitor.kt b/api/src/main/kotlin/com/google/devtools/ksp/visitor/KSValidateVisitor.kt
index 8e2747df..4947a41f 100644
--- a/api/src/main/kotlin/com/google/devtools/ksp/visitor/KSValidateVisitor.kt
+++ b/api/src/main/kotlin/com/google/devtools/ksp/visitor/KSValidateVisitor.kt
@@ -75,7 +75,7 @@ open class KSValidateVisitor(
override fun visitFunctionDeclaration(function: KSFunctionDeclaration, data: KSNode?): Boolean {
if (function.returnType != null &&
- !(predicate(function, function.returnType!!) && function.returnType!!.accept(this, data))
+ predicate(function, function.returnType!!) && !function.returnType!!.accept(this, data)
) {
return false
}
@@ -89,7 +89,7 @@ open class KSValidateVisitor(
}
override fun visitPropertyDeclaration(property: KSPropertyDeclaration, data: KSNode?): Boolean {
- if (predicate(property, property.type) && property.type.resolve().isError) {
+ if (predicate(property, property.type) && !property.type.accept(this, data)) {
return false
}
if (!this.visitDeclaration(property, data)) {