Enforce via annotation processor that a class may not have two @SkylarkCallable methods with the same name.
This greatly simplifies the code around method retrieval.
Fixes #6490.
RELNOTES: None.
PiperOrigin-RevId: 218568560
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index c0374df..f904c42 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -2042,7 +2042,7 @@
checkError(
"test/skylark",
"r",
- "struct has no method 'output_group'",
+ "type 'Target' has no method output_group()",
"load('//test/skylark:extension.bzl', 'my_rule')",
"cc_binary(name = 'lib', data = ['a.txt'])",
"my_rule(name='r', dep = ':lib')");
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index 0c12754..3337f07 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -1109,7 +1109,7 @@
@Test
public void testStructAccessingUnknownFieldWithArgs() throws Exception {
checkErrorContains(
- "struct has no method 'c'", "x = struct(a = 1, b = 2)", "y = x.c()");
+ "type 'struct' has no method c()", "x = struct(a = 1, b = 2)", "y = x.c()");
}
@Test