diff options
author | Kristen Kozak <sebright@google.com> | 2017-12-20 12:06:50 -0800 |
---|---|---|
committer | Kristen Kozak <sebright@google.com> | 2017-12-20 12:07:24 -0800 |
commit | fbe01af5eb386508617a91906253e5b5f19fa1be (patch) | |
tree | a7effbe9c37ffa95d4972552825ccacc923a9734 /api/src/main | |
parent | 377ad8252c59180d3abd53f18b06b10e4d1a3ce8 (diff) | |
download | opencensus-java-fbe01af5eb386508617a91906253e5b5f19fa1be.tar.gz |
Remove warning suppression related to null ClassLoaders.
Class.forName can take a null ClassLoader, so the methods that instantiate the
stats, tags, and tracing components can also take null ClassLoaders.
Diffstat (limited to 'api/src/main')
4 files changed, 10 insertions, 20 deletions
diff --git a/api/src/main/java/io/opencensus/internal/CheckerFrameworkUtils.java b/api/src/main/java/io/opencensus/internal/CheckerFrameworkUtils.java index 8edcafbb..599c2fd3 100644 --- a/api/src/main/java/io/opencensus/internal/CheckerFrameworkUtils.java +++ b/api/src/main/java/io/opencensus/internal/CheckerFrameworkUtils.java @@ -17,25 +17,15 @@ package io.opencensus.internal; import io.opencensus.common.Function; -import javax.annotation.Nullable; /*>>> import org.checkerframework.checker.nullness.qual.KeyForBottom; */ -/** - * Utility methods for suppressing nullness warnings and working around Checker Framework issues. - */ +/** Utility methods for working around Checker Framework issues. */ public final class CheckerFrameworkUtils { private CheckerFrameworkUtils() {} - /** Suppresses warnings about a nullable value. */ - // TODO(sebright): Try to remove all uses of this method. - @SuppressWarnings("nullness") - public static <T> T castNonNull(@Nullable T arg) { - return arg; - } - /** * Works around https://github.com/typetools/checker-framework/issues/1712 by removing {@code ? * super} from a {@code Function}'s argument type. diff --git a/api/src/main/java/io/opencensus/stats/Stats.java b/api/src/main/java/io/opencensus/stats/Stats.java index 18b1cf34..185b9e33 100644 --- a/api/src/main/java/io/opencensus/stats/Stats.java +++ b/api/src/main/java/io/opencensus/stats/Stats.java @@ -17,17 +17,17 @@ package io.opencensus.stats; import com.google.common.annotations.VisibleForTesting; -import io.opencensus.internal.CheckerFrameworkUtils; import io.opencensus.internal.Provider; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.Nullable; /** Class for accessing the default {@link StatsComponent}. */ public final class Stats { private static final Logger logger = Logger.getLogger(Stats.class.getName()); private static final StatsComponent statsComponent = - loadStatsComponent(CheckerFrameworkUtils.castNonNull(StatsComponent.class.getClassLoader())); + loadStatsComponent(StatsComponent.class.getClassLoader()); /** Returns the default {@link StatsRecorder}. */ public static StatsRecorder getStatsRecorder() { @@ -76,7 +76,7 @@ public final class Stats { // Any provider that may be used for StatsComponent can be added here. @VisibleForTesting - static StatsComponent loadStatsComponent(ClassLoader classLoader) { + static StatsComponent loadStatsComponent(@Nullable ClassLoader classLoader) { try { // Call Class.forName with literal string name of the class to help shading tools. return Provider.createInstance( diff --git a/api/src/main/java/io/opencensus/tags/Tags.java b/api/src/main/java/io/opencensus/tags/Tags.java index b2162264..5832ca5d 100644 --- a/api/src/main/java/io/opencensus/tags/Tags.java +++ b/api/src/main/java/io/opencensus/tags/Tags.java @@ -17,18 +17,18 @@ package io.opencensus.tags; import com.google.common.annotations.VisibleForTesting; -import io.opencensus.internal.CheckerFrameworkUtils; import io.opencensus.internal.Provider; import io.opencensus.tags.propagation.TagPropagationComponent; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.Nullable; /** Class for accessing the default {@link TagsComponent}. */ public final class Tags { private static final Logger logger = Logger.getLogger(Tags.class.getName()); private static final TagsComponent tagsComponent = - loadTagsComponent(CheckerFrameworkUtils.castNonNull(TagsComponent.class.getClassLoader())); + loadTagsComponent(TagsComponent.class.getClassLoader()); private Tags() {} @@ -84,7 +84,7 @@ public final class Tags { // Any provider that may be used for TagsComponent can be added here. @VisibleForTesting - static TagsComponent loadTagsComponent(ClassLoader classLoader) { + static TagsComponent loadTagsComponent(@Nullable ClassLoader classLoader) { try { // Call Class.forName with literal string name of the class to help shading tools. return Provider.createInstance( diff --git a/api/src/main/java/io/opencensus/trace/Tracing.java b/api/src/main/java/io/opencensus/trace/Tracing.java index ba79fd08..31d8cdc2 100644 --- a/api/src/main/java/io/opencensus/trace/Tracing.java +++ b/api/src/main/java/io/opencensus/trace/Tracing.java @@ -18,19 +18,19 @@ package io.opencensus.trace; import com.google.common.annotations.VisibleForTesting; import io.opencensus.common.Clock; -import io.opencensus.internal.CheckerFrameworkUtils; import io.opencensus.internal.Provider; import io.opencensus.trace.config.TraceConfig; import io.opencensus.trace.export.ExportComponent; import io.opencensus.trace.propagation.PropagationComponent; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.Nullable; /** Class that manages a global instance of the {@link TraceComponent}. */ public final class Tracing { private static final Logger logger = Logger.getLogger(Tracing.class.getName()); private static final TraceComponent traceComponent = - loadTraceComponent(CheckerFrameworkUtils.castNonNull(TraceComponent.class.getClassLoader())); + loadTraceComponent(TraceComponent.class.getClassLoader()); /** * Returns the global {@link Tracer}. @@ -79,7 +79,7 @@ public final class Tracing { // Any provider that may be used for TraceComponent can be added here. @VisibleForTesting - static TraceComponent loadTraceComponent(ClassLoader classLoader) { + static TraceComponent loadTraceComponent(@Nullable ClassLoader classLoader) { try { // Call Class.forName with literal string name of the class to help shading tools. return Provider.createInstance( |