bazel syntax: make StarlarkFunction constructor private

Also, DefStatement.getSignature. (FunctionSignature will soon be private.)

The grubby serialization tests now invoke the interpreter to construct
function values, which is much more realistic. Rather than intensional
equivalence (which is flawed because it requires privileged access),
the test exercises only extensional properties: does calling the function
compute the right answer?

PiperOrigin-RevId: 307088522
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/DefStatement.java b/src/main/java/com/google/devtools/build/lib/syntax/DefStatement.java
index 342f0ac..bbebae0 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/DefStatement.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/DefStatement.java
@@ -62,7 +62,7 @@
     return parameters;
   }
 
-  public FunctionSignature getSignature() {
+  FunctionSignature getSignature() {
     return signature;
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
index 6649901..b5c94b3 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
@@ -32,9 +32,7 @@
   // TODO(adonovan): remove this hack when identifier resolution is accurate.
   boolean isToplevel;
 
-  // TODO(adonovan): make this private. The CodecTests should go through interpreter to instantiate
-  // such things.
-  public StarlarkFunction(
+  StarlarkFunction(
       String name,
       Location location,
       FunctionSignature signature,