Add @Nullable annotations where they were missing. PiperOrigin-RevId: 459211611 Change-Id: I9b281b82c8b3356b3ec735752d9da93239d90105
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java index 23d0a70..60a80e4 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
@@ -167,6 +167,7 @@ } } + @Nullable private SkyValue computeInternal(SkyKey skyKey, Environment env) throws ActionExecutionFunctionException, InterruptedException { ActionLookupData actionLookupData = (ActionLookupData) skyKey.argument(); @@ -631,6 +632,7 @@ this.env = env; } + @Nullable @Override public Map<PathFragment, Root> findPackageRootsForFiles(Iterable<PathFragment> execPaths) throws PackageRootException, InterruptedException { @@ -691,6 +693,7 @@ } } + @Nullable private ActionExecutionValue checkCacheAndExecuteIfNeeded( Action action, InputDiscoveryState state, @@ -974,6 +977,7 @@ return env.valuesMissing() ? DiscoveredState.VALUES_MISSING : DiscoveredState.DISCOVERED_DATA; } + @Nullable private static <E extends Exception> Object establishSkyframeDependencies( Environment env, Action action) throws ActionExecutionException, InterruptedException { // Before we may safely establish Skyframe dependencies, we must build all action inputs by
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionState.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionState.java index 82c3dbc..d459173 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionState.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionState.java
@@ -79,6 +79,7 @@ this.state = Preconditions.checkNotNull(state); } + @Nullable ActionExecutionValue getResultOrDependOnFuture( SkyFunction.Environment env, ActionLookupData actionLookupData, @@ -133,6 +134,7 @@ dummyFuture.set(null); } + @Nullable private ActionExecutionValue runStateMachine(SkyFunction.Environment env) throws ActionExecutionException, InterruptedException { ActionStepOrResult original;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionInputMapHelper.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionInputMapHelper.java index a55636b..f024131 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionInputMapHelper.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionInputMapHelper.java
@@ -32,6 +32,7 @@ import com.google.devtools.build.skyframe.SkyFunction.Environment; import com.google.devtools.build.skyframe.SkyValue; import java.util.Map; +import javax.annotation.Nullable; /** Static utilities for working with action inputs. */ final class ActionInputMapHelper { @@ -138,6 +139,7 @@ } } + @Nullable static ImmutableList<FilesetOutputSymlink> getFilesets( Environment env, SpecialArtifact actionInput) throws InterruptedException { Preconditions.checkState(actionInput.isFileset(), actionInput);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java index 5ce5967..c6820da 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java
@@ -68,6 +68,7 @@ this.bugReporter = bugReporter; } + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws ActionTemplateExpansionFunctionException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java index 3668f30..f397a78 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java
@@ -106,6 +106,7 @@ this.xattrProvider = xattrProvider; } + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws ArtifactFunctionException, InterruptedException { @@ -183,6 +184,7 @@ } } + @Nullable private static TreeArtifactValue createTreeArtifactValueFromActionKey( ArtifactDependencies artifactDependencies, Environment env) throws InterruptedException { // Request the list of expanded action keys from the ActionTemplate. @@ -254,6 +256,7 @@ return tree; } + @Nullable private SkyValue createSourceValue(Artifact artifact, Environment env) throws InterruptedException, ArtifactFunctionException { RootedPath path = RootedPath.toRootedPath(artifact.getRoot().getRoot(), artifact.getPath());
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java index 7d25b82..c3ee93c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java
@@ -34,6 +34,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.function.Supplier; +import javax.annotation.Nullable; /** * A builder of values for {@link ArtifactNestedSetKey}. @@ -101,6 +102,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, ArtifactNestedSetFunctionException { List<SkyKey> depKeys = getDepSkyKeys((ArtifactNestedSetKey) skyKey);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletor.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletor.java index 1b201a2..627a4eb 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletor.java
@@ -108,6 +108,7 @@ } } + @Nullable @Override public AspectCompleteEvent createSucceeded( AspectCompletionKey skyKey,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCreationException.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCreationException.java index e70a0e1..a0ff554 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCreationException.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCreationException.java
@@ -29,6 +29,7 @@ /** An exception indicating that there was a problem creating an aspect. */ public final class AspectCreationException extends Exception implements SaneAnalysisException { + @Nullable private static ConfigurationId toId(BuildConfigurationValue config) { return config == null ? null : config.getEventId().getConfiguration(); }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java index bba79c9..4d82e0b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -720,6 +720,7 @@ transitivePackagesForPackageRootResolution); } + @Nullable private static AspectValue createAliasAspect( Environment env, Target originalTarget,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD index bf3a65e..8b44526 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -449,6 +449,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -654,6 +655,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -1145,6 +1147,7 @@ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", + "//third_party:jsr305", ], ) @@ -1230,6 +1233,7 @@ "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", + "//third_party:jsr305", ], ) @@ -1331,6 +1335,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -1512,6 +1517,7 @@ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", "//src/main/java/com/google/devtools/common/options", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -1841,6 +1847,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -1876,6 +1883,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -2032,6 +2040,7 @@ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", "//src/main/protobuf:failure_details_java_proto", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -2456,6 +2465,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -2485,6 +2495,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], ) @@ -2808,6 +2819,7 @@ "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", "//third_party:guava", + "//third_party:jsr305", ], )
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java index 796da77..731401d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java
@@ -44,6 +44,7 @@ import com.google.devtools.common.options.OptionsParsingException; import java.util.Map; import java.util.TreeMap; +import javax.annotation.Nullable; import net.starlark.java.eval.StarlarkSemantics; /** A builder for {@link BuildConfigurationValue} instances. */ @@ -64,6 +65,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, BuildConfigurationFunctionException { WorkspaceNameValue workspaceNameValue = (WorkspaceNameValue) env
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java index f5d0ca4..126a34e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
@@ -34,6 +34,7 @@ import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.build.skyframe.SkyframeIterableResult; import java.util.Map; +import javax.annotation.Nullable; /** * Creates a {@link BuildInfoCollectionValue}. Only depends on the unique {@link @@ -56,6 +57,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { final BuildInfoKeyAndConfig keyAndConfig = (BuildInfoKeyAndConfig) skyKey.argument(); ImmutableSet<SkyKey> keysToRequest =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java index b3a7409..9a98352 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
@@ -88,6 +88,7 @@ return infoKey; } + @Nullable @Override public Label getLabel() { return null;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BzlCompileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BzlCompileFunction.java index e451e11..8dc5c76 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BzlCompileFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BzlCompileFunction.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.skyframe.SkyValue; import java.io.IOException; import java.util.Map; +import javax.annotation.Nullable; import net.starlark.java.eval.Module; import net.starlark.java.eval.StarlarkSemantics; import net.starlark.java.syntax.FileOptions; @@ -68,6 +69,7 @@ } } + @Nullable static BzlCompileValue computeInline( BzlCompileValue.Key key, Environment env,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java index 50eaa2d..f034db6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java
@@ -842,6 +842,7 @@ return new BzlLoadValue(module, transitiveDigest, bzlVisibility); } + @Nullable private static RepositoryMapping getRepositoryMapping(BzlLoadValue.Key key, Environment env) throws InterruptedException { if (key.isBuiltins() && !RepositoryDelegatorFunction.ENABLE_BZLMOD.get(env)) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index 2500d3e..ddcc8d2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -243,6 +243,7 @@ @Nullable private StoredEventHandler storedEventHandlerFromResolveConfigurations; } + @Nullable @Override public SkyValue compute(SkyKey key, Environment env) throws ReportedException, UnreportedException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunction.java index 1401b66..f6c9cb2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunction.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * SkyFunction for {@link ContainingPackageLookupValue}s. @@ -27,6 +28,7 @@ public class ContainingPackageLookupFunction implements SkyFunction { @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { PackageIdentifier dir = (PackageIdentifier) skyKey.argument(); PackageLookupValue pkgLookupValue =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java index 87e3d27..23ba5be 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * A Skyframe function to calculate the coverage report Action and Artifacts. @@ -40,6 +41,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { Preconditions.checkState( CoverageReportValue.COVERAGE_REPORT_KEY.equals(skyKey),
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingFunction.java index a89cd48..eb01dcd 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingFunction.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * A {@link SkyFunction} for {@link DirectoryListingValue}s. @@ -27,6 +28,7 @@ public final class DirectoryListingFunction implements SkyFunction { @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws DirectoryListingFunctionException, InterruptedException { RootedPath dirRootedPath = (RootedPath) skyKey.argument();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateFunction.java index e2f1216..ecd1a8c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateFunction.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyKey; import java.io.IOException; +import javax.annotation.Nullable; /** * A {@link SkyFunction} for {@link DirectoryListingStateValue}s. @@ -46,6 +47,7 @@ } @Override + @Nullable public DirectoryListingStateValue compute(SkyKey skyKey, Environment env) throws DirectoryListingStateFunctionException, InterruptedException { RootedPath dirRootedPath = (RootedPath) skyKey.argument();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java index 88128b1..76414eb 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java
@@ -89,6 +89,7 @@ private SymlinkResolutionState() {} } + @Nullable @Override public FileValue compute(SkyKey skyKey, Environment env) throws FileFunctionException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateFunction.java index 8b534e2..699753c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateFunction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.skyframe.SkyKey; import java.io.IOException; import java.util.function.Supplier; +import javax.annotation.Nullable; /** * A {@link SkyFunction} for {@link FileStateValue}s. @@ -51,6 +52,7 @@ // deciding which overload of FileStateFunctionException() to call. @SuppressWarnings("UseMultiCatch") @Override + @Nullable public FileStateValue compute(SkyKey skyKey, Environment env) throws FileStateFunctionException, InterruptedException { RootedPath rootedPath = (RootedPath) skyKey.argument();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java index b727166..8355f34 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java
@@ -37,6 +37,7 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; +import javax.annotation.Nullable; /** SkyFunction for {@link FilesetEntryValue}. */ public final class FilesetEntryFunction implements SkyFunction { @@ -56,6 +57,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey key, Environment env) throws FilesetEntryFunctionException, InterruptedException { WorkspaceNameValue workspaceNameValue =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java index d140652..50ab2f9 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
@@ -215,16 +215,18 @@ // Initialized lazily through a supplier because it is only used to check modified // TreeArtifacts, which are not frequently used in builds. Supplier<NavigableSet<PathFragment>> sortedKnownModifiedOutputFiles = - Suppliers.memoize(new Supplier<NavigableSet<PathFragment>>() { - @Override - public NavigableSet<PathFragment> get() { - if (knownModifiedOutputFiles == null) { - return null; - } else { - return ImmutableSortedSet.copyOf(knownModifiedOutputFiles); - } - } - }); + Suppliers.memoize( + new Supplier<NavigableSet<PathFragment>>() { + @Nullable + @Override + public NavigableSet<PathFragment> get() { + if (knownModifiedOutputFiles == null) { + return null; + } else { + return ImmutableSortedSet.copyOf(knownModifiedOutputFiles); + } + } + }); boolean interrupted; try (SilentCloseable c = Profiler.instance().profile("getDirtyActionValues.stat_files")) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java index 2720411..6e8d9ca 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java
@@ -61,6 +61,7 @@ this.regexPatternCache = new ConcurrentHashMap<>(); } + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws GlobFunctionException, InterruptedException { @@ -404,6 +405,7 @@ * to {@code matches}, or {@code null} if no additional value is needed. The returned value should * be opaquely passed to {@link #getSubdirMatchesFromSkyValue}. */ + @Nullable private static SkyKey getSkyKeyForSubdir( String fileName, GlobDescriptor glob, String subdirPattern) { if (subdirPattern == null) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java index 7ded46b..f5cfb20 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java
@@ -29,6 +29,7 @@ import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.Set; +import javax.annotation.Nullable; /** * File system watcher for local filesystems. It's able to provide a list of changed files between @@ -83,6 +84,7 @@ } @Override + @Nullable public DiffAwareness maybeCreate(Root pathEntry) { com.google.devtools.build.lib.vfs.Path resolvedPathEntry; try {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java index 79fc1ff..afb76f4 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java
@@ -54,6 +54,7 @@ // Implementation note: Although LocalRepositoryLookupValue.NOT_FOUND exists, it should never be // returned from this method. + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws SkyFunctionException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java index dc17178..dec5009 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
@@ -316,6 +316,7 @@ * @throws PackageFunctionException if there is an error computing the workspace file or adding * its rules to the //external package. */ + @Nullable private SkyValue getExternalPackage(Environment env) throws PackageFunctionException, InterruptedException { StarlarkSemantics starlarkSemantics = PrecomputedValue.STARLARK_SEMANTICS.get(env); @@ -385,6 +386,7 @@ @Nullable private LoadedPackage loadedPackage; } + @Nullable @Override public SkyValue compute(SkyKey key, Environment env) throws PackageFunctionException, InterruptedException { @@ -576,6 +578,7 @@ return new PackageValue(pkg); } + @Nullable private static FileValue getBuildFileValue(Environment env, RootedPath buildFileRootedPath) throws InterruptedException { FileValue buildFileValue;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java index dcd8012..69e01e7 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
@@ -80,6 +80,7 @@ private int buildFileNamePos = 0; } + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws PackageLookupFunctionException, InterruptedException { @@ -234,6 +235,7 @@ return fileValue; } + @Nullable private PackageLookupValue getPackageLookupValue( Environment env, Root packagePathEntry, @@ -318,6 +320,7 @@ return false; } + @Nullable private PackageLookupValue computeWorkspacePackageLookupValue(Environment env) throws InterruptedException { RootedPath workspaceFile = externalPackageHelper.findWorkspaceFile(env); @@ -349,6 +352,7 @@ * <p>To do this, it looks up the "external" package and finds a path mapping for the repository * name. */ + @Nullable private PackageLookupValue computeExternalPackageLookupValue( SkyKey skyKey, Environment env, PackageIdentifier packageIdentifier) throws PackageLookupFunctionException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PerBuildSyscallCache.java b/src/main/java/com/google/devtools/build/lib/skyframe/PerBuildSyscallCache.java index a9da72c..52d71cf 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PerBuildSyscallCache.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PerBuildSyscallCache.java
@@ -118,6 +118,7 @@ return (Collection<Dirent>) result; // unchecked cast } + @Nullable @Override public FileStatus statIfFound(Path path, Symlinks symlinks) throws IOException { // Try to load a Symlinks.NOFOLLOW result first. Symlinks are rare and this enables sharing the @@ -137,6 +138,7 @@ return (status == NO_STATUS) ? null : status; } + @Nullable @Override @SuppressWarnings("unchecked") public DirentTypeWithSkip getType(Path path, Symlinks symlinks) throws IOException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java index f1ae109..a999c00 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java
@@ -55,6 +55,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; +import javax.annotation.Nullable; /** * Prepares for analysis - creates the top-level configurations and evaluates the transitions needed @@ -68,6 +69,7 @@ } @Override + @Nullable public PrepareAnalysisPhaseValue compute(SkyKey key, Environment env) throws InterruptedException, PrepareAnalysisPhaseFunctionException { PrepareAnalysisPhaseKey options = (PrepareAnalysisPhaseKey) key.argument(); @@ -200,6 +202,7 @@ // TODO(bazel-team): error out early for targets that fail - untrimmed configurations should // never make it through analysis (and especially not seed ConfiguredTargetValues) // Keep this in sync with {@link ConfigurationResolver#getConfigurationsFromExecutor}. + @Nullable private LinkedHashSet<TargetAndConfiguration> resolveConfigurations( SkyFunction.Environment env, Iterable<TargetAndConfiguration> nodes, @@ -243,6 +246,7 @@ // Keep in sync with {@link SkyframeExecutor#getConfigurations}. // Note: this implementation runs inside Skyframe, so it has access to SkyFunction.Environment. + @Nullable private Multimap<DependencyKey, BuildConfigurationValue> getConfigurations( SkyFunction.Environment env, BuildOptions fromOptions, Iterable<DependencyKey> keys) throws InterruptedException, TransitionException, OptionsParsingException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunction.java index 1fe80d8..94e3549 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunction.java
@@ -26,6 +26,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * Ensures the graph contains the targets in the directory's package, if any, and in the @@ -40,6 +41,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, ProcessPackageDirectorySkyFunctionException { PrepareDepsOfTargetsUnderDirectoryKey argument =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryFunction.java index 575066f..afb64f9 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryFunction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * {@link SkyFunction} to recursively traverse a directory and ensure {@link @@ -37,6 +38,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, ProcessPackageDirectorySkyFunctionException { Key argument = (Key) skyKey.argument();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java index df82357..eaed121 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
@@ -513,6 +513,7 @@ * {@link FileInfo} so the caller should use these instead of the old ones (this happens when * a package is found, but under a different root than expected) */ + @Nullable private static PkgLookupResult checkIfPackage( Environment env, TraversalRequest traversal, FileInfo rootInfo, SyscallCache syscallCache) throws IOException, InterruptedException, BuildFileNotFoundException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java index 1d14e1a..9693f5e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
@@ -60,6 +60,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +import javax.annotation.Nullable; /** A {@link TargetPatternResolver} backed by a {@link RecursivePackageProvider}. */ @ThreadCompatible @@ -108,6 +109,7 @@ } @Override + @Nullable public Target getTargetOrNull(Label label) throws InterruptedException, InconsistentFilesystemException { try {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java index 014a96c..614a49b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
@@ -183,6 +183,7 @@ return executionPlatforms.build(); } + @Nullable private static ImmutableList<ConfiguredTargetKey> configureRegisteredExecutionPlatforms( Environment env, BuildConfigurationValue configuration, List<Label> labels) throws InterruptedException, RegisteredExecutionPlatformsFunctionException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java index 7920b0a..5c5daab 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java
@@ -173,6 +173,7 @@ return toolchains.build(); } + @Nullable private static ImmutableList<DeclaredToolchainInfo> configureRegisteredToolchains( Environment env, BuildConfigurationValue configuration, List<Label> labels) throws InterruptedException, RegisteredToolchainsFunctionException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java index 8ed519a..2ffbec0 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java
@@ -897,6 +897,7 @@ private static ActionContinuationOrResult begin( Action action, ActionExecutionContext actionExecutionContext) { return new ActionContinuationOrResult() { + @Nullable @Override public ListenableFuture<?> getFuture() { return null; @@ -914,6 +915,7 @@ private static ActionContinuationOrResult runFully( Action action, ActionExecutionContext actionExecutionContext) { return new ActionContinuationOrResult() { + @Nullable @Override public ListenableFuture<?> getFuture() { return null;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index b2cae68..32ef342 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1851,6 +1851,7 @@ getConfigurations(eventHandler, ImmutableList.of(options), options, keepGoing)); } + @Nullable public BuildConfigurationValue getConfiguration( ExtendedEventHandler eventHandler, BuildConfigurationKey configurationKey) { if (configurationKey == null) { @@ -2459,6 +2460,7 @@ } /** Returns the generating action of a given artifact ({@code null} if it's a source artifact). */ + @Nullable private ActionAnalysisMetadata getGeneratingAction( ExtendedEventHandler eventHandler, Artifact artifact) throws InterruptedException { if (artifact.isSourceArtifact()) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageManager.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageManager.java index 4dfeee9..2d33490 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageManager.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageManager.java
@@ -35,6 +35,7 @@ import java.io.PrintStream; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Supplier; +import javax.annotation.Nullable; class SkyframePackageManager implements PackageManager, CachingPackageLocator { private final SkyframePackageLoader packageLoader; @@ -86,6 +87,7 @@ @ThreadSafe @Override + @Nullable public Path getBuildFileForPackage(PackageIdentifier packageName) { // Note that this method needs to be thread-safe, as it is currently used concurrently by // legacy blaze code.
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java index 561ff38..9abfe632 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java
@@ -177,6 +177,7 @@ : new TargetParsingException(message, exception, TargetPatterns.Code.CANNOT_PRELOAD_TARGET); } + @Nullable private PatternLookup createPatternLookup( PathFragment offset, ExtendedEventHandler eventHandler,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkAspectFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkAspectFactory.java index 763c952..53350d3 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkAspectFactory.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkAspectFactory.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.packages.StructImpl; import com.google.devtools.build.lib.packages.StructProvider; import java.util.Map; +import javax.annotation.Nullable; import net.starlark.java.eval.Dict; import net.starlark.java.eval.EvalException; import net.starlark.java.eval.Starlark; @@ -43,6 +44,7 @@ } @Override + @Nullable public ConfiguredAspect create( ConfiguredTargetAndData ctadBase, RuleContext ruleContext,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java index 5284f56..d87f4c2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
@@ -35,6 +35,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * TargetPatternFunction translates a target pattern (eg, "foo/...") into a set of resolved Targets. @@ -44,6 +45,7 @@ public TargetPatternFunction() {} @Override + @Nullable public SkyValue compute(SkyKey key, Environment env) throws TargetPatternFunctionException, InterruptedException { TargetPatternValue.TargetPatternKey patternKey =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java index a4a81fc..4b2153e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
@@ -62,6 +62,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.annotation.Nullable; /** * Takes a list of target patterns corresponding to a command line and turns it into a set of @@ -71,6 +72,7 @@ public TargetPatternPhaseFunction() {} @Override + @Nullable public TargetPatternPhaseValue compute(SkyKey key, Environment env) throws InterruptedException { TargetPatternPhaseKey options = (TargetPatternPhaseKey) key.argument(); WorkspaceNameValue workspaceName = (WorkspaceNameValue) env.getValue(WorkspaceNameValue.key()); @@ -338,6 +340,7 @@ } /** Merges expansions from all patterns into a single {@link ResolvedTargets} instance. */ + @Nullable private static ResolvedTargets<Target> mergeAll( List<ExpandedPattern> expandedPatterns, boolean hasError, @@ -390,6 +393,7 @@ * @param repoMapping the repository mapping to apply to repos in the patterns * @param testFilter the test filter */ + @Nullable private static ResolvedTargets<Target> determineTests( Environment env, List<String> targetPatterns,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionFunction.java index f2357ef..8b482fa 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionFunction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** * TestCompletionFunction builds all relevant test artifacts of a {@link @@ -32,6 +33,7 @@ */ public final class TestCompletionFunction implements SkyFunction { @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { TestCompletionValue.TestCompletionKey key = (TestCompletionValue.TestCompletionKey) skyKey.argument();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java index 9a0422c..26c46b3 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java
@@ -40,6 +40,7 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import javax.annotation.Nullable; /** * TestExpansionFunction takes a single test_suite target and expands all of the tests it contains, @@ -48,6 +49,7 @@ // TODO(ulfjack): What about test_suite rules that include each other. final class TestExpansionFunction implements SkyFunction { @Override + @Nullable public SkyValue compute(SkyKey key, Environment env) throws InterruptedException { TestExpansionKey expansion = (TestExpansionKey) key.argument(); SkyKey packageKey = PackageValue.key(expansion.getLabel().getPackageIdentifier());
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java index 33ee1ba..ea18c97 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java
@@ -33,6 +33,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.annotation.Nullable; /** * Returns all tests that need to be run when testing is requested for a given set of targets. @@ -41,6 +42,7 @@ */ final class TestsForTargetPatternFunction implements SkyFunction { @Override + @Nullable public SkyValue compute(SkyKey key, Environment env) throws InterruptedException { TestsForTargetPatternKey expansion = (TestsForTargetPatternKey) key.argument(); ResolvedTargets<Target> targets = labelsToTargets(env, expansion.getTargets(), false); @@ -76,6 +78,7 @@ return new TestsForTargetPatternValue(new ResolvedTargets<>(result, hasError)); } + @Nullable static ResolvedTargets<Target> labelsToTargets( Environment env, ImmutableSet<Label> labels, boolean hasError) throws InterruptedException { Set<PackageIdentifier> pkgIdentifiers = new LinkedHashSet<>();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java index f269f3e..18152fc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java
@@ -92,6 +92,7 @@ abstract Label argumentFromKey(SkyKey key); + @Nullable @Override public SkyValue compute(SkyKey key, Environment env) throws TransitiveBaseTraversalFunctionException, InterruptedException {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java index cdadffd..7d7c307 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
@@ -59,6 +59,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import javax.annotation.Nullable; import net.starlark.java.eval.Module; import net.starlark.java.eval.Mutability; import net.starlark.java.eval.Starlark; @@ -93,6 +94,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws WorkspaceFileFunctionException, InterruptedException { WorkspaceFileKey key = (WorkspaceFileKey) skyKey.argument(); @@ -480,6 +482,7 @@ * immediately again; we probably should construct the statements directly out of the value to * improve performance. */ + @Nullable private static String workspaceFromResolvedValue(RootedPath resolvedPath, Environment env) throws WorkspaceFileFunctionException, InterruptedException { ResolvedFileValue resolvedValue =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java index b65566e..272a753 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import javax.annotation.Nullable; /** Creates the workspace status artifacts and action. */ public class WorkspaceStatusFunction implements SkyFunction { @@ -33,6 +34,7 @@ } @Override + @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { Preconditions.checkState( WorkspaceStatusValue.BUILD_INFO_KEY.equals(skyKey), WorkspaceStatusValue.BUILD_INFO_KEY);