aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-31 21:07:51 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-08-01 12:21:52 +0200
commitde965ac47e5dedf9dd43004d7523dbfa5ab64de1 (patch)
tree1bca577a04df1c739807a8d3490296717a3b7d7b /src/test/java
parent24183314aaa7887d80d6c1b7b9ce613889bea8e5 (diff)
Better names for declared providers-related classes.
Follows https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/. RELNOTES: None. PiperOrigin-RevId: 163728291
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java90
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java73
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java28
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java121
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java7
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java40
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java27
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java13
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java8
10 files changed, 197 insertions, 228 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java b/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
index 05ba757976..ca8a9960d7 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
@@ -37,11 +37,11 @@ public class RequiredProvidersTest {
private static final class P2 {}
private static final class P3 {}
- private static final ClassObjectConstructor P_NATIVE =
- new NativeClassObjectConstructor<SkylarkClassObject>(SkylarkClassObject.class, "p_native") {};
+ private static final Provider P_NATIVE = new NativeProvider<Info>(Info.class, "p_native") {};
+
+ private static final SkylarkProvider P_SKYLARK =
+ new SkylarkProvider("p_skylark", Location.BUILTIN);
- private static final SkylarkClassObjectConstructor P_SKYLARK =
- new SkylarkClassObjectConstructor("p_skylark", Location.BUILTIN);
static {
try {
P_SKYLARK.export(Label.create("foo/bar", "x.bzl"), "p_skylark");
@@ -61,10 +61,11 @@ public class RequiredProvidersTest {
RequiredProviders requiredProviders) {
boolean result = requiredProviders.isSatisfiedBy(providers);
- assertThat(requiredProviders.isSatisfiedBy(
- providers.getNativeProviders()::contains,
- providers.getSkylarkProviders()::contains
- )).isEqualTo(result);
+ assertThat(
+ requiredProviders.isSatisfiedBy(
+ providers.getNativeProviders()::contains,
+ providers.getSkylarkProviders()::contains))
+ .isEqualTo(result);
return result;
}
@@ -121,27 +122,23 @@ public class RequiredProvidersTest {
@Test
public void nativeProvidersBranchMatch() {
assertThat(
- validateNative(
- AdvertisedProviderSet.builder()
- .addNative(P1.class)
- .build(),
- NO_PROVIDERS_REQUIRED,
- ImmutableSet.<Class<?>>of(P1.class),
- ImmutableSet.<Class<?>>of(P2.class)
- )).isTrue();
+ validateNative(
+ AdvertisedProviderSet.builder().addNative(P1.class).build(),
+ NO_PROVIDERS_REQUIRED,
+ ImmutableSet.<Class<?>>of(P1.class),
+ ImmutableSet.<Class<?>>of(P2.class)))
+ .isTrue();
}
@Test
public void nativeProvidersNoMatch() {
assertThat(
- validateNative(
- AdvertisedProviderSet.builder()
- .addNative(P3.class)
- .build(),
- "P1 or P2",
- ImmutableSet.<Class<?>>of(P1.class),
- ImmutableSet.<Class<?>>of(P2.class)
- )).isFalse();
+ validateNative(
+ AdvertisedProviderSet.builder().addNative(P3.class).build(),
+ "P1 or P2",
+ ImmutableSet.<Class<?>>of(P1.class),
+ ImmutableSet.<Class<?>>of(P2.class)))
+ .isFalse();
}
@Test
@@ -161,27 +158,23 @@ public class RequiredProvidersTest {
@Test
public void skylarkProvidersBranchMatch() {
assertThat(
- validateSkylark(
- AdvertisedProviderSet.builder()
- .addSkylark(ID_LEGACY)
- .build(),
- NO_PROVIDERS_REQUIRED,
- ImmutableSet.of(ID_LEGACY),
- ImmutableSet.of(ID_NATIVE)
- )).isTrue();
+ validateSkylark(
+ AdvertisedProviderSet.builder().addSkylark(ID_LEGACY).build(),
+ NO_PROVIDERS_REQUIRED,
+ ImmutableSet.of(ID_LEGACY),
+ ImmutableSet.of(ID_NATIVE)))
+ .isTrue();
}
@Test
public void skylarkProvidersNoMatch() {
assertThat(
- validateSkylark(
- AdvertisedProviderSet.builder()
- .addSkylark(ID_SKYLARK)
- .build(),
- "'p_legacy' or 'p_native'",
- ImmutableSet.of(ID_LEGACY),
- ImmutableSet.of(ID_NATIVE)
- )).isFalse();
+ validateSkylark(
+ AdvertisedProviderSet.builder().addSkylark(ID_SKYLARK).build(),
+ "'p_legacy' or 'p_native'",
+ ImmutableSet.of(ID_LEGACY),
+ ImmutableSet.of(ID_NATIVE)))
+ .isFalse();
}
@Test
@@ -190,18 +183,19 @@ public class RequiredProvidersTest {
.isEqualTo("no providers required");
assertThat(RequiredProviders.acceptNoneBuilder().build().getDescription())
.isEqualTo("no providers accepted");
- assertThat(RequiredProviders.acceptAnyBuilder()
- .addSkylarkSet(ImmutableSet.of(ID_LEGACY, ID_SKYLARK))
- .addSkylarkSet(ImmutableSet.of(ID_SKYLARK))
- .addNativeSet(ImmutableSet.of(P1.class, P2.class))
- .build().getDescription())
+ assertThat(
+ RequiredProviders.acceptAnyBuilder()
+ .addSkylarkSet(ImmutableSet.of(ID_LEGACY, ID_SKYLARK))
+ .addSkylarkSet(ImmutableSet.of(ID_SKYLARK))
+ .addNativeSet(ImmutableSet.of(P1.class, P2.class))
+ .build()
+ .getDescription())
.isEqualTo("[P1, P2] or ['p_legacy', 'p_skylark'] or 'p_skylark'");
}
@SafeVarargs
- private static boolean validateNative(AdvertisedProviderSet providerSet,
- String missing,
- ImmutableSet<Class<?>>... sets) {
+ private static boolean validateNative(
+ AdvertisedProviderSet providerSet, String missing, ImmutableSet<Class<?>>... sets) {
Builder anyBuilder = RequiredProviders.acceptAnyBuilder();
Builder noneBuilder = RequiredProviders.acceptNoneBuilder();
for (ImmutableSet<Class<?>> set : sets) {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
index c81d7ed2e3..d8387a182b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
@@ -23,8 +23,8 @@ import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
@@ -96,19 +96,17 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
"my_rule = rule(impl, attrs = { 'dep' : attr.label() })");
ConfiguredTarget configuredTarget = getConfiguredTarget("//java/test:my");
- SkylarkClassObject skylarkClassObject =
+ Info info =
configuredTarget.get(
new SkylarkKey(Label.parseAbsolute("//java/test:extension.bzl"), "result"));
- SkylarkNestedSet sourceJars = ((SkylarkNestedSet) skylarkClassObject.getValue("source_jars"));
- SkylarkNestedSet transitiveDeps =
- ((SkylarkNestedSet) skylarkClassObject.getValue("transitive_deps"));
+ SkylarkNestedSet sourceJars = ((SkylarkNestedSet) info.getValue("source_jars"));
+ SkylarkNestedSet transitiveDeps = ((SkylarkNestedSet) info.getValue("transitive_deps"));
SkylarkNestedSet transitiveRuntimeDeps =
- ((SkylarkNestedSet) skylarkClassObject.getValue("transitive_runtime_deps"));
+ ((SkylarkNestedSet) info.getValue("transitive_runtime_deps"));
SkylarkNestedSet transitiveSourceJars =
- ((SkylarkNestedSet) skylarkClassObject.getValue("transitive_source_jars"));
- SkylarkList<OutputJar> outputJars =
- ((SkylarkList<OutputJar>) skylarkClassObject.getValue("outputs"));
+ ((SkylarkNestedSet) info.getValue("transitive_source_jars"));
+ SkylarkList<OutputJar> outputJars = ((SkylarkList<OutputJar>) info.getValue("outputs"));
assertThat(artifactFilesNames(sourceJars.toCollection(Artifact.class)))
.containsExactly("libdep-src.jar");
@@ -157,15 +155,15 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" srcs = ['ToBeProcessed.java'])",
"my_rule(name = 'my', dep = ':to_be_processed')");
ConfiguredTarget configuredTarget = getConfiguredTarget("//java/test:my");
- SkylarkClassObject skylarkClassObject = configuredTarget.get(
- new SkylarkKey(Label.parseAbsolute("//java/test:extension.bzl"), "result"));
+ Info info =
+ configuredTarget.get(
+ new SkylarkKey(Label.parseAbsolute("//java/test:extension.bzl"), "result"));
- assertThat((List<?>) skylarkClassObject.getValue("processor_classnames"))
+ assertThat((List<?>) info.getValue("processor_classnames"))
.containsExactly("com.google.process.stuff");
assertThat(
Iterables.transform(
- ((SkylarkNestedSet) skylarkClassObject.getValue("processor_classpath"))
- .toCollection(),
+ ((SkylarkNestedSet) info.getValue("processor_classpath")).toCollection(),
new Function<Object, String>() {
@Override
public String apply(Object o) {
@@ -173,7 +171,6 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
}
}))
.containsExactly("libplugin.jar", "libplugin_dep.jar");
-
}
@Test
@@ -211,16 +208,15 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
ConfiguredTarget javaLibraryTarget = getConfiguredTarget("//java/test:jl");
// Extract out the information from skylark rule
- SkylarkClassObject skylarkClassObject =
+ Info info =
myConfiguredTarget.get(
new SkylarkKey(Label.parseAbsolute("//java/test:extension.bzl"), "result"));
- SkylarkNestedSet rawMyCompileJars =
- (SkylarkNestedSet) (skylarkClassObject.getValue("compile_jars"));
+ SkylarkNestedSet rawMyCompileJars = (SkylarkNestedSet) (info.getValue("compile_jars"));
SkylarkNestedSet rawMyTransitiveRuntimeJars =
- (SkylarkNestedSet) (skylarkClassObject.getValue("transitive_runtime_jars"));
+ (SkylarkNestedSet) (info.getValue("transitive_runtime_jars"));
SkylarkNestedSet rawMyTransitiveCompileTimeJars =
- (SkylarkNestedSet) (skylarkClassObject.getValue("transitive_compile_time_jars"));
+ (SkylarkNestedSet) (info.getValue("transitive_compile_time_jars"));
NestedSet<Artifact> myCompileJars = rawMyCompileJars.getSet(Artifact.class);
NestedSet<Artifact> myTransitiveRuntimeJars = rawMyTransitiveRuntimeJars.getSet(Artifact.class);
@@ -299,18 +295,18 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" transitive_runtime_jars = ['libd.jar'],",
")");
ConfiguredTarget target = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject = target.get(JavaProvider.JAVA_PROVIDER);
+ Info info = target.get(JavaProvider.JAVA_PROVIDER);
- SkylarkNestedSet compileJars = (SkylarkNestedSet) skylarkClassObject.getValue("compile_jars");
+ SkylarkNestedSet compileJars = (SkylarkNestedSet) info.getValue("compile_jars");
assertThat(prettyJarNames(compileJars.getSet(Artifact.class))).containsExactly("foo/liba.jar");
SkylarkNestedSet transitiveCompileTimeJars =
- (SkylarkNestedSet) skylarkClassObject.getValue("transitive_compile_time_jars");
+ (SkylarkNestedSet) info.getValue("transitive_compile_time_jars");
assertThat(prettyJarNames(
transitiveCompileTimeJars.getSet(Artifact.class))).containsExactly("foo/libc.jar");
SkylarkNestedSet transitiveRuntimeJars =
- (SkylarkNestedSet) skylarkClassObject.getValue("transitive_runtime_jars");
+ (SkylarkNestedSet) info.getValue("transitive_runtime_jars");
assertThat(prettyJarNames(
transitiveRuntimeJars.getSet(Artifact.class))).containsExactly("foo/libd.jar");
}
@@ -339,17 +335,17 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" transitive_runtime_jars = ['libd.jar'],",
")");
ConfiguredTarget target = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject = target.get(JavaProvider.JAVA_PROVIDER);
+ Info info = target.get(JavaProvider.JAVA_PROVIDER);
- SkylarkNestedSet compileJars = (SkylarkNestedSet) skylarkClassObject.getValue("compile_jars");
+ SkylarkNestedSet compileJars = (SkylarkNestedSet) info.getValue("compile_jars");
assertThat(prettyJarNames(compileJars.getSet(Artifact.class))).containsExactly("foo/liba.jar");
SkylarkNestedSet transitiveCompileTimeJars =
- (SkylarkNestedSet) skylarkClassObject.getValue("transitive_compile_time_jars");
+ (SkylarkNestedSet) info.getValue("transitive_compile_time_jars");
assertThat(prettyJarNames(transitiveCompileTimeJars.getSet(Artifact.class))).isEmpty();
SkylarkNestedSet transitiveRuntimeJars =
- (SkylarkNestedSet) skylarkClassObject.getValue("transitive_runtime_jars");
+ (SkylarkNestedSet) info.getValue("transitive_runtime_jars");
assertThat(prettyJarNames(
transitiveRuntimeJars.getSet(Artifact.class))).containsExactly("foo/libd.jar");
}
@@ -508,8 +504,7 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
ConfiguredTarget javaLibraryTarget = getConfiguredTarget("//foo:jl");
SkylarkKey myProviderKey =
new SkylarkKey(Label.parseAbsolute("//foo:extension.bzl"), "my_provider");
- SkylarkClassObject declaredProvider =
- myRuleTarget.get(myProviderKey);
+ Info declaredProvider = myRuleTarget.get(myProviderKey);
Object javaProvider = declaredProvider.getValue("p");
assertThat(javaProvider).isInstanceOf(JavaProvider.class);
assertThat(javaLibraryTarget.get(JavaProvider.JAVA_PROVIDER)).isEqualTo(javaProvider);
@@ -728,9 +723,9 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
"myrule(name='myrule')"
);
ConfiguredTarget configuredTarget = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject =
+ Info info =
configuredTarget.get(new SkylarkKey(Label.parseAbsolute("//foo:rule.bzl"), "result"));
- assertThat(((String) skylarkClassObject.getValue("strict_java_deps"))).isEqualTo("default");
+ assertThat(((String) info.getValue("strict_java_deps"))).isEqualTo("default");
}
@Test
@@ -752,9 +747,9 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
);
useConfiguration("--strict_java_deps=ERROR");
ConfiguredTarget configuredTarget = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject =
+ Info info =
configuredTarget.get(new SkylarkKey(Label.parseAbsolute("//foo:rule.bzl"), "result"));
- assertThat(((String) skylarkClassObject.getValue("strict_java_deps"))).isEqualTo("error");
+ assertThat(((String) info.getValue("strict_java_deps"))).isEqualTo("error");
}
@Test
@@ -778,9 +773,9 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
"myrule(name='myrule')"
);
ConfiguredTarget configuredTarget = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject =
+ Info info =
configuredTarget.get(new SkylarkKey(Label.parseAbsolute("//foo:rule.bzl"), "result"));
- Label javaToolchainLabel = ((Label) skylarkClassObject.getValue("java_toolchain_label"));
+ Label javaToolchainLabel = ((Label) info.getValue("java_toolchain_label"));
assertThat(javaToolchainLabel.toString()).endsWith("jdk:toolchain");
}
@@ -806,9 +801,9 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
);
useConfiguration("--java_toolchain=//java/com/google/test:toolchain");
ConfiguredTarget configuredTarget = getConfiguredTarget("//foo:myrule");
- SkylarkClassObject skylarkClassObject =
+ Info info =
configuredTarget.get(new SkylarkKey(Label.parseAbsolute("//foo:rule.bzl"), "result"));
- Label javaToolchainLabel = ((Label) skylarkClassObject.getValue("java_toolchain_label"));
+ Label javaToolchainLabel = ((Label) info.getValue("java_toolchain_label"));
assertThat(javaToolchainLabel.toString()).isEqualTo("//java/com/google/test:toolchain");
}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
index 8b2dc21c47..df2ba60f3b 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
@@ -33,8 +33,8 @@ import com.google.devtools.build.lib.cmdline.TargetParsingException;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.AspectDefinition;
import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
import com.google.devtools.build.lib.rules.java.Jvm;
import com.google.devtools.build.lib.skyframe.AspectValue;
@@ -96,10 +96,8 @@ public class SkylarkAspectsTest extends AnalysisTestCase {
SkylarkKey fooKey = new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "foo");
SkylarkKey barKey = new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "bar");
- assertThat(configuredAspect.get(fooKey).getConstructor().getKey())
- .isEqualTo(fooKey);
- assertThat(configuredAspect.get(barKey).getConstructor().getKey())
- .isEqualTo(barKey);
+ assertThat(configuredAspect.get(fooKey).getProvider().getKey()).isEqualTo(fooKey);
+ assertThat(configuredAspect.get(barKey).getProvider().getKey()).isEqualTo(barKey);
}
@Test
@@ -125,10 +123,8 @@ public class SkylarkAspectsTest extends AnalysisTestCase {
SkylarkKey fooKey = new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "foo");
SkylarkKey barKey = new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "bar");
- assertThat(configuredAspect.get(fooKey).getConstructor().getKey())
- .isEqualTo(fooKey);
- assertThat(configuredAspect.get(barKey).getConstructor().getKey())
- .isEqualTo(barKey);
+ assertThat(configuredAspect.get(fooKey).getProvider().getKey()).isEqualTo(fooKey);
+ assertThat(configuredAspect.get(barKey).getProvider().getKey()).isEqualTo(barKey);
}
private Iterable<String> getAspectDescriptions(AnalysisResult analysisResult) {
@@ -348,7 +344,7 @@ public class SkylarkAspectsTest extends AnalysisTestCase {
AnalysisResult analysisResult = update("//test:yyy");
ConfiguredTarget target = Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
- SkylarkClassObject names = target.get(providerKey);
+ Info names = target.get(providerKey);
assertThat((Iterable<?>) names.getValue("dir"))
.containsExactly(
"aspect_provider",
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 6db90093bd..38792865a2 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -33,9 +33,9 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.AttributeContainer;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
-import com.google.devtools.build.lib.packages.ClassObjectConstructor;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.packages.SkylarkProvider;
import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider;
import com.google.devtools.build.lib.skyframe.PackageFunction;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
@@ -1009,12 +1009,13 @@ public class SkylarkIntegrationTest extends BuildViewTestCase {
);
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r");
- ClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.SkylarkKey(
- Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
- "my_provider");
- SkylarkClassObject declaredProvider = configuredTarget.get(key);
+ Provider.Key key =
+ new SkylarkProvider.SkylarkKey(
+ Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
+ "my_provider");
+ Info declaredProvider = configuredTarget.get(key);
assertThat(declaredProvider).isNotNull();
- assertThat(declaredProvider.getConstructor().getKey()).isEqualTo(key);
+ assertThat(declaredProvider.getProvider().getKey()).isEqualTo(key);
assertThat(declaredProvider.getValue("x")).isEqualTo(1);
}
@@ -1034,12 +1035,13 @@ public class SkylarkIntegrationTest extends BuildViewTestCase {
);
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r");
- ClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.SkylarkKey(
- Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
- "my_provider");
- SkylarkClassObject declaredProvider = configuredTarget.get(key);
+ Provider.Key key =
+ new SkylarkProvider.SkylarkKey(
+ Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
+ "my_provider");
+ Info declaredProvider = configuredTarget.get(key);
assertThat(declaredProvider).isNotNull();
- assertThat(declaredProvider.getConstructor().getKey()).isEqualTo(key);
+ assertThat(declaredProvider.getProvider().getKey()).isEqualTo(key);
assertThat(declaredProvider.getValue("x")).isEqualTo(1);
}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index 9c20c6bd02..c212605bc2 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -29,15 +29,15 @@ import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition;
import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction;
-import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.packages.PredicateWithMessage;
import com.google.devtools.build.lib.packages.RequiredProviders;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
import com.google.devtools.build.lib.packages.SkylarkAspect;
import com.google.devtools.build.lib.packages.SkylarkAspectClass;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor;
+import com.google.devtools.build.lib.packages.SkylarkProvider;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import com.google.devtools.build.lib.rules.SkylarkAttr;
import com.google.devtools.build.lib.rules.SkylarkAttr.Descriptor;
@@ -240,7 +240,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
private static SkylarkProviderIdentifier declared(String exportedName) {
return SkylarkProviderIdentifier.forKey(
- new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, exportedName));
+ new SkylarkProvider.SkylarkKey(FAKE_LABEL, exportedName));
}
@Test
@@ -249,39 +249,32 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
buildAttribute("a1",
"b = provider()",
"attr.label_list(allow_files = True, providers = ['a', b])");
- assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"), declared("b"))))
- .isTrue();
- assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"))))
- .isFalse();
-
+ assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"), declared("b")))).isTrue();
+ assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a")))).isFalse();
}
@Test
public void testAttrWithProvidersOneEmpty() throws Exception {
Attribute attr =
- buildAttribute("a1",
+ buildAttribute(
+ "a1",
"b = provider()",
"attr.label_list(allow_files = True, providers = [['a', b],[]])");
assertThat(attr.getRequiredProviders().acceptsAny()).isTrue();
}
-
@Test
public void testAttrWithProvidersList() throws Exception {
Attribute attr =
buildAttribute("a1",
"b = provider()",
"attr.label_list(allow_files = True, providers = [['a', b], ['c']])");
- assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"), declared("b"))))
- .isTrue();
- assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("c"))))
- .isTrue();
- assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"))))
- .isFalse();
-
+ assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a"), declared("b")))).isTrue();
+ assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("c")))).isTrue();
+ assertThat(attr.getRequiredProviders().isSatisfiedBy(set(legacy("a")))).isFalse();
}
- private static AdvertisedProviderSet set(SkylarkProviderIdentifier ...ids) {
+ private static AdvertisedProviderSet set(SkylarkProviderIdentifier... ids) {
AdvertisedProviderSet.Builder builder = AdvertisedProviderSet.builder();
for (SkylarkProviderIdentifier id : ids) {
builder.addSkylark(id);
@@ -450,9 +443,9 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
private static final RuleClass.ConfiguredTargetFactory<Object, Object>
DUMMY_CONFIGURED_TARGET_FACTORY =
- ruleContext -> {
- throw new IllegalStateException();
- };
+ ruleContext -> {
+ throw new IllegalStateException();
+ };
private RuleClass ruleClass(String name) {
return new RuleClass.Builder(name, RuleClassType.NORMAL, false)
@@ -1056,7 +1049,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
eval("x = struct(a = 1, b = 2)",
"y = struct(c = 1, d = 2)",
"z = x + y\n");
- SkylarkClassObject z = (SkylarkClassObject) lookup("z");
+ Info z = (Info) lookup("z");
assertThat(z.getKeys()).isEqualTo(ImmutableSet.of("a", "b", "c", "d"));
}
@@ -1066,7 +1059,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
eval("x = struct(a = 1, b = 2)",
"y = struct(c = 1, d = 2)",
"z = x + y\n");
- SkylarkClassObject z = (SkylarkClassObject) lookup("z");
+ Info z = (Info) lookup("z");
assertThat(z.getValue("a")).isEqualTo(1);
assertThat(z.getValue("b")).isEqualTo(2);
assertThat(z.getValue("c")).isEqualTo(1);
@@ -1088,7 +1081,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
" x += struct(c = 1, d = 2)",
" return x",
"x = func()");
- SkylarkClassObject x = (SkylarkClassObject) lookup("x");
+ Info x = (Info) lookup("x");
assertThat(x.getValue("a")).isEqualTo(1);
assertThat(x.getValue("b")).isEqualTo(2);
assertThat(x.getValue("c")).isEqualTo(1);
@@ -1160,8 +1153,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
eval(
"s = struct(x = {'a' : 1})",
"s.x['b'] = 2\n");
- assertThat(((SkylarkClassObject) lookup("s")).getValue("x"))
- .isEqualTo(ImmutableMap.of("a", 1, "b", 2));
+ assertThat(((Info) lookup("s")).getValue("x")).isEqualTo(ImmutableMap.of("a", 1, "b", 2));
}
@Test
@@ -1169,7 +1161,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
eval("def func():", " return depset([struct(a='a')])", "s = func()");
Collection<Object> result = ((SkylarkNestedSet) lookup("s")).toCollection();
assertThat(result).hasSize(1);
- assertThat(result.iterator().next()).isInstanceOf(SkylarkClassObject.class);
+ assertThat(result.iterator().next()).isInstanceOf(Info.class);
}
@Test
@@ -1178,21 +1170,22 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
checkEvalError("depsets cannot contain mutable items", "depset([struct(a=[])])");
}
- private static SkylarkClassObject makeStruct(String field, Object value) {
- return NativeClassObjectConstructor.STRUCT.create(
- ImmutableMap.of(field, value),
- "no field '%'");
+ private static Info makeStruct(String field, Object value) {
+ return NativeProvider.STRUCT.create(ImmutableMap.of(field, value), "no field '%'");
}
- private static SkylarkClassObject makeBigStruct(Environment env) {
+ private static Info makeBigStruct(Environment env) {
// struct(a=[struct(x={1:1}), ()], b=(), c={2:2})
- return NativeClassObjectConstructor.STRUCT.create(
+ return NativeProvider.STRUCT.create(
ImmutableMap.<String, Object>of(
- "a", MutableList.<Object>of(env,
- NativeClassObjectConstructor.STRUCT.create(ImmutableMap.<String, Object>of(
- "x", SkylarkDict.<Object, Object>of(env, 1, 1)),
- "no field '%s'"),
- Tuple.of()),
+ "a",
+ MutableList.<Object>of(
+ env,
+ NativeProvider.STRUCT.create(
+ ImmutableMap.<String, Object>of(
+ "x", SkylarkDict.<Object, Object>of(env, 1, 1)),
+ "no field '%s'"),
+ Tuple.of()),
"b", Tuple.of(),
"c", SkylarkDict.<Object, Object>of(env, 2, 2)),
"no field '%s'");
@@ -1228,14 +1221,13 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
);
assertThat(lookup("d_x")).isEqualTo(1);
assertThat(lookup("d_y")).isEqualTo("abc");
- SkylarkClassObjectConstructor dataConstructor = (SkylarkClassObjectConstructor) lookup("data");
- SkylarkClassObject data = (SkylarkClassObject) lookup("d");
- assertThat(data.getConstructor()).isEqualTo(dataConstructor);
+ SkylarkProvider dataConstructor = (SkylarkProvider) lookup("data");
+ Info data = (Info) lookup("d");
+ assertThat(data.getProvider()).isEqualTo(dataConstructor);
assertThat(dataConstructor.isExported()).isTrue();
assertThat(dataConstructor.getPrintableName()).isEqualTo("data");
- assertThat(dataConstructor.getKey()).isEqualTo(
- new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "data")
- );
+ assertThat(dataConstructor.getKey())
+ .isEqualTo(new SkylarkProvider.SkylarkKey(FAKE_LABEL, "data"));
}
@Test
@@ -1250,11 +1242,11 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
);
assertThat(lookup("x")).isEqualTo(1);
assertThat(lookup("y")).isEqualTo("abc");
- SkylarkClassObjectConstructor dataConstructor = (SkylarkClassObjectConstructor) lookup("data");
- SkylarkClassObject dx = (SkylarkClassObject) lookup("dx");
- assertThat(dx.getConstructor()).isEqualTo(dataConstructor);
- SkylarkClassObject dy = (SkylarkClassObject) lookup("dy");
- assertThat(dy.getConstructor()).isEqualTo(dataConstructor);
+ SkylarkProvider dataConstructor = (SkylarkProvider) lookup("data");
+ Info dx = (Info) lookup("dx");
+ assertThat(dx.getProvider()).isEqualTo(dataConstructor);
+ Info dy = (Info) lookup("dy");
+ assertThat(dy.getProvider()).isEqualTo(dataConstructor);
}
@Test
@@ -1276,11 +1268,10 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
evalAndExport(
"data = struct(x = 1)"
);
- SkylarkClassObject data = (SkylarkClassObject) lookup("data");
- assertThat(NativeClassObjectConstructor.STRUCT.isExported()).isTrue();
- assertThat(data.getConstructor()).isEqualTo(NativeClassObjectConstructor.STRUCT);
- assertThat(data.getConstructor().getKey())
- .isEqualTo(NativeClassObjectConstructor.STRUCT.getKey());
+ Info data = (Info) lookup("data");
+ assertThat(NativeProvider.STRUCT.isExported()).isTrue();
+ assertThat(data.getProvider()).isEqualTo(NativeProvider.STRUCT);
+ assertThat(data.getProvider().getKey()).isEqualTo(NativeProvider.STRUCT.getKey());
}
@Test
@@ -1450,15 +1441,13 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
" provider() ]",
"]"
);
- SkylarkClassObjectConstructor p = (SkylarkClassObjectConstructor) lookup("p");
+ SkylarkProvider p = (SkylarkProvider) lookup("p");
SkylarkAspect a = (SkylarkAspect) lookup("a");
- SkylarkClassObjectConstructor p1 = (SkylarkClassObjectConstructor) lookup("p1");
+ SkylarkProvider p1 = (SkylarkProvider) lookup("p1");
assertThat(p.getPrintableName()).isEqualTo("p");
- assertThat(p.getKey())
- .isEqualTo(new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "p"));
+ assertThat(p.getKey()).isEqualTo(new SkylarkProvider.SkylarkKey(FAKE_LABEL, "p"));
assertThat(p1.getPrintableName()).isEqualTo("p1");
- assertThat(p1.getKey())
- .isEqualTo(new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "p1"));
+ assertThat(p1.getKey()).isEqualTo(new SkylarkProvider.SkylarkKey(FAKE_LABEL, "p1"));
assertThat(a.getAspectClass()).isEqualTo(
new SkylarkAspectClass(FAKE_LABEL, "a")
);
@@ -1470,13 +1459,11 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
"p = provider()",
"p1 = p"
);
- SkylarkClassObjectConstructor p = (SkylarkClassObjectConstructor) lookup("p");
- SkylarkClassObjectConstructor p1 = (SkylarkClassObjectConstructor) lookup("p1");
+ SkylarkProvider p = (SkylarkProvider) lookup("p");
+ SkylarkProvider p1 = (SkylarkProvider) lookup("p1");
assertThat(p).isEqualTo(p1);
- assertThat(p.getKey())
- .isEqualTo(new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "p"));
- assertThat(p1.getKey())
- .isEqualTo(new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "p"));
+ assertThat(p.getKey()).isEqualTo(new SkylarkProvider.SkylarkKey(FAKE_LABEL, "p"));
+ assertThat(p1.getKey()).isEqualTo(new SkylarkProvider.SkylarkKey(FAKE_LABEL, "p"));
}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
index 5610d429bb..ae4afc46ab 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -27,7 +27,7 @@ import com.google.devtools.build.lib.analysis.FileConfiguredTarget;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
+import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.rules.SkylarkRuleContext;
import com.google.devtools.build.lib.rules.java.JavaProvider;
import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
@@ -1524,9 +1524,8 @@ public class SkylarkRuleContextTest extends SkylarkTestCase {
SkylarkRuleContext ruleContext = createRuleContext("//test:testing");
Object provider = evalRuleContextCode(ruleContext, "ruleContext.attr.dep[Actions]");
- assertThat(provider).isInstanceOf(SkylarkClassObject.class);
- assertThat(((SkylarkClassObject) provider).getConstructor())
- .isEqualTo(ActionsProvider.SKYLARK_CONSTRUCTOR);
+ assertThat(provider).isInstanceOf(Info.class);
+ assertThat(((Info) provider).getProvider()).isEqualTo(ActionsProvider.SKYLARK_CONSTRUCTOR);
update("actions", provider);
Object mapping = eval("actions.by_file");
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
index 7ad63460e2..e23df8bd6c 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
@@ -35,8 +35,8 @@ import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction;
import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.events.Event;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
-import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
import com.google.devtools.build.lib.rules.SkylarkRuleContext;
import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
import com.google.devtools.build.lib.skylarkinterface.Param;
@@ -906,8 +906,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
Object provider = configuredTarget.get("provider");
assertThat(provider).isInstanceOf(DefaultProvider.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
assertThat(configuredTarget.get("dir"))
.isEqualTo(
@@ -983,8 +983,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
Object provider = configuredTarget.get("provider");
assertThat(provider).isInstanceOf(DefaultProvider.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
assertThat(configuredTarget.get("dir"))
.isEqualTo(
@@ -1076,8 +1076,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
Object provider = configuredTarget.get("provider");
assertThat(provider).isInstanceOf(DefaultProvider.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
assertThat(configuredTarget.get("dir"))
.isEqualTo(
@@ -1139,8 +1139,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
Object provider = configuredTarget.get("default");
assertThat(provider).isInstanceOf(DefaultProvider.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(DefaultProvider.SKYLARK_CONSTRUCTOR.getKey());
}
@Test
@@ -1210,9 +1210,9 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
"bar_rule(name = 'my_rule', deps = [':dep_rule'])");
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
Object provider = configuredTarget.get("proxy");
- assertThat(provider).isInstanceOf(SkylarkClassObject.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
+ assertThat(provider).isInstanceOf(Info.class);
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
}
@Test
@@ -1250,10 +1250,10 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
"bar_rule(name = 'my_rule', deps = [':dep_rule'])");
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
Object provider = configuredTarget.get("proxy");
- assertThat(provider).isInstanceOf(SkylarkClassObject.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
- assertThat(((SkylarkClassObject) provider).getValue("a")).isEqualTo(123);
+ assertThat(provider).isInstanceOf(Info.class);
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
+ assertThat(((Info) provider).getValue("a")).isEqualTo(123);
}
@Test
@@ -1297,9 +1297,9 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase {
"bar_rule(name = 'my_rule', deps = [':dep_rule'])");
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
Object provider = configuredTarget.get("proxy");
- assertThat(provider).isInstanceOf(SkylarkClassObject.class);
- assertThat(((SkylarkClassObject) provider).getConstructor().getKey()).isEqualTo(
- new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
+ assertThat(provider).isInstanceOf(Info.class);
+ assertThat(((Info) provider).getProvider().getKey())
+ .isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:foo.bzl"), "foo_provider"));
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
index b7e6f0454c..3782c3250d 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
@@ -20,7 +20,7 @@ import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
-import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
+import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.syntax.EvalUtils.ComparisonException;
import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
@@ -115,19 +115,18 @@ public class EvalUtilsTest extends EvaluationTestCase {
@Test
public void testComparatorWithDifferentTypes() throws Exception {
Object[] objects = {
- "1",
- 2,
- true,
- Runtime.NONE,
- SkylarkList.Tuple.of(1, 2, 3),
- SkylarkList.Tuple.of("1", "2", "3"),
- SkylarkList.MutableList.of(env, 1, 2, 3),
- SkylarkList.MutableList.of(env, "1", "2", "3"),
- SkylarkDict.of(env, "key", 123),
- SkylarkDict.of(env, 123, "value"),
- NestedSetBuilder.stableOrder().add(1).add(2).add(3).build(),
- NativeClassObjectConstructor.STRUCT.create(
- ImmutableMap.of("key", (Object) "value"), "no field %s"),
+ "1",
+ 2,
+ true,
+ Runtime.NONE,
+ SkylarkList.Tuple.of(1, 2, 3),
+ SkylarkList.Tuple.of("1", "2", "3"),
+ SkylarkList.MutableList.of(env, 1, 2, 3),
+ SkylarkList.MutableList.of(env, "1", "2", "3"),
+ SkylarkDict.of(env, "key", 123),
+ SkylarkDict.of(env, 123, "value"),
+ NestedSetBuilder.stableOrder().add(1).add(2).add(3).build(),
+ NativeProvider.STRUCT.create(ImmutableMap.of("key", (Object) "value"), "no field %s"),
};
for (int i = 0; i < objects.length; ++i) {
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index d760a9e20d..983c7a29ff 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -25,8 +25,8 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTarget;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@@ -1424,11 +1424,10 @@ public class SkylarkEvaluationTest extends EvaluationTest {
}
@SkylarkModule(name = "SkylarkClassObjectWithSkylarkCallables", doc = "")
- static final class SkylarkClassObjectWithSkylarkCallables extends SkylarkClassObject {
- private static final NativeClassObjectConstructor<SkylarkClassObjectWithSkylarkCallables>
- CONSTRUCTOR =
- new NativeClassObjectConstructor<SkylarkClassObjectWithSkylarkCallables>(
- SkylarkClassObjectWithSkylarkCallables.class, "struct_with_skylark_callables") {};
+ static final class SkylarkClassObjectWithSkylarkCallables extends Info {
+ private static final NativeProvider<SkylarkClassObjectWithSkylarkCallables> CONSTRUCTOR =
+ new NativeProvider<SkylarkClassObjectWithSkylarkCallables>(
+ SkylarkClassObjectWithSkylarkCallables.class, "struct_with_skylark_callables") {};
SkylarkClassObjectWithSkylarkCallables() {
super(
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
index 10c80c784f..27b84423b6 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
@@ -18,7 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget;
import com.google.devtools.build.lib.events.Event;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
+import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
import com.google.devtools.build.lib.syntax.SkylarkList.Tuple;
@@ -298,8 +298,7 @@ public class ValidationTest extends EvaluationTestCase {
assertThat(EvalUtils.getSkylarkType(emptyTupleClass)).isEqualTo(Tuple.class);
assertThat(EvalUtils.getSkylarkType(tupleClass)).isEqualTo(Tuple.class);
- assertThat(EvalUtils.getSkylarkType(SkylarkClassObject.class))
- .isEqualTo(SkylarkClassObject.class);
+ assertThat(EvalUtils.getSkylarkType(Info.class)).isEqualTo(Info.class);
try {
EvalUtils.getSkylarkType(ClassObject.class);
throw new Exception("Should have raised IllegalArgumentException exception");
@@ -338,8 +337,7 @@ public class ValidationTest extends EvaluationTestCase {
// TODO(bazel-team): move to some other place to remove dependency of syntax tests on Artifact?
assertThat(SkylarkType.of(Artifact.SpecialArtifact.class))
.isEqualTo(SkylarkType.of(Artifact.class));
- assertThat(SkylarkType.of(RuleConfiguredTarget.class))
- .isNotEqualTo(SkylarkType.of(SkylarkClassObject.class));
+ assertThat(SkylarkType.of(RuleConfiguredTarget.class)).isNotEqualTo(SkylarkType.of(Info.class));
}
@Test