aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2017-03-02 14:39:52 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-03 10:35:22 +0000
commit654717f6f2e9e626b60debc657d3a8723f057b97 (patch)
tree007f6f91cf0c67098be1900cc97550c5c7d912f0 /src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
parent83514648f2e4e63dcd039e976f3b5d47552e0383 (diff)
Refactor implementation of native and Skylark declared providers.
1) Instead of having a single class for both, split them into {Skylark,Native}ClassObjectConstructors 2) Allow NativeClassObjectConstructors to customize their instantiation logic. 3) Prepare ClassObjectConstructor.Key to be serializable. -- PiperOrigin-RevId: 148997553 MOS_MIGRATED_REVID=148997553
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
index 810f071804..79e62b8064 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
@@ -19,8 +19,9 @@ import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
+import com.google.devtools.build.lib.packages.ClassObjectConstructor;
+import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor;
import com.google.devtools.build.lib.rules.apple.DottedVersion;
import com.google.devtools.build.lib.util.Preconditions;
import java.util.Map;
@@ -77,8 +78,8 @@ public final class IosDeviceProvider extends SkylarkClassObject implements Trans
public static final String SKYLARK_NAME = "IosDevice";
/** Skylark constructor and identifier for the IosDeviceProvider. */
- public static final SkylarkClassObjectConstructor SKYLARK_CONSTRUCTOR =
- SkylarkClassObjectConstructor.createNative(SKYLARK_NAME);
+ public static final ClassObjectConstructor SKYLARK_CONSTRUCTOR =
+ new NativeClassObjectConstructor(SKYLARK_NAME) { };
private final String type;
private final DottedVersion iosVersion;