Introduce `AdvertisedProviderSet#fingerprint`. This is currently unused in the Bazel binary, but may be useful elsewhere (e.g. clients of `BazelPackageLoader`).

PiperOrigin-RevId: 343178639
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
index 13aae66..33f430c 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
@@ -15,6 +15,7 @@
 
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.util.Fingerprint;
 import javax.annotation.Nullable;
 import net.starlark.java.eval.Printer;
 import net.starlark.java.syntax.Location;
@@ -129,6 +130,13 @@
     }
 
     @Override
+    void fingerprint(Fingerprint fp) {
+      // True => native
+      fp.addBoolean(true);
+      fp.addString(name);
+    }
+
+    @Override
     public int hashCode() {
       return providerClass.hashCode();
     }