diff options
author | cpeyser <cpeyser@google.com> | 2018-03-23 12:10:25 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-23 12:12:08 -0700 |
commit | 10798099687faad9edd9a3b9e4e46b03cedfaad7 (patch) | |
tree | 19259903a6b6975d2e7010fa890850293652dce9 /src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java | |
parent | 55ad6b205e77c0391af72e9ca57d74f15fe47936 (diff) |
Adds hook to AspectFunction to allow for inlining SkylarkImportLookupFunction.
If inlining is off, fixes a bug where null return values resulted in an error.
PiperOrigin-RevId: 190255818
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java index 16d4c35290..d2ce04f08e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java @@ -39,6 +39,13 @@ import javax.annotation.Nullable; */ public class ToplevelSkylarkAspectFunction implements SkyFunction { + @Nullable private final SkylarkImportLookupFunction skylarkImportLookupFunctionForInlining; + + ToplevelSkylarkAspectFunction( + @Nullable SkylarkImportLookupFunction skylarkImportLookupFunctionForInlining) { + this.skylarkImportLookupFunctionForInlining = skylarkImportLookupFunctionForInlining; + } + @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) @@ -68,8 +75,9 @@ public class ToplevelSkylarkAspectFunction implements SkyFunction { SkylarkAspect skylarkAspect; Label extensionFileLabel = Iterables.getOnlyElement(labelLookupMap.values()); try { - skylarkAspect = AspectFunction.loadSkylarkAspect( - env, extensionFileLabel, skylarkValueName); + skylarkAspect = + AspectFunction.loadSkylarkAspect( + env, extensionFileLabel, skylarkValueName, skylarkImportLookupFunctionForInlining); if (skylarkAspect == null) { return null; } |