diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java index dfe934a344..4a2081c7a6 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java @@ -25,12 +25,12 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.packages.NativeClassObjectConstructor; +import com.google.devtools.build.lib.packages.NativeClassObjectConstructor.WithLegacySkylarkName; import com.google.devtools.build.lib.packages.SkylarkClassObject; import com.google.devtools.build.lib.rules.cpp.CcLinkParamsProvider; import com.google.devtools.build.lib.rules.cpp.CppModuleMap; @@ -55,17 +55,11 @@ import java.util.Map; category = SkylarkModuleCategory.PROVIDER, doc = "A provider for compilation and linking of objc." ) -public final class ObjcProvider extends SkylarkClassObject - implements TransitiveInfoProvider, TransitiveInfoProvider.WithLegacySkylarkName { +public final class ObjcProvider extends SkylarkClassObject { /** Skylark name for the ObjcProvider. */ public static final String SKYLARK_NAME = "objc"; - @Override - public String getSkylarkName() { - return SKYLARK_NAME; - } - /** * Represents one of the things this provider can provide transitively. Things are provided as * {@link NestedSet}s of type E. @@ -506,12 +500,7 @@ public final class ObjcProvider extends SkylarkClassObject /** Skylark constructor and identifier for ObjcProvider. */ public static final NativeClassObjectConstructor<ObjcProvider> SKYLARK_CONSTRUCTOR = - new NativeClassObjectConstructor<ObjcProvider>(ObjcProvider.class, SKYLARK_NAME) { - @Override - public String getErrorMessageFormatForInstances() { - return "ObjcProvider field %s could not be instantiated"; - } - }; + new Constructor(); private ObjcProvider( ImmutableMap<Key<?>, NestedSet<?>> items, @@ -998,4 +987,22 @@ public final class ObjcProvider extends SkylarkClassObject return new ObjcProvider(propagated, nonPropagated, strictDependency, skylarkFields.build()); } } + + private static class Constructor + extends NativeClassObjectConstructor<ObjcProvider> + implements WithLegacySkylarkName { + public Constructor() { + super(ObjcProvider.class, ObjcProvider.SKYLARK_NAME); + } + + @Override + public String getSkylarkName() { + return SKYLARK_NAME; + } + + @Override + public String getErrorMessageFormatForInstances() { + return "ObjcProvider field %s could not be instantiated"; + } + } } |