diff options
author | cparsons <cparsons@google.com> | 2018-06-11 12:44:06 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-11 12:45:43 -0700 |
commit | abeb8515ced94f94e80a0196bd5e8330fefba938 (patch) | |
tree | 3b40eb0c5e83aceb74186343be01af86bc70e8d4 /src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java | |
parent | d1faf43493a6d11deb5bd88373ceb5fab04c8109 (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/BuiltinProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java | 10 |
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())); + } } |