diff options
author | brandjon <brandjon@google.com> | 2017-12-07 14:30:04 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-12-07 14:32:12 -0800 |
commit | dc2c55095f2060d1651cdcc873e189c61ca1e664 (patch) | |
tree | 84d7b481ed055230a27f615230c60e88f1284128 /src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java | |
parent | fdfd7f33b7d1b2b7708e255e0764e094df6ca7a7 (diff) |
Register builtins with Runtime
This covers all builtins in classes that use SkylarkSignatureProcessor#configureSkylarkFunctions. Generally this means things you define with @SkylarkSignature.
It is now an error to call configureSkylarkFunctions multiple times for the same class. It should only be called in static initializers.
Runtime's static knowledge of builtins has been factored into Runtime.BuiltinRegistry.
RELNOTES: None
PiperOrigin-RevId: 178295926
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java index 2acfb21da2..833b20a7fb 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java @@ -616,7 +616,7 @@ public final class FuncallExpression extends Expression { Location location = call.getLocation(); Object value = positionals.get(0); ImmutableList<Object> positionalArgs = positionals.subList(1, positionals.size()); - BaseFunction function = Runtime.getFunction(EvalUtils.getSkylarkType(value.getClass()), method); + BaseFunction function = Runtime.getBuiltinRegistry().getFunction(value.getClass(), method); Object fieldValue = (value instanceof ClassObject) ? ((ClassObject) value).getValue(method) : null; if (function != null) { |