From 4d7c2941c14c6dfc686711d60bf9797abf747775 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 4 Mar 2022 12:25:58 -0800 Subject: [PATCH] Update StaleDataclassProcessor for JDK 17 JDK 17 no longer allows access to com.sun.tools.javac.code by default, use the public APIs instead. Bug: 219098645 Test: m checkbuild Change-Id: If379935cc4ab9e5c809cc9fbfccbacfd8d87e8c8 --- .../staledataclass/StaleDataclassProcessor.kt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt b/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt index 1aec9b812e61e..2e60f64b21e8a 100644 --- a/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt +++ b/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt @@ -21,8 +21,6 @@ import com.android.codegen.BASE_BUILDER_CLASS import com.android.codegen.CANONICAL_BUILDER_CLASS import com.android.codegen.CODEGEN_NAME import com.android.codegen.CODEGEN_VERSION -import com.sun.tools.javac.code.Symbol -import com.sun.tools.javac.code.Type import java.io.File import java.io.FileNotFoundException import javax.annotation.processing.AbstractProcessor @@ -33,6 +31,7 @@ import javax.lang.model.element.AnnotationMirror import javax.lang.model.element.Element import javax.lang.model.element.ElementKind import javax.lang.model.element.TypeElement +import javax.lang.model.type.ExecutableType import javax.tools.Diagnostic private const val STALE_FILE_THRESHOLD_MS = 1000 @@ -102,14 +101,13 @@ class StaleDataclassProcessor: AbstractProcessor() { append(" ") append(elem.annotationMirrors.joinToString(" ", transform = { annotationToString(it) })) append(" ") - if (elem is Symbol) { - if (elem.type is Type.MethodType) { - append((elem.type as Type.MethodType).returnType) - } else { - append(elem.type) - } - append(" ") + val type = elem.asType() + if (type is ExecutableType) { + append(type.returnType) + } else { + append(type) } + append(" ") append(elem) } } @@ -234,4 +232,4 @@ class StaleDataclassProcessor: AbstractProcessor() { override fun getSupportedSourceVersion(): SourceVersion { return SourceVersion.latest() } -} \ No newline at end of file +}