Fix missing print statements in output functions

PiperOrigin-RevId: 177708823
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 3223ae8..eef1771 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -1211,7 +1211,9 @@
       throws InterruptedException {
     Iterable<String> result;
     try {
-      result = function.getImplicitOutputs(RawAttributeMapper.of(rule));
+      result =
+          function.getImplicitOutputs(
+              getAnalysisEnvironment().getEventHandler(), RawAttributeMapper.of(rule));
     } catch (EvalException e) {
       // It's ok as long as we don't use this method from Skylark.
       throw new IllegalStateException(e);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
index 7ba8bf6..1dea86c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
@@ -189,7 +189,8 @@
       if (defaultValue instanceof UserDefinedFunction) {
         // Computed attribute. Non label type attributes already caused a type check error.
         SkylarkCallbackFunction callback =
-            new SkylarkCallbackFunction((UserDefinedFunction) defaultValue, ast, env);
+            new SkylarkCallbackFunction(
+                (UserDefinedFunction) defaultValue, ast, env.getSemantics());
         // SkylarkComputedDefaultTemplate needs to know the names of all attributes that it depends
         // on. However, this method does not know anything about other attributes.
         // We solve this problem by asking the SkylarkCallbackFunction for the parameter names used
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
index a697721..baee697 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
@@ -522,7 +522,8 @@
           if (implicitOutputs != Runtime.NONE) {
             if (implicitOutputs instanceof BaseFunction) {
               BaseFunction func = (BaseFunction) implicitOutputs;
-              SkylarkCallbackFunction callback = new SkylarkCallbackFunction(func, ast, funcallEnv);
+              SkylarkCallbackFunction callback =
+                  new SkylarkCallbackFunction(func, ast, funcallEnv.getSemantics());
               builder.setImplicitOutputsFunction(
                   new SkylarkImplicitOutputsFunctionWithCallback(callback, ast.getLocation()));
             } else {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
index 7ed1211..a979f2b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -232,7 +232,10 @@
         SkylarkImplicitOutputsFunction func =
             (SkylarkImplicitOutputsFunction) implicitOutputsFunction;
         for (Map.Entry<String, String> entry :
-            func.calculateOutputs(RawAttributeMapper.of(ruleContext.getRule())).entrySet()) {
+            func.calculateOutputs(
+                    ruleContext.getAnalysisEnvironment().getEventHandler(),
+                    RawAttributeMapper.of(ruleContext.getRule()))
+                .entrySet()) {
           outputs.addOutput(
               entry.getKey(),
               ruleContext.getImplicitOutputArtifact(entry.getValue()));