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