diff options
Diffstat (limited to 'java/dagger/android/processor/AndroidProcessor.java')
-rw-r--r-- | java/dagger/android/processor/AndroidProcessor.java | 59 |
1 files changed, 12 insertions, 47 deletions
diff --git a/java/dagger/android/processor/AndroidProcessor.java b/java/dagger/android/processor/AndroidProcessor.java index 2a8ab345b..beb8d0de7 100644 --- a/java/dagger/android/processor/AndroidProcessor.java +++ b/java/dagger/android/processor/AndroidProcessor.java @@ -16,21 +16,15 @@ package dagger.android.processor; -import static javax.tools.Diagnostic.Kind.ERROR; import static net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING; -import com.google.auto.common.BasicAnnotationProcessor; +import androidx.room.compiler.processing.XProcessingEnv; +import androidx.room.compiler.processing.XProcessingStep; +import androidx.room.compiler.processing.javac.JavacBasicAnnotationProcessor; import com.google.auto.service.AutoService; -import com.google.common.base.Ascii; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import java.util.Set; -import javax.annotation.processing.Filer; -import javax.annotation.processing.Messager; import javax.annotation.processing.Processor; import javax.lang.model.SourceVersion; -import javax.lang.model.util.Elements; -import javax.lang.model.util.Types; import net.ltgt.gradle.incap.IncrementalAnnotationProcessor; /** @@ -49,51 +43,22 @@ import net.ltgt.gradle.incap.IncrementalAnnotationProcessor; */ @IncrementalAnnotationProcessor(ISOLATING) @AutoService(Processor.class) -public final class AndroidProcessor extends BasicAnnotationProcessor { - private static final String FLAG_EXPERIMENTAL_USE_STRING_KEYS = - "dagger.android.experimentalUseStringKeys"; +public final class AndroidProcessor extends JavacBasicAnnotationProcessor { + private final DelegateAndroidProcessor delegate = new DelegateAndroidProcessor(); @Override - protected Iterable<? extends Step> steps() { - Filer filer = processingEnv.getFiler(); - Messager messager = processingEnv.getMessager(); - Elements elements = processingEnv.getElementUtils(); - Types types = processingEnv.getTypeUtils(); - - return ImmutableList.of( - new AndroidMapKeyValidator(elements, types, messager), - new ContributesAndroidInjectorGenerator( - new AndroidInjectorDescriptor.Validator(messager), - useStringKeys(), - filer, - elements, - processingEnv.getSourceVersion())); + public void initialize(XProcessingEnv env) { + delegate.initialize(env); } - private boolean useStringKeys() { - if (!processingEnv.getOptions().containsKey(FLAG_EXPERIMENTAL_USE_STRING_KEYS)) { - return false; - } - String flagValue = processingEnv.getOptions().get(FLAG_EXPERIMENTAL_USE_STRING_KEYS); - if (flagValue == null || Ascii.equalsIgnoreCase(flagValue, "true")) { - return true; - } else if (Ascii.equalsIgnoreCase(flagValue, "false")) { - return false; - } else { - processingEnv - .getMessager() - .printMessage( - ERROR, - String.format( - "Unknown flag value: %s. %s must be set to either 'true' or 'false'.", - flagValue, FLAG_EXPERIMENTAL_USE_STRING_KEYS)); - return false; - } + @Override + public Iterable<XProcessingStep> processingSteps() { + return delegate.processingSteps(); } @Override - public Set<String> getSupportedOptions() { - return ImmutableSet.of(FLAG_EXPERIMENTAL_USE_STRING_KEYS); + public final ImmutableSet<String> getSupportedOptions() { + return ImmutableSet.of(DelegateAndroidProcessor.FLAG_EXPERIMENTAL_USE_STRING_KEYS); } @Override |