Starlark: assert Program.loads.size() == Program.loadLocations.size()

Internal state check, mostly to make code more readable.

Closes #12923.

PiperOrigin-RevId: 419653657
diff --git a/src/main/java/net/starlark/java/syntax/Program.java b/src/main/java/net/starlark/java/syntax/Program.java
index ba981db..1bf6547 100644
--- a/src/main/java/net/starlark/java/syntax/Program.java
+++ b/src/main/java/net/starlark/java/syntax/Program.java
@@ -13,6 +13,7 @@
 // limitations under the License.
 package net.starlark.java.syntax;
 
+import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
 /**
@@ -28,6 +29,9 @@
 
   private Program(
       Resolver.Function body, ImmutableList<String> loads, ImmutableList<Location> loadLocations) {
+    Preconditions.checkArgument(
+        loads.size() == loadLocations.size(), "each load must have a corresponding location");
+
     // TODO(adonovan): compile here.
     this.body = body;
     this.loads = loads;