aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-03-23 12:10:25 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-23 12:12:08 -0700
commit10798099687faad9edd9a3b9e4e46b03cedfaad7 (patch)
tree19259903a6b6975d2e7010fa890850293652dce9 /src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java
parent55ad6b205e77c0391af72e9ca57d74f15fe47936 (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.java12
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;
}