Use a new pattern for builtin Provider objects with @SkylarkCallable.

This deprecates the old NativeProvider pattern.
The new pattern is demonstrated using AppleStaticLibraryInfo.

RELNOTES: None.
PiperOrigin-RevId: 194956883
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java b/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java
index c2cb348..186a0d4 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java
@@ -67,17 +67,17 @@
     return fieldNames;
   }
 
-  public NativeInfo(NativeProvider<?> provider) {
+  public NativeInfo(Provider provider) {
     this(provider, Location.BUILTIN);
   }
 
-  public NativeInfo(NativeProvider<?> provider, Location loc) {
+  public NativeInfo(Provider provider, Location loc) {
     this(provider, ImmutableMap.of(), loc);
   }
 
   // TODO(cparsons): Remove this constructor once DefaultInfo and ToolchainInfo stop using it.
   @Deprecated
-  public NativeInfo(NativeProvider<?> provider, Map<String, Object> values, Location loc) {
+  public NativeInfo(Provider provider, Map<String, Object> values, Location loc) {
     super(provider, loc);
     this.values = copyValues(values);
   }