Add null-checking for non-nullable @Provides methods that are inlined or proxied.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163489062
diff --git a/java/dagger/internal/codegen/CodeBlocks.java b/java/dagger/internal/codegen/CodeBlocks.java
index c8f0640..8b6b4a0 100644
--- a/java/dagger/internal/codegen/CodeBlocks.java
+++ b/java/dagger/internal/codegen/CodeBlocks.java
@@ -20,14 +20,17 @@
import static java.util.stream.StreamSupport.stream;
import com.google.auto.common.MoreElements;
+import com.google.auto.common.MoreTypes;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.CodeBlock.Builder;
+import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import java.util.stream.Collector;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.VariableElement;
+import javax.lang.model.type.DeclaredType;
final class CodeBlocks {
/**
@@ -76,6 +79,11 @@
return stream(codeBlocks.spliterator(), false).collect(toParametersCodeBlock());
}
+ /** Adds an annotation to a method. */
+ static void addAnnotation(MethodSpec.Builder method, DeclaredType nullableType) {
+ method.addAnnotation(ClassName.get(MoreTypes.asTypeElement(nullableType)));
+ }
+
private static final class CodeBlockJoiner {
private final String delimiter;
private final CodeBlock.Builder builder;