aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-06-11 12:44:06 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-11 12:45:43 -0700
commitabeb8515ced94f94e80a0196bd5e8330fefba938 (patch)
tree3b40eb0c5e83aceb74186343be01af86bc70e8d4 /src/main/java/com/google/devtools/build/lib/packages
parentd1faf43493a6d11deb5bd88373ceb5fab04c8109 (diff)
Migrate android providers to use BuiltinProvider instead of NativeProvider
RELNOTES: None. PiperOrigin-RevId: 200096226
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
index bb12ae37e6..b880c97fa8 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeProvider.NativeKey;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.EvalException;
import javax.annotation.Nullable;
/**
@@ -88,4 +89,13 @@ public abstract class BuiltinProvider<T extends Info> implements Provider {
public void repr(SkylarkPrinter printer) {
printer.append("<function " + getPrintableName() + ">");
}
+
+ /**
+ * Convenience method for subclasses of this class to throw a consistent error when
+ * a provider is unable to be constructed from skylark.
+ */
+ protected T throwUnsupportedConstructorException(Location loc) throws EvalException {
+ throw new EvalException(
+ loc, String.format("'%s' cannot be constructed from Skylark", getPrintableName()));
+ }
}