Fix code warnings under src/main/java/com/google/devtools/build/lib/packages...
PiperOrigin-RevId: 381904325
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java
index 8f4e9ce..4a002c4 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java
@@ -32,7 +32,7 @@
public abstract class AbstractAttributeMapper implements AttributeMap {
private final RuleClass ruleClass;
private final Label ruleLabel;
- protected final Rule rule;
+ final Rule rule;
protected AbstractAttributeMapper(Rule rule) {
this.ruleClass = rule.getRuleClassObject();
@@ -66,7 +66,7 @@
if (value instanceof Attribute.ComputedDefault) {
value = ((Attribute.ComputedDefault) value).getDefault(this);
} else if (value instanceof Attribute.LateBoundDefault) {
- value = ((Attribute.LateBoundDefault) value).getDefault();
+ value = ((Attribute.LateBoundDefault<?, ?>) value).getDefault();
} else if (value instanceof SelectorList) {
throw new IllegalArgumentException(
String.format(
@@ -194,7 +194,7 @@
}
/** Visits all labels reachable from the given attribute. */
- protected void visitLabels(Attribute attribute, Type.LabelVisitor<Attribute> visitor) {
+ void visitLabels(Attribute attribute, Type.LabelVisitor<Attribute> visitor) {
Type<?> type = attribute.getType();
Object value = get(attribute.getName(), type);
if (value != null) { // null values are particularly possible for computed defaults.
@@ -231,7 +231,7 @@
* Helper routine that just checks the given attribute has the given type for this rule and throws
* an IllegalException if not.
*/
- protected void checkType(String attrName, Type<?> type) {
+ void checkType(String attrName, Type<?> type) {
Integer index = ruleClass.getAttributeIndex(attrName);
if (index == null) {
throw new IllegalArgumentException(
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AdvertisedProviderSet.java b/src/main/java/com/google/devtools/build/lib/packages/AdvertisedProviderSet.java
index 6705a21..d627456 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AdvertisedProviderSet.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AdvertisedProviderSet.java
@@ -48,11 +48,9 @@
}
public static final AdvertisedProviderSet ANY =
- new AdvertisedProviderSet(
- true, ImmutableSet.<Class<?>>of(), ImmutableSet.<StarlarkProviderIdentifier>of());
+ new AdvertisedProviderSet(true, ImmutableSet.of(), ImmutableSet.of());
public static final AdvertisedProviderSet EMPTY =
- new AdvertisedProviderSet(
- false, ImmutableSet.<Class<?>>of(), ImmutableSet.<StarlarkProviderIdentifier>of());
+ new AdvertisedProviderSet(false, ImmutableSet.of(), ImmutableSet.of());
public static AdvertisedProviderSet create(
ImmutableSet<Class<?>> builtinProviders,
@@ -79,7 +77,7 @@
}
AdvertisedProviderSet that = (AdvertisedProviderSet) obj;
- return Objects.equals(this.canHaveAnyProvider, that.canHaveAnyProvider)
+ return this.canHaveAnyProvider == that.canHaveAnyProvider
&& Objects.equals(this.builtinProviders, that.builtinProviders)
&& Objects.equals(this.starlarkProviders, that.starlarkProviders);
}
@@ -91,7 +89,7 @@
}
return String.format(
"allowed built-in providers=%s, allowed Starlark providers=%s",
- getBuiltinProviders(), getStarlarkProviders());
+ builtinProviders, starlarkProviders);
}
/** Checks whether the rule can have any provider.
@@ -124,9 +122,9 @@
* fingerprint (except for unintentional digest collisions).
* </ul>
*
- * <p>In other words, {@link #fingerprint} is a proxy for {@link #equals}. These properties *do
- * not* need to be maintained across Blaze versions (e.g. there's no need to worry about
- * historical serialized fingerprints).
+ * <p>In other words, this method is a proxy for {@link #equals}. These properties *do not* need
+ * to be maintained across Blaze versions (e.g. there's no need to worry about historical
+ * serialized fingerprints).
*/
public void fingerprint(Fingerprint fp) {
fp.addBoolean(canHaveAnyProvider);
@@ -142,17 +140,6 @@
/**
* Returns {@code true} if this provider set can have any provider, or if it advertises the
- * specific built-in provider requested.
- */
- public boolean advertises(Class<?> builtinProviderClass) {
- if (canHaveAnyProvider()) {
- return true;
- }
- return builtinProviders.contains(builtinProviderClass);
- }
-
- /**
- * Returns {@code true} if this provider set can have any provider, or if it advertises the
* specific Starlark provider requested.
*/
public boolean advertises(StarlarkProviderIdentifier starlarkProvider) {
@@ -213,10 +200,5 @@
starlarkProviders.add(id);
return this;
}
-
- public Builder addStarlark(Provider.Key id) {
- starlarkProviders.add(StarlarkProviderIdentifier.forKey(id));
- return this;
- }
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Aspect.java b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
index 217d674..bdd9ec6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
@@ -153,7 +153,8 @@
}
/** {@link ObjectCodec} for {@link Aspect}. */
- static class AspectCodec implements ObjectCodec<Aspect> {
+ @SuppressWarnings("unused") // Used reflectively.
+ private static final class AspectCodec implements ObjectCodec<Aspect> {
@Override
public Class<Aspect> getEncodedClass() {
return Aspect.class;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 1298594..cbe417f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -133,10 +133,6 @@
return aspectClass.getName();
}
- public AspectClass getAspectClass() {
- return aspectClass;
- }
-
/**
* Returns the attributes of the aspect in the form of a String -> {@link Attribute} map.
*
@@ -220,7 +216,7 @@
}
public static boolean satisfies(Aspect aspect, AdvertisedProviderSet advertisedProviderSet) {
- return aspect.getDefinition().getRequiredProviders().isSatisfiedBy(advertisedProviderSet);
+ return aspect.getDefinition().requiredProviders.isSatisfiedBy(advertisedProviderSet);
}
/** Checks if the given {@code maybeRequiredAspect} is required by this aspect definition */
@@ -255,7 +251,7 @@
}
consumer.accept(aspectAttribute, repositoryRelativeLabel);
};
- for (Attribute aspectAttribute : aspect.getDefinition().getAttributes().values()) {
+ for (Attribute aspectAttribute : aspect.getDefinition().attributes.values()) {
if (!dependencyFilter.apply(aspect, aspectAttribute)) {
continue;
}
@@ -277,10 +273,11 @@
private final Map<String, Attribute> attributes = new LinkedHashMap<>();
private final AdvertisedProviderSet.Builder advertisedProviders =
AdvertisedProviderSet.builder();
- private RequiredProviders.Builder requiredProviders = RequiredProviders.acceptAnyBuilder();
+ private final RequiredProviders.Builder requiredProviders =
+ RequiredProviders.acceptAnyBuilder();
private BiPredicate<Object, String> propagateViaAttribute =
(BiPredicate<Object, String> & Serializable) (a, c) -> true;
- private RequiredProviders.Builder requiredAspectProviders =
+ private final RequiredProviders.Builder requiredAspectProviders =
RequiredProviders.acceptNoneBuilder();
@Nullable private LinkedHashSet<String> propagateAlongAttributes = new LinkedHashSet<>();
private final ConfigurationFragmentPolicy.Builder configurationFragmentPolicy =
@@ -350,17 +347,18 @@
/**
* Optional predicate to conditionally propagate down an attribute based on the {@link
- * BuildConfiguration}.
+ * com.google.devtools.build.lib.analysis.config.BuildConfiguration}.
*
* <p>This is implemented specifically to support the platform-based Android toolchain
- * migration. See {@link DexArchiveAspect} for details. Don't use this for other purposes. It
- * introduces unfortunate API complexity and should be removed when Android no longer needs it.
+ * migration. See {@link com.google.devtools.build.lib.rules.android.DexArchiveAspect} for
+ * details. Don't use this for other purposes. It introduces unfortunate API complexity and
+ * should be removed when Android no longer needs it.
*
- * @param propagateFunction {@link BiPredicate} that takes the aspect's {@link
- * BuildConfiguration} and name of the attribute to propagate. If it returns true,
- * propagates down this attribute in this configuration. We don't explicitly type with
- * {@link BuildConfiguration} because {@link AspectDefinition} is a loading phase class,
- * with no access to config symbols.
+ * @param propagateFunction {@link BiPredicate} that takes the aspect's build configuration and
+ * name of the attribute to propagate. If it returns true, propagates down this attribute in
+ * this configuration. We don't explicitly type with {@link
+ * com.google.devtools.build.lib.analysis.config.BuildConfiguration} because {@link
+ * AspectDefinition} is a loading phase class, with no access to config symbols.
*/
public Builder propagateViaAttribute(BiPredicate<Object, String> propagateFunction) {
propagateViaAttribute = propagateFunction;
@@ -403,13 +401,12 @@
* Declares that this aspect propagates along an {@code attribute} on the target associated with
* this aspect.
*
- * <p>Specify multiple attributes by calling {@link #propagateAlongAttribute(String)}
- * repeatedly.
+ * <p>Specify multiple attributes by calling this method repeatedly.
*
* <p>Aspect can also declare to propagate along all attributes with {@link
* #propagateAlongAttributes}.
*/
- public final Builder propagateAlongAttribute(String attribute) {
+ public Builder propagateAlongAttribute(String attribute) {
Preconditions.checkNotNull(attribute);
Preconditions.checkState(
this.propagateAlongAttributes != null,
@@ -426,7 +423,7 @@
*
* <p>Specify either this or {@link #propagateAlongAttribute(String)}, not both.
*/
- public final Builder propagateAlongAllAttributes() {
+ public Builder propagateAlongAllAttributes() {
Preconditions.checkState(
this.propagateAlongAttributes != null,
"Aspects for all attributes must only be specified once");
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index a3bd3fb..d4b7adb 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -80,15 +80,14 @@
abstract static class RuleAspect<C extends AspectClass> {
private static final ImmutableList<String> ALL_ATTR_ASPECTS = ImmutableList.of("*");
- protected final C aspectClass;
- protected final Function<Rule, AspectParameters> parametersExtractor;
+ final C aspectClass;
+ final Function<Rule, AspectParameters> parametersExtractor;
- protected String baseAspectName;
- protected ImmutableList.Builder<ImmutableSet<StarlarkProviderIdentifier>>
- inheritedRequiredProviders;
- protected ImmutableList.Builder<String> inheritedAttributeAspects;
- protected boolean inheritedAllProviders = false;
- protected boolean inheritedAllAttributes = false;
+ String baseAspectName;
+ ImmutableList.Builder<ImmutableSet<StarlarkProviderIdentifier>> inheritedRequiredProviders;
+ ImmutableList.Builder<String> inheritedAttributeAspects;
+ boolean inheritedAllProviders = false;
+ boolean inheritedAllAttributes = false;
private RuleAspect(C aspectClass, Function<Rule, AspectParameters> parametersExtractor) {
this.aspectClass = aspectClass;
@@ -124,21 +123,21 @@
}
}
- public String getName() {
+ String getName() {
return this.aspectClass.getName();
}
- public ImmutableSet<String> getRequiredParameters() {
- return ImmutableSet.<String>of();
+ ImmutableSet<String> getRequiredParameters() {
+ return ImmutableSet.of();
}
- public abstract Aspect getAspect(Rule rule);
+ protected abstract Aspect getAspect(Rule rule);
- public C getAspectClass() {
+ C getAspectClass() {
return aspectClass;
}
- protected void updateInheritedRequiredProviders(
+ void updateInheritedRequiredProviders(
ImmutableList<ImmutableSet<StarlarkProviderIdentifier>> requiredProviders) {
if (!inheritedAllProviders && !requiredProviders.isEmpty()) {
if (inheritedRequiredProviders == null) {
@@ -151,7 +150,7 @@
}
}
- protected void updateInheritedAttributeAspects(ImmutableList<String> attributeAspects) {
+ void updateInheritedAttributeAspects(ImmutableList<String> attributeAspects) {
if (!inheritedAllAttributes && !ALL_ATTR_ASPECTS.equals(attributeAspects)) {
if (inheritedAttributeAspects == null) {
inheritedAttributeAspects = ImmutableList.builder();
@@ -163,7 +162,7 @@
}
}
- protected RequiredProviders buildInheritedRequiredProviders() {
+ RequiredProviders buildInheritedRequiredProviders() {
if (baseAspectName == null) {
return RequiredProviders.acceptNoneBuilder().build();
} else if (inheritedAllProviders) {
@@ -184,13 +183,13 @@
}
@Nullable
- protected ImmutableSet<String> buildInheritedAttributeAspects() {
+ ImmutableSet<String> buildInheritedAttributeAspects() {
if (baseAspectName == null) {
return ImmutableSet.of();
} else if (inheritedAllAttributes) {
return null;
} else {
- return ImmutableSet.<String>copyOf(inheritedAttributeAspects.build());
+ return ImmutableSet.copyOf(inheritedAttributeAspects.build());
}
}
@@ -204,11 +203,6 @@
public ImmutableList<String> getInheritedAttributeAspectsList() {
return inheritedAttributeAspects == null ? null : inheritedAttributeAspects.build();
}
-
- @VisibleForSerialization
- public String getBaseAspectName() {
- return baseAspectName;
- }
}
private static class NativeRuleAspect extends RuleAspect<NativeAspectClass> {
@@ -626,7 +620,7 @@
* set.
*/
public Builder<TYPE> setPropertyFlag(String propertyName) throws EvalException {
- PropertyFlag flag = null;
+ PropertyFlag flag;
try {
flag = PropertyFlag.valueOf(propertyName);
} catch (IllegalArgumentException e) {
@@ -1049,7 +1043,7 @@
* <p>This only works on a per-target basis, not on a per-file basis; with other words, it works
* for 'deps' attributes, but not 'srcs' attributes.
*/
- public Builder<TYPE> allowedRuleClassesWithWarning(RuleClassNamePredicate allowedRuleClasses) {
+ Builder<TYPE> allowedRuleClassesWithWarning(RuleClassNamePredicate allowedRuleClasses) {
Preconditions.checkState(
type.getLabelClass() == LabelClass.DEPENDENCY, "must be a label-valued type");
propertyFlags.add(PropertyFlag.STRICT_LABEL_CHECKING);
@@ -1081,7 +1075,7 @@
* this label type attribute has to provide all the providers from one of those lists, otherwise
* an error is produced during the analysis phase.
*/
- public final Builder<TYPE> mandatoryBuiltinProvidersList(
+ final Builder<TYPE> mandatoryBuiltinProvidersList(
Iterable<? extends Iterable<Class<? extends TransitiveInfoProvider>>> providersList) {
Preconditions.checkState(
type.getLabelClass() == LabelClass.DEPENDENCY, "must be a label-valued type");
@@ -1115,16 +1109,6 @@
return this;
}
- public Builder<TYPE> legacyMandatoryProviders(String... ids) {
- return mandatoryProviders(
- Iterables.transform(
- Arrays.asList(ids),
- s -> {
- Preconditions.checkNotNull(s);
- return StarlarkProviderIdentifier.forLegacy(s);
- }));
- }
-
public Builder<TYPE> mandatoryProviders(Iterable<StarlarkProviderIdentifier> providers) {
if (providers.iterator().hasNext()) {
mandatoryProvidersList(ImmutableList.of(providers));
@@ -1362,11 +1346,7 @@
* natively-defined {@link ComputedDefault}s, which are limited in the number of configurable
* attributes they depend on, not on the number of different combinations of possible inputs.
*/
- private static final ComputationLimiter<RuntimeException> NULL_COMPUTATION_LIMITER =
- new ComputationLimiter<RuntimeException>() {
- @Override
- public void onComputationCount(int count) throws RuntimeException {}
- };
+ private static final ComputationLimiter<RuntimeException> NULL_COMPUTATION_LIMITER = count -> {};
/** Exception for computed default attributes that depend on too many configurable attributes. */
private static class TooManyConfigurableAttributesException extends Exception {
@@ -1505,15 +1485,15 @@
* Create a computed default that can read all non-configurable attribute values and no
* configurable attribute values.
*/
- public ComputedDefault() {
- this(ImmutableList.<String>of());
+ protected ComputedDefault() {
+ this(ImmutableList.of());
}
/**
* Create a computed default that can read all non-configurable attributes values and one
* explicitly specified configurable attribute value
*/
- public ComputedDefault(String depAttribute) {
+ protected ComputedDefault(String depAttribute) {
this(ImmutableList.of(depAttribute));
}
@@ -1521,7 +1501,7 @@
* Create a computed default that can read all non-configurable attributes values and two
* explicitly specified configurable attribute values.
*/
- public ComputedDefault(String depAttribute1, String depAttribute2) {
+ protected ComputedDefault(String depAttribute1, String depAttribute2) {
this(ImmutableList.of(depAttribute1, depAttribute2));
}
@@ -1534,7 +1514,7 @@
* growth of possible values. {@link StarlarkComputedDefault} uses this, but is limited by
* {@link FixedComputationLimiter#COMPUTED_DEFAULT_MAX_COMBINATIONS}.
*/
- protected ComputedDefault(ImmutableList<String> dependencies) {
+ ComputedDefault(ImmutableList<String> dependencies) {
// Order is important for #createDependencyAssignmentTuple.
this.dependencies = Ordering.natural().immutableSortedCopy(dependencies);
}
@@ -1637,7 +1617,7 @@
};
ImmutableList.Builder<Type<?>> dependencyTypesBuilder = ImmutableList.builder();
- Map<List<Object>, Object> lookupTable = new HashMap<>();
+ Map<List<Object>, Object> lookupTable;
try {
for (String dependency : dependencies) {
Attribute attribute = rule.getRuleClassObject().getAttributeByNameMaybe(dependency);
@@ -1647,9 +1627,10 @@
}
dependencyTypesBuilder.add(attribute.getType());
}
- lookupTable.putAll(
- strategy.computeValuesForAllCombinations(
- dependencies, attr.getType(), rule, FixedComputationLimiter.INSTANCE));
+ lookupTable =
+ new HashMap<>(
+ strategy.computeValuesForAllCombinations(
+ dependencies, attr.getType(), rule, FixedComputationLimiter.INSTANCE));
if (caughtEvalExceptionIfAny.get() != null) {
throw caughtEvalExceptionIfAny.get();
}
@@ -2003,10 +1984,9 @@
public static class LabelListLateBoundDefault<FragmentT>
extends SimpleLateBoundDefault<FragmentT, List<Label>> {
private LabelListLateBoundDefault(
- boolean useHostConfiguration,
Class<FragmentT> fragmentClass,
Resolver<FragmentT, List<Label>> resolver) {
- super(useHostConfiguration, fragmentClass, ImmutableList.of(), resolver);
+ super(/*useHostConfiguration=*/ false, fragmentClass, ImmutableList.of(), resolver);
}
public static <FragmentT> LabelListLateBoundDefault<FragmentT> fromTargetConfiguration(
@@ -2015,7 +1995,7 @@
!fragmentClass.equals(Void.class),
"Use fromRuleAndAttributesOnly to specify a LateBoundDefault which does not use "
+ "configuration.");
- return new LabelListLateBoundDefault<>(false, fragmentClass, resolver);
+ return new LabelListLateBoundDefault<>(fragmentClass, resolver);
}
/**
@@ -2032,7 +2012,7 @@
*/
public static LabelListLateBoundDefault<Void> fromRuleAndAttributesOnly(
Resolver<Void, List<Label>> resolver) {
- return new LabelListLateBoundDefault<>(false, Void.class, resolver);
+ return new LabelListLateBoundDefault<>(Void.class, resolver);
}
}
@@ -2104,7 +2084,7 @@
* @param transitionFactory the configuration transition for this attribute (which must be of type
* LABEL, LABEL_LIST, NODEP_LABEL or NODEP_LABEL_LIST).
*/
- Attribute(
+ private Attribute(
String name,
String doc,
Type<?> type,
@@ -2183,7 +2163,7 @@
* of '$' or ':').
*/
public String getPublicName() {
- return getStarlarkName(getName());
+ return getStarlarkName(name);
}
/**
@@ -2309,8 +2289,8 @@
/** Returns true if this attribute's value can be influenced by the build configuration. */
public boolean isConfigurable() {
// Output types are excluded because of Rule#populateExplicitOutputFiles.
- return !(type.getLabelClass() == LabelClass.OUTPUT
- || getPropertyFlag(PropertyFlag.NONCONFIGURABLE));
+ return type.getLabelClass() != LabelClass.OUTPUT
+ && !getPropertyFlag(PropertyFlag.NONCONFIGURABLE);
}
/**
@@ -2321,13 +2301,13 @@
* <p>Non-dependency attributes will always return {@code false}.
*/
public boolean isToolDependency() {
- if (getType().getLabelClass() != LabelClass.DEPENDENCY) {
+ if (type.getLabelClass() != LabelClass.DEPENDENCY) {
return false;
}
if (getPropertyFlag(PropertyFlag.IS_TOOL_DEPENDENCY)) {
return true;
}
- return getTransitionFactory().isTool();
+ return transitionFactory.isTool();
}
/**
* Returns a predicate that evaluates to true for rule classes that are allowed labels in this
@@ -2364,7 +2344,7 @@
}
public Predicate<AttributeMap> getCondition() {
- return condition == null ? Predicates.<AttributeMap>alwaysTrue() : condition;
+ return condition == null ? Predicates.alwaysTrue() : condition;
}
public PredicateWithMessage<Object> getAllowedValues() {
@@ -2454,7 +2434,7 @@
* designates implicit attributes.
*/
public boolean isImplicit() {
- return isImplicit(getName());
+ return isImplicit(name);
}
/**
@@ -2470,7 +2450,7 @@
* late-bound attributes.
*/
public boolean isLateBound() {
- return isLateBound(getName());
+ return isLateBound(name);
}
/**
@@ -2592,12 +2572,12 @@
public static Object valueToStarlark(Object x) {
// Is x a non-empty string_list_dict?
if (x instanceof Map) {
- Map<?, ?> map = (Map) x;
+ Map<?, ?> map = (Map<?, ?>) x;
if (!map.isEmpty() && map.values().iterator().next() instanceof List) {
// Recursively convert subelements.
Dict.Builder<Object, Object> dict = Dict.builder();
for (Map.Entry<?, ?> e : map.entrySet()) {
- dict.put((String) e.getKey(), Starlark.fromJava(e.getValue(), null));
+ dict.put(e.getKey(), Starlark.fromJava(e.getValue(), null));
}
return dict.buildImmutable();
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
index 28df7b5..4ce98be 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
@@ -57,7 +57,7 @@
public class AttributeFormatter {
private static final ImmutableSet<Type<?>> depTypes =
- ImmutableSet.<Type<?>>of(
+ ImmutableSet.of(
STRING,
LABEL,
OUTPUT,
@@ -69,7 +69,7 @@
DISTRIBUTIONS);
private static final ImmutableSet<Type<?>> noDepTypes =
- ImmutableSet.<Type<?>>of(NODEP_LABEL_LIST, NODEP_LABEL);
+ ImmutableSet.of(NODEP_LABEL_LIST, NODEP_LABEL);
private AttributeFormatter() {}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java
index e958be7..7b8412b 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java
@@ -74,8 +74,7 @@
*/
default <T> T getOrDefault(String attributeName, Type<T> type, T defaultValue) {
if (has(attributeName)) {
- T value = get(attributeName, type);
- return value;
+ return get(attributeName, type);
}
return defaultValue;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkContext.java b/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkContext.java
index e066387..28a6619 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkContext.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkContext.java
@@ -103,11 +103,6 @@
this.analysisRuleLabel = analysisRuleLabel;
}
- /** Returns the phase to which this Starlark thread belongs. */
- public Phase getPhase() {
- return phase;
- }
-
/** Returns the name of the tools repository, such as "@bazel_tools". */
@Nullable
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkEnvironment.java b/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkEnvironment.java
index 46039c6..b7213e7 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BazelStarlarkEnvironment.java
@@ -157,8 +157,7 @@
private static ImmutableMap<String, Object> createUninjectedBuildBzlEnv(
RuleClassProvider ruleClassProvider, Map<String, Object> uninjectedBuildBzlNativeBindings) {
- Map<String, Object> env = new HashMap<>();
- env.putAll(ruleClassProvider.getEnvironment());
+ Map<String, Object> env = new HashMap<>(ruleClassProvider.getEnvironment());
// Determine the "native" module.
// TODO(#11954): Use the same "native" object for both BUILD- and WORKSPACE-loaded .bzls, and
@@ -186,8 +185,7 @@
private static ImmutableMap<String, Object> createWorkspaceBzlEnv(
RuleClassProvider ruleClassProvider, Map<String, Object> workspaceBzlNativeBindings) {
- Map<String, Object> env = new HashMap<>();
- env.putAll(ruleClassProvider.getEnvironment());
+ Map<String, Object> env = new HashMap<>(ruleClassProvider.getEnvironment());
// See above comments for native in BUILD bzls.
env.put("native", createNativeModule(workspaceBzlNativeBindings));
@@ -199,8 +197,7 @@
RuleClassProvider ruleClassProvider,
ImmutableMap<String, Object> uninjectedBuildBzlNativeBindings,
ImmutableMap<String, Object> uninjectedBuildBzlEnv) {
- Map<String, Object> env = new HashMap<>();
- env.putAll(ruleClassProvider.getEnvironment());
+ Map<String, Object> env = new HashMap<>(ruleClassProvider.getEnvironment());
// Clear out rule-specific symbols like CcInfo.
env.keySet().removeAll(ruleClassProvider.getNativeRuleSpecificBindings().keySet());
@@ -339,8 +336,7 @@
Map<String, Boolean> overridesMap = parseInjectionOverridesList(overridesList);
// Determine top-level symbols.
- Map<String, Object> env = new HashMap<>();
- env.putAll(uninjectedBuildBzlEnv);
+ Map<String, Object> env = new HashMap<>(uninjectedBuildBzlEnv);
for (Map.Entry<String, Object> entry : exportedToplevels.entrySet()) {
String key = entry.getKey();
String name = getKeySuffix(key);
@@ -356,8 +352,7 @@
// Determine "native" bindings.
// TODO(#11954): See above comment in createUninjectedBuildBzlEnv.
- Map<String, Object> nativeBindings = new HashMap<>();
- nativeBindings.putAll(uninjectedBuildBzlNativeBindings);
+ Map<String, Object> nativeBindings = new HashMap<>(uninjectedBuildBzlNativeBindings);
for (Map.Entry<String, Object> entry : exportedRules.entrySet()) {
String key = entry.getKey();
String name = getKeySuffix(key);
@@ -407,7 +402,7 @@
/** Indicates a problem performing builtins injection. */
public static final class InjectionException extends Exception {
- public InjectionException(String message) {
+ InjectionException(String message) {
super(message);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildFileName.java b/src/main/java/com/google/devtools/build/lib/packages/BuildFileName.java
index 627ff36..b2ff9f2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuildFileName.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuildFileName.java
@@ -43,11 +43,9 @@
}
};
- private static final BuildFileName[] VALUES = BuildFileName.values();
-
private final PathFragment filenameFragment;
- private BuildFileName(String filename) {
+ BuildFileName(String filename) {
this.filenameFragment = PathFragment.create(filename);
}
@@ -61,8 +59,4 @@
* @param packageIdentifier the identifier for this package
*/
public abstract PathFragment getBuildFileFragment(PackageIdentifier packageIdentifier);
-
- public static BuildFileName lookupByOrdinal(int ordinal) {
- return VALUES[ordinal];
- }
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
index 940f06c..5feb884 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
@@ -82,7 +82,7 @@
@AutoCodec public static final Type<License> LICENSE = new LicenseType();
/** The type of a single distribution. Only used internally, as a type symbol, not a converter. */
@AutoCodec
- public static final Type<DistributionType> DISTRIBUTION =
+ static final Type<DistributionType> DISTRIBUTION =
new Type<DistributionType>() {
@Override
public DistributionType cast(Object value) {
@@ -147,7 +147,7 @@
Type<T> type, Object x, Object what, LabelConversionContext context)
throws ConversionException {
if (x instanceof com.google.devtools.build.lib.packages.SelectorList) {
- return new SelectorList<T>(
+ return new SelectorList<>(
((com.google.devtools.build.lib.packages.SelectorList) x).getElements(),
what,
context,
@@ -211,7 +211,7 @@
this.convertedLabelsInPackage = convertedLabelsInPackage;
}
- public Label getLabel() {
+ Label getLabel() {
return label;
}
@@ -221,16 +221,15 @@
// construction, and global Interner lookup. This approach tends to be very profitable
// overall, since it's common for the targets in a single package to have duplicate
// label-strings across all their attribute values.
- Label label = convertedLabelsInPackage.get(input);
- if (label == null) {
- label = getLabel().getRelativeWithRemapping(input, getRepositoryMapping());
- convertedLabelsInPackage.put(input, label);
+ Label converted = convertedLabelsInPackage.get(input);
+ if (converted == null) {
+ converted = label.getRelativeWithRemapping(input, repositoryMapping);
+ convertedLabelsInPackage.put(input, converted);
}
-
- return label;
+ return converted;
}
- public ImmutableMap<RepositoryName, RepositoryName> getRepositoryMapping() {
+ ImmutableMap<RepositoryName, RepositoryName> getRepositoryMapping() {
return repositoryMapping;
}
@@ -319,7 +318,7 @@
super(LABEL, valueType, LabelClass.DEPENDENCY);
}
- public static <ValueT> LabelKeyedDictType<ValueT> create(Type<ValueT> valueType) {
+ static <ValueT> LabelKeyedDictType<ValueT> create(Type<ValueT> valueType) {
Preconditions.checkArgument(
valueType.getLabelClass() == LabelClass.NONE
|| valueType.getLabelClass() == LabelClass.DEPENDENCY,
@@ -343,8 +342,7 @@
Map<Label, List<Object>> convertedFrom = new LinkedHashMap<>();
for (Object original : input.keySet()) {
Label label = LABEL.convert(original, what, context);
- convertedFrom.computeIfAbsent(label, k -> new ArrayList<Object>());
- convertedFrom.get(label).add(original);
+ convertedFrom.computeIfAbsent(label, k -> new ArrayList<>()).add(original);
}
Printer errorMessage = new Printer();
errorMessage.append("duplicate labels");
@@ -373,9 +371,8 @@
}
/**
- * Like Label, LicenseType is a derived type, which is declared specially
- * in order to allow syntax validation. It represents the licenses, as
- * described in {@ref License}.
+ * Like Label, LicenseType is a derived type, which is declared specially in order to allow syntax
+ * validation. It represents the licenses, as described in {@link License}.
*/
public static class LicenseType extends Type<License> {
@Override
@@ -409,12 +406,11 @@
}
/**
- * Like Label, Distributions is a derived type, which is declared specially
- * in order to allow syntax validation. It represents the declared distributions
- * of a target, as described in {@ref License}.
+ * Like Label, Distributions is a derived type, which is declared specially in order to allow
+ * syntax validation. It represents the declared distributions of a target, as described in {@link
+ * License}.
*/
- private static class Distributions extends
- Type<Set<DistributionType>> {
+ private static class Distributions extends Type<Set<DistributionType>> {
@SuppressWarnings("unchecked")
@Override
public Set<DistributionType> cast(Object value) {
@@ -491,7 +487,7 @@
try {
// Enforce value is relative to the context.
Label currentRule;
- ImmutableMap<RepositoryName, RepositoryName> repositoryMapping = ImmutableMap.of();
+ ImmutableMap<RepositoryName, RepositoryName> repositoryMapping;
if (context instanceof LabelConversionContext) {
currentRule = ((LabelConversionContext) context).getLabel();
repositoryMapping = ((LabelConversionContext) context).getRepositoryMapping();
@@ -525,7 +521,7 @@
SelectorList(
List<Object> x, Object what, @Nullable LabelConversionContext context, Type<T> originalType)
throws ConversionException {
- if (x.size() > 1 && originalType.concat(ImmutableList.<T>of()) == null) {
+ if (x.size() > 1 && originalType.concat(ImmutableList.of()) == null) {
throw new ConversionException(
String.format("type '%s' doesn't support select concatenation", originalType));
}
@@ -570,7 +566,7 @@
*/
public Set<Label> getKeyLabels() {
ImmutableSet.Builder<Label> keys = ImmutableSet.builder();
- for (Selector<T> selector : getSelectors()) {
+ for (Selector<T> selector : elements) {
for (Label label : selector.getEntries().keySet()) {
if (!Selector.isReservedLabel(label)) {
keys.add(label);
@@ -627,7 +623,7 @@
@VisibleForTesting
public static final String DEFAULT_CONDITION_KEY = "//conditions:default";
- public static final Label DEFAULT_CONDITION_LABEL =
+ static final Label DEFAULT_CONDITION_LABEL =
Label.parseAbsoluteUnchecked(DEFAULT_CONDITION_KEY);
private final Type<T> originalType;
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 33f430c..f04475a 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
@@ -42,7 +42,7 @@
private final String name;
private final Class<T> valueClass;
- public BuiltinProvider(String name, Class<T> valueClass) {
+ protected BuiltinProvider(String name, Class<T> valueClass) {
this.key = new Key(name, getClass());
this.name = name;
this.valueClass = valueClass;
@@ -89,12 +89,12 @@
@Override
public void repr(Printer printer) {
// TODO(adonovan): change to '<provider name>'.
- printer.append("<function " + getPrintableName() + ">");
+ printer.append("<function " + name + ">");
}
/** Returns the identifier of this provider. */
public StarlarkProviderIdentifier id() {
- return StarlarkProviderIdentifier.forKey(getKey());
+ return StarlarkProviderIdentifier.forKey(key);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ConstantRuleVisibility.java b/src/main/java/com/google/devtools/build/lib/packages/ConstantRuleVisibility.java
index 50378c4..f9b80fd 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ConstantRuleVisibility.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ConstantRuleVisibility.java
@@ -50,7 +50,7 @@
private final boolean result;
- public ConstantRuleVisibility(boolean result) {
+ private ConstantRuleVisibility(boolean result) {
this.result = result;
}
@@ -91,7 +91,7 @@
return null;
}
- public static ConstantRuleVisibility tryParse(Label label) {
+ private static ConstantRuleVisibility tryParse(Label label) {
if (PUBLIC_LABEL.equals(label)) {
return PUBLIC;
} else if (PRIVATE_LABEL.equals(label)) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/DependencyFilter.java b/src/main/java/com/google/devtools/build/lib/packages/DependencyFilter.java
index 754847f..f12cfb6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/DependencyFilter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/DependencyFilter.java
@@ -72,14 +72,6 @@
|| attribute.getName().equals("visibility");
}
};
- /** Checks to see if the attribute has the isDirectCompileTimeInput property. */
- public static final DependencyFilter DIRECT_COMPILE_TIME_INPUT =
- new DependencyFilter() {
- @Override
- public boolean apply(AttributeInfoProvider infoProvider, Attribute attribute) {
- return attribute.isDirectCompileTimeInput();
- }
- };
/**
* Returns true if a given attribute should be processed.
diff --git a/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java b/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
index 8ce7ecf..e3f2c2f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
@@ -16,7 +16,6 @@
import com.google.devtools.build.lib.util.StringUtil;
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.OptionsParsingException;
-
import java.util.Collections;
import java.util.EnumSet;
import java.util.LinkedHashSet;
@@ -44,7 +43,7 @@
* @param typeClass this should be E.class (Java generics can't infer that directly)
* @param userFriendlyName a user-friendly description of this enum type
*/
- public EnumFilterConverter(Class<E> typeClass, String userFriendlyName) {
+ EnumFilterConverter(Class<E> typeClass, String userFriendlyName) {
this.typeClass = typeClass;
this.prettyEnumName = userFriendlyName;
for (E value : EnumSet.allOf(typeClass)) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java b/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java
index 4bbef07..e301f49 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java
@@ -47,7 +47,7 @@
* can't set this map until all Target instances for member environments have been initialized,
* which occurs after group instantiation (this makes the class mutable).
*/
- private Map<Label, NestedSet<Label>> fulfillersMap = null;
+ private Map<Label, NestedSet<Label>> fulfillersMap;
EnvironmentLabels(Label label, Collection<Label> environments, Collection<Label> defaults) {
this(label, environments, defaults, null);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/FileTarget.java b/src/main/java/com/google/devtools/build/lib/packages/FileTarget.java
index a539e67..72bb473 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/FileTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/FileTarget.java
@@ -27,7 +27,7 @@
*/
@Immutable
public abstract class FileTarget implements Target, FileType.HasFileType {
- protected final Label label;
+ final Label label;
/** Constructs a file with the given label, which must be in the given package. */
FileTarget(Package pkg, Label label) {
@@ -61,7 +61,7 @@
@Override
public String toString() {
- return getTargetKind() + "(" + getLabel() + ")"; // Just for debugging
+ return getTargetKind() + "(" + label + ")"; // Just for debugging
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
index cc625fa..b02e40c 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
@@ -25,7 +25,6 @@
import com.google.devtools.build.lib.starlarkbuildapi.FilesetEntryApi;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
@@ -41,7 +40,7 @@
@ThreadSafe
public final class FilesetEntry implements StarlarkValue, FilesetEntryApi {
- public static final SymlinkBehavior DEFAULT_SYMLINK_BEHAVIOR = SymlinkBehavior.COPY;
+ private static final SymlinkBehavior DEFAULT_SYMLINK_BEHAVIOR = SymlinkBehavior.COPY;
public static final String DEFAULT_STRIP_PREFIX = ".";
public static final String STRIP_PREFIX_WORKSPACE = "%workspace%";
@@ -50,35 +49,20 @@
return true;
}
- public static List<String> makeStringList(List<Label> labels) {
- if (labels == null) {
- return Collections.emptyList();
- }
- List<String> strings = Lists.newArrayListWithCapacity(labels.size());
- for (Label label : labels) {
- strings.add(label.toString());
- }
- return strings;
- }
-
- public static List<?> makeList(Collection<?> list) {
- return list == null ? Lists.newArrayList() : Lists.newArrayList(list);
- }
-
@Override
public void repr(Printer printer) {
printer.append("FilesetEntry(srcdir = ");
- printer.repr(getSrcLabel().toString());
+ printer.repr(srcLabel.toString());
printer.append(", files = ");
- printer.repr(makeStringList(getFiles()));
+ printer.repr(files == null ? ImmutableList.of() : Lists.transform(files, Label::toString));
printer.append(", excludes = ");
- printer.repr(makeList(getExcludes()));
+ printer.repr(excludes == null ? ImmutableList.of() : excludes.asList());
printer.append(", destdir = ");
- printer.repr(getDestDir().getPathString());
+ printer.repr(destDir.getPathString());
printer.append(", strip_prefix = ");
- printer.repr(getStripPrefix());
+ printer.repr(stripPrefix);
printer.append(", symlinks = ");
- printer.repr(getSymlinkBehavior().toString());
+ printer.repr(symlinkBehavior.toString());
printer.append(")");
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/GlobCache.java b/src/main/java/com/google/devtools/build/lib/packages/GlobCache.java
index b314d1d..b289dcb 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/GlobCache.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/GlobCache.java
@@ -72,10 +72,9 @@
*/
private final Predicate<Path> childDirectoryPredicate;
- /**
- * System call caching layer.
- */
- private AtomicReference<? extends UnixGlob.FilesystemCalls> syscalls;
+ /** System call caching layer. */
+ private final AtomicReference<? extends UnixGlob.FilesystemCalls> syscalls;
+
private final int maxDirectoriesToEagerlyVisit;
/** The thread pool for glob evaluation. */
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
index 2f63af9..a5e23fe 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
@@ -303,7 +303,7 @@
*/
// It would be nice to unify this with fromTemplates above, but that's not possible because
// substitutePlaceholderIntoUnsafeTemplate can throw an exception.
- public static ImplicitOutputsFunction fromUnsafeTemplates(Iterable<String> templates) {
+ private static ImplicitOutputsFunction fromUnsafeTemplates(Iterable<String> templates) {
return new UnsafeTemplatesImplicitOutputsFunction(templates);
}
@@ -457,7 +457,7 @@
abstract List<String> attributeNames();
static ParsedTemplate parse(String rawTemplate) {
- List<String> placeholders = Lists.<String>newArrayList();
+ List<String> placeholders = Lists.newArrayList();
String formatStr = createPlaceholderSubstitutionFormatString(rawTemplate, placeholders);
if (placeholders.isEmpty()) {
placeholders = ImmutableList.of();
@@ -476,7 +476,7 @@
for (String placeholder : attributeNames()) {
Set<String> attrValues = attributeGetter.get(attributeMap, placeholder);
if (attrValues.isEmpty()) {
- return ImmutableList.<String>of();
+ return ImmutableList.of();
}
values.add(attrValues);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/LabelVisitationUtils.java b/src/main/java/com/google/devtools/build/lib/packages/LabelVisitationUtils.java
index 8d3c21c..0eff74a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/LabelVisitationUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/LabelVisitationUtils.java
@@ -91,7 +91,6 @@
if (target instanceof PackageGroup) {
visitPackageGroup((PackageGroup) target, labelProcessor);
- return;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/License.java b/src/main/java/com/google/devtools/build/lib/packages/License.java
index 8bbfa39..3a514e1 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/License.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/License.java
@@ -44,7 +44,7 @@
* The error that's thrown if a build file contains an invalid license string.
*/
public static class LicenseParsingException extends Exception {
- public LicenseParsingException(String s) {
+ LicenseParsingException(String s) {
super(s);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NoSuchPackageException.java b/src/main/java/com/google/devtools/build/lib/packages/NoSuchPackageException.java
index a7ef140..56f5758 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NoSuchPackageException.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NoSuchPackageException.java
@@ -58,7 +58,7 @@
return packageId;
}
- public String getRawMessage() {
+ String getRawMessage() {
return super.getMessage();
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java b/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
index 37c2890..0ba199a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
@@ -51,9 +51,10 @@
/*hasTarget=*/ true);
}
- public NoSuchTargetException(String message, @Nullable Label label, boolean hasTarget) {
+ private NoSuchTargetException(String message, @Nullable Label label, boolean hasTarget) {
// TODO(bazel-team): Does the exception matter?
- super(message,
+ super(
+ message,
hasTarget ? new BuildFileContainsErrorsException(label.getPackageIdentifier()) : null);
this.label = label;
this.hasTarget = hasTarget;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NoSuchThingException.java b/src/main/java/com/google/devtools/build/lib/packages/NoSuchThingException.java
index d4de044..032bbba 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NoSuchThingException.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NoSuchThingException.java
@@ -33,17 +33,17 @@
this.detailedExitCode = null;
}
- public NoSuchThingException(String message, Throwable cause) {
+ NoSuchThingException(String message, Throwable cause) {
super(message, cause);
this.detailedExitCode = null;
}
- public NoSuchThingException(String message, DetailedExitCode detailedExitCode) {
+ NoSuchThingException(String message, DetailedExitCode detailedExitCode) {
super(message);
this.detailedExitCode = detailedExitCode;
}
- public NoSuchThingException(String message, Throwable cause, DetailedExitCode detailedExitCode) {
+ NoSuchThingException(String message, Throwable cause, DetailedExitCode detailedExitCode) {
super(message, cause);
this.detailedExitCode = detailedExitCode;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/OutputFile.java b/src/main/java/com/google/devtools/build/lib/packages/OutputFile.java
index 6a3c679..058c57e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/OutputFile.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/OutputFile.java
@@ -78,7 +78,7 @@
@Override
public Rule getAssociatedRule() {
- return getGeneratingRule();
+ return generatingRule;
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index bf73595..6d55c567d 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -868,7 +868,7 @@
return error.withProperty(DetailedExitCode.class, createDetailedCode(error.toString(), code));
}
- public static DetailedExitCode createDetailedCode(String errorMessage, Code code) {
+ private static DetailedExitCode createDetailedCode(String errorMessage, Code code) {
return DetailedExitCode.of(
FailureDetail.newBuilder()
.setMessage(errorMessage)
@@ -1324,7 +1324,7 @@
}
@Nullable
- public FailureDetail getFailureDetail() {
+ FailureDetail getFailureDetail() {
if (failureDetailOverride != null) {
return failureDetailOverride;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageCodecDependencies.java b/src/main/java/com/google/devtools/build/lib/packages/PackageCodecDependencies.java
index fd5a5f2..04213aa 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageCodecDependencies.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageCodecDependencies.java
@@ -20,7 +20,7 @@
PackageSerializerInterface getPackageSerializer();
/** Simplest implementation of PackageCodecDependencies. */
- public static class SimplePackageCodecDependencies implements PackageCodecDependencies {
+ class SimplePackageCodecDependencies implements PackageCodecDependencies {
private final PackageSerializerInterface packageSerializer;
public SimplePackageCodecDependencies(PackageSerializerInterface packageSerializer) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index b1c0054..9da6e4a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -111,7 +111,6 @@
}
private final RuleFactory ruleFactory;
- private final ImmutableMap<String, BuiltinRuleFunction> ruleFunctions;
private final RuleClassProvider ruleClassProvider;
private AtomicReference<? extends UnixGlob.FilesystemCalls> syscalls;
@@ -133,7 +132,7 @@
/** Builder for {@link PackageFactory} instances. Intended to only be used by unit tests. */
@VisibleForTesting
public abstract static class BuilderForTesting {
- protected final String version = "test";
+ protected static final String VERSION = "test";
protected Iterable<EnvironmentExtension> environmentExtensions = ImmutableList.of();
protected PackageValidator packageValidator = PackageValidator.NOOP_VALIDATOR;
protected PackageOverheadEstimator packageOverheadEstimator =
@@ -193,7 +192,6 @@
PackageOverheadEstimator packageOverheadEstimator,
PackageLoadingListener packageLoadingListener) {
this.ruleFactory = new RuleFactory(ruleClassProvider);
- this.ruleFunctions = buildRuleFunctions(ruleFactory);
this.ruleClassProvider = ruleClassProvider;
this.executor = executorForGlobbing;
this.environmentExtensions = ImmutableList.copyOf(environmentExtensions);
@@ -205,7 +203,7 @@
this.bazelStarlarkEnvironment =
new BazelStarlarkEnvironment(
ruleClassProvider,
- ruleFunctions,
+ buildRuleFunctions(ruleFactory),
this.environmentExtensions,
newPackageFunction(packageArguments),
version);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageGroupsRuleVisibility.java b/src/main/java/com/google/devtools/build/lib/packages/PackageGroupsRuleVisibility.java
index a90289e..dbf46cb 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageGroupsRuleVisibility.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageGroupsRuleVisibility.java
@@ -27,7 +27,7 @@
private final PackageGroupContents directPackages;
private final List<Label> declaredLabels;
- public PackageGroupsRuleVisibility(Label ruleLabel, List<Label> labels) {
+ private PackageGroupsRuleVisibility(Label ruleLabel, List<Label> labels) {
declaredLabels = ImmutableList.copyOf(labels);
ImmutableList.Builder<PackageSpecification> directPackageBuilder = ImmutableList.builder();
ImmutableList.Builder<Label> packageGroupBuilder = ImmutableList.builder();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
index c103514..f682618 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
@@ -161,7 +161,7 @@
@AutoCodec
@VisibleForSerialization
static final class SinglePackage extends PackageSpecification {
- private PackageIdentifier singlePackageName;
+ private final PackageIdentifier singlePackageName;
@VisibleForSerialization
SinglePackage(PackageIdentifier singlePackageName) {
@@ -204,7 +204,7 @@
@AutoCodec
@VisibleForSerialization
static final class AllPackagesBeneath extends PackageSpecification {
- private PackageIdentifier prefix;
+ private final PackageIdentifier prefix;
@VisibleForSerialization
AllPackagesBeneath(PackageIdentifier prefix) {
@@ -348,10 +348,6 @@
this.allSpecifications = allSpecifications;
}
- public ImmutableList<PackageSpecification> getPackageSpecifications() {
- throw new UnsupportedOperationException();
- }
-
/**
* Creates a {@link PackageGroupContents} representing a collection of {@link
* PackageSpecification}s.
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PredicateWithMessage.java b/src/main/java/com/google/devtools/build/lib/packages/PredicateWithMessage.java
index c479788..f04fb27 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PredicateWithMessage.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PredicateWithMessage.java
@@ -22,9 +22,8 @@
public interface PredicateWithMessage<T> extends Predicate<T> {
/**
- * The error message to display when predicate checks param. Only makes sense to
- * call this method is apply(param) returns false.
+ * The error message to display when predicate checks param. Only makes sense to call this method
+ * if apply(param) returns false.
*/
- public String getErrorReason(T param);
-
+ String getErrorReason(T param);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java b/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
index 0080e1a..4b82982 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
@@ -40,11 +40,8 @@
/** Shared code used in proto buffer output for rules and rule classes. */
public class ProtoUtils {
- /**
- * This map contains all attribute types that are recognized by the protocol
- * output formatter.
- */
- static final ImmutableMap<Type<?>, Discriminator> TYPE_MAP =
+ /** This map contains all attribute types that are recognized by the protocol output formatter. */
+ private static final ImmutableMap<Type<?>, Discriminator> TYPE_MAP =
new ImmutableMap.Builder<Type<?>, Discriminator>()
.put(INTEGER, Discriminator.INTEGER)
.put(DISTRIBUTIONS, Discriminator.DISTRIBUTION_SET)
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Provider.java b/src/main/java/com/google/devtools/build/lib/packages/Provider.java
index b5984fd..35da1d9f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Provider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Provider.java
@@ -61,7 +61,7 @@
Location getLocation();
/** A serializable and fingerprintable representation of {@link Provider}. */
- public abstract static class Key {
+ abstract class Key {
abstract void fingerprint(Fingerprint fp);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java
index b217481..0884f79 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java
@@ -32,7 +32,7 @@
*/
public class RawAttributeMapper extends AbstractAttributeMapper {
- RawAttributeMapper(Rule rule) {
+ private RawAttributeMapper(Rule rule) {
super(rule);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RequiredProviders.java b/src/main/java/com/google/devtools/build/lib/packages/RequiredProviders.java
index 0bf6a48d..554bef3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RequiredProviders.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RequiredProviders.java
@@ -144,7 +144,7 @@
}
@Override
- public boolean satisfies(
+ boolean satisfies(
Predicate<Class<? extends TransitiveInfoProvider>> hasBuiltinProvider,
Predicate<StarlarkProviderIdentifier> hasStarlarkProvider,
RequiredProviders requiredProviders,
@@ -204,7 +204,7 @@
};
/** Checks if {@code advertisedProviderSet} satisfies these {@code RequiredProviders} */
- public abstract boolean satisfies(
+ protected abstract boolean satisfies(
AdvertisedProviderSet advertisedProviderSet,
RequiredProviders requiredProviders,
Builder missing);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index 5fb73a4..3dd861d 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -32,6 +32,7 @@
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.events.NullEventHandler;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.StarlarkImplicitOutputsFunction;
import com.google.devtools.build.lib.packages.License.DistributionType;
import com.google.devtools.build.lib.packages.Package.ConfigSettingVisibilityPolicy;
@@ -257,10 +258,9 @@
Attribute attribute = ruleClass.getAttributeByNameMaybe(attributeName);
// TODO(murali): This method should be property of ruleclass not rule instance.
// Further, this call to AbstractAttributeMapper.isConfigurable is delegated right back
- // to this instance!.
+ // to this instance!
return attribute != null
- ? AbstractAttributeMapper.isConfigurable(this, attributeName, attribute.getType())
- : false;
+ && AbstractAttributeMapper.isConfigurable(this, attributeName, attribute.getType());
}
/**
@@ -470,7 +470,7 @@
// TODO(b/151165647): this logic has always been wrong:
// it spuriously matches occurrences of the package name earlier in the path.
String absolutePath = location.toString();
- int pos = absolutePath.indexOf(getLabel().getPackageName());
+ int pos = absolutePath.indexOf(label.getPackageName());
return (pos < 0) ? null : absolutePath.substring(pos);
}
@@ -496,7 +496,7 @@
Integer index = ruleClass.getAttributeIndex(attrName);
if (index == null) {
throw new IllegalArgumentException(
- "No such attribute " + attrName + " in " + ruleClass + " rule " + getLabel());
+ "No such attribute " + attrName + " in " + ruleClass + " rule " + label);
}
Attribute attr = ruleClass.getAttribute(index);
if (attr.getType() != type) {
@@ -510,7 +510,7 @@
+ " in "
+ ruleClass
+ " rule "
- + getLabel());
+ + label);
}
return getAttrWithIndex(index);
}
@@ -539,7 +539,7 @@
+ " in "
+ ruleClass
+ " rule "
- + getLabel());
+ + label);
}
return (BuildType.SelectorList<T>) attrValue;
}
@@ -644,7 +644,7 @@
* Check if this rule is valid according to the validityPredicate of its RuleClass.
*/
void checkValidityPredicate(EventHandler eventHandler) {
- PredicateWithMessage<Rule> predicate = getRuleClassObject().getValidityPredicate();
+ PredicateWithMessage<Rule> predicate = ruleClass.getValidityPredicate();
if (!predicate.apply(this)) {
reportError(predicate.getErrorReason(this), eventHandler);
}
@@ -660,11 +660,10 @@
eventHandler, pkgBuilder.getPackageIdentifier(), /*checkLabels=*/ true);
}
- void populateOutputFilesUnchecked(EventHandler eventHandler, Package.Builder pkgBuilder)
- throws InterruptedException {
+ void populateOutputFilesUnchecked(Package.Builder pkgBuilder) throws InterruptedException {
try {
populateOutputFilesInternal(
- eventHandler, pkgBuilder.getPackageIdentifier(), /*checkLabels=*/ false);
+ NullEventHandler.INSTANCE, pkgBuilder.getPackageIdentifier(), /*checkLabels=*/ false);
} catch (LabelSyntaxException e) {
throw new IllegalStateException(e);
}
@@ -672,12 +671,12 @@
@FunctionalInterface
private interface ExplicitOutputHandler {
- public void accept(Attribute attribute, Label outputLabel) throws LabelSyntaxException;
+ void accept(Attribute attribute, Label outputLabel) throws LabelSyntaxException;
}
@FunctionalInterface
private interface ImplicitOutputHandler {
- public void accept(String outputKey, String outputName);
+ void accept(String outputKey, String outputName);
}
private void populateOutputFilesInternal(
@@ -711,7 +710,7 @@
reportError(
String.format(
"illegal output file name '%s' in rule %s due to: %s",
- outputName, getLabel(), e.getMessage()),
+ outputName, this.label, e.getMessage()),
eventHandler);
return;
}
@@ -745,8 +744,7 @@
}
}
} catch (EvalException e) {
- reportError(
- String.format("In rule %s: %s", getLabel(), e.getMessageWithStack()), eventHandler);
+ reportError(String.format("In rule %s: %s", label, e.getMessageWithStack()), eventHandler);
}
ExplicitOutputHandler explicitOutputHandler =
@@ -830,7 +828,7 @@
/** Returns a string of the form "cc_binary rule //foo:foo" */
@Override
public String toString() {
- return getRuleClass() + " rule " + getLabel();
+ return getRuleClass() + " rule " + label;
}
/**
@@ -847,7 +845,7 @@
// enforced). See https://github.com/bazelbuild/bazel/issues/12669. Ultimately this entire
// conditional should be removed.
if (ruleClass.getName().equals("config_setting")) {
- ConfigSettingVisibilityPolicy policy = getPackage().getConfigSettingVisibilityPolicy();
+ ConfigSettingVisibilityPolicy policy = pkg.getConfigSettingVisibilityPolicy();
if (visibility != null) {
return visibility; // Use explicitly set visibility
} else if (policy == ConfigSettingVisibilityPolicy.DEFAULT_PUBLIC) {
@@ -879,7 +877,7 @@
&& isAttributeValueExplicitlySpecified("distribs")) {
return NonconfigurableAttributeMapper.of(this).get("distribs", BuildType.DISTRIBUTIONS);
} else {
- return getPackage().getDefaultDistribs();
+ return pkg.getDefaultDistribs();
}
}
@@ -894,10 +892,10 @@
} else if (isAttrDefined("licenses", BuildType.LICENSE)
&& isAttributeValueExplicitlySpecified("licenses")) {
return NonconfigurableAttributeMapper.of(this).get("licenses", BuildType.LICENSE);
- } else if (getRuleClassObject().ignoreLicenses()) {
+ } else if (ruleClass.ignoreLicenses()) {
return License.NO_LICENSE;
} else {
- return getPackage().getDefaultLicense();
+ return pkg.getDefaultLicense();
}
}
@@ -919,7 +917,7 @@
*/
public Set<String> getRuleTags() {
Set<String> ruleTags = new LinkedHashSet<>();
- for (Attribute attribute : getRuleClassObject().getAttributes()) {
+ for (Attribute attribute : ruleClass.getAttributes()) {
if (attribute.isTaggable()) {
Type<?> attrType = attribute.getType();
String name = attribute.getName();
@@ -933,10 +931,10 @@
}
/**
- * Computes labels of additional dependencies that can be provided by aspects that this rule
- * can require from its direct dependencies.
+ * Computes labels of additional dependencies that can be provided by aspects that this rule can
+ * require from its direct dependencies.
*/
- public Collection<? extends Label> getAspectLabelsSuperset(DependencyFilter predicate) {
+ public Collection<Label> getAspectLabelsSuperset(DependencyFilter predicate) {
if (!hasAspects()) {
return ImmutableList.of();
}
@@ -953,7 +951,7 @@
* @return The repository name.
*/
public RepositoryName getRepository() {
- return getLabel().getPackageIdentifier().getRepository();
+ return label.getPackageIdentifier().getRepository();
}
/** Returns the suffix of target kind for all rules. */
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index a3b628a..0e586b0 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -222,7 +222,7 @@
INHERIT;
/** Determine the correct value to use based on the current setting and the parent's value. */
- public ToolchainResolutionMode apply(String name, ToolchainResolutionMode parent) {
+ ToolchainResolutionMode apply(String name, ToolchainResolutionMode parent) {
if (this == INHERIT) {
return parent;
} else if (parent == INHERIT) {
@@ -237,7 +237,7 @@
return this;
}
- public boolean isActive() {
+ boolean isActive() {
switch (this) {
case ENABLED:
return true;
@@ -259,7 +259,7 @@
INHERIT;
/** Determine the correct value to use based on the current setting and the parent's value. */
- public ToolchainTransitionMode apply(String name, ToolchainTransitionMode parent) {
+ ToolchainTransitionMode apply(String name, ToolchainTransitionMode parent) {
if (this == INHERIT) {
return parent;
} else if (parent == INHERIT) {
@@ -274,7 +274,7 @@
return this;
}
- public boolean isActive() {
+ boolean isActive() {
switch (this) {
case ENABLED:
return true;
@@ -549,12 +549,12 @@
public abstract void checkName(String name);
/**
- * Checks whether the given set of attributes contains all the required
- * attributes for the current rule class type.
+ * Checks whether the given set of attributes contains all the required attributes for the
+ * current rule class type.
*
* @throws IllegalArgumentException if a required attribute is missing
*/
- public abstract void checkAttributes(Map<String, Attribute> attributes);
+ protected abstract void checkAttributes(Map<String, Attribute> attributes);
}
/** A predicate that filters rule classes based on their names. */
@@ -723,17 +723,17 @@
*/
public static final String STARLARK_BUILD_SETTING_DEFAULT_ATTR_NAME = "build_setting_default";
- public static final String STARLARK_BUILD_SETTING_HELP_ATTR_NAME = "help";
+ static final String STARLARK_BUILD_SETTING_HELP_ATTR_NAME = "help";
- public static final String BUILD_SETTING_DEFAULT_NONCONFIGURABLE =
+ static final String BUILD_SETTING_DEFAULT_NONCONFIGURABLE =
"Build setting defaults are referenced during analysis.";
/** List of required attributes for normal rules, name and type. */
- public static final ImmutableList<Attribute> REQUIRED_ATTRIBUTES_FOR_NORMAL_RULES =
+ static final ImmutableList<Attribute> REQUIRED_ATTRIBUTES_FOR_NORMAL_RULES =
ImmutableList.of(attr("tags", Type.STRING_LIST).build());
/** List of required attributes for test rules, name and type. */
- public static final ImmutableList<Attribute> REQUIRED_ATTRIBUTES_FOR_TESTS =
+ static final ImmutableList<Attribute> REQUIRED_ATTRIBUTES_FOR_TESTS =
ImmutableList.of(
attr("tags", Type.STRING_LIST).build(),
attr("size", Type.STRING).build(),
@@ -759,8 +759,7 @@
private ImplicitOutputsFunction implicitOutputsFunction = ImplicitOutputsFunction.NONE;
private TransitionFactory<Rule> transitionFactory;
private ConfiguredTargetFactory<?, ?, ?> configuredTargetFactory = null;
- private PredicateWithMessage<Rule> validityPredicate =
- PredicatesWithMessage.<Rule>alwaysTrue();
+ private PredicateWithMessage<Rule> validityPredicate = PredicatesWithMessage.alwaysTrue();
private Predicate<String> preferredDependencyPredicate = Predicates.alwaysFalse();
private final AdvertisedProviderSet.Builder advertisedProviders =
AdvertisedProviderSet.builder();
@@ -1035,7 +1034,7 @@
*/
public Builder requiresConfigurationFragments(Class<?>... configurationFragments) {
configurationFragmentPolicy.requiresConfigurationFragments(
- ImmutableSet.<Class<?>>copyOf(configurationFragments));
+ ImmutableSet.copyOf(configurationFragments));
return this;
}
@@ -1053,8 +1052,7 @@
public Builder requiresConfigurationFragments(ConfigurationTransition transition,
Class<?>... configurationFragments) {
configurationFragmentPolicy.requiresConfigurationFragments(
- transition,
- ImmutableSet.<Class<?>>copyOf(configurationFragments));
+ transition, ImmutableSet.copyOf(configurationFragments));
return this;
}
@@ -1175,7 +1173,7 @@
* #cfg(TransitionFactory)}.
*/
public Builder cfg(PatchTransition transition) {
- return cfg((TransitionFactory<Rule>) unused -> transition);
+ return cfg(unused -> transition);
}
/**
@@ -2112,7 +2110,7 @@
Rule rule =
pkgBuilder.createRule(ruleLabel, this, location, callstack, implicitOutputsFunction);
populateRuleAttributeValues(rule, pkgBuilder, attributeValues, NullEventHandler.INSTANCE);
- rule.populateOutputFilesUnchecked(NullEventHandler.INSTANCE, pkgBuilder);
+ rule.populateOutputFilesUnchecked(pkgBuilder);
return rule;
}
@@ -2335,7 +2333,7 @@
// attribute gets an '$implicit_tests' attribute, whose value is a shared per-package list of
// all test labels, populated later.
// TODO(blaze-rules-team): This should be in test_suite's implementation, not here.
- if (this.name.equals("test_suite") && !this.isStarlark()) {
+ if (this.name.equals("test_suite") && !this.isStarlark) {
Attribute implicitTests = this.getAttributeByName("$implicit_tests");
NonconfigurableAttributeMapper attributeMapper = NonconfigurableAttributeMapper.of(rule);
if (implicitTests != null && attributeMapper.get("tests", BuildType.LABEL_LIST).isEmpty()) {
@@ -2780,6 +2778,6 @@
// https://docs.google.com/document/d/1uwBuhAoBNrw8tmFs-NxlssI6VRolidGYdYqagLqHWt8/edit#
// TODO(b/183637322) consider this further
public boolean isBazelLicense() {
- return getName().equals("_license") && hasAttr("license_kinds", BuildType.LABEL_LIST);
+ return name.equals("_license") && hasAttr("license_kinds", BuildType.LABEL_LIST);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleCodec.java b/src/main/java/com/google/devtools/build/lib/packages/RuleCodec.java
index 18597b5..8b1bd3c 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleCodec.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleCodec.java
@@ -21,7 +21,6 @@
import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
import com.google.protobuf.CodedInputStream;
import com.google.protobuf.CodedOutputStream;
-import java.io.IOException;
/**
* Codec for {@link Rule} that throws. We expect never to serialize Rule except for in PackageCodec,
@@ -45,13 +44,13 @@
@Override
public void serialize(SerializationContext context, Rule obj, CodedOutputStream codedOut)
- throws SerializationException, IOException {
+ throws SerializationException {
throw new SerializationException(String.format(SERIALIZATION_ERROR_TEMPLATE, obj));
}
@Override
public Rule deserialize(DeserializationContext context, CodedInputStream codedIn)
- throws SerializationException, IOException {
+ throws SerializationException {
throw new SerializationException(DESERIALIZATION_ERROR_TEMPLATE);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SelectorList.java b/src/main/java/com/google/devtools/build/lib/packages/SelectorList.java
index 7a66a7c..799b050 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SelectorList.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SelectorList.java
@@ -131,7 +131,7 @@
for (Object value : values) {
if (value instanceof SelectorList) {
- elements.addAll(((SelectorList) value).getElements());
+ elements.addAll(((SelectorList) value).elements);
} else {
elements.add(value);
}
@@ -152,7 +152,7 @@
private static String getTypeName(Object x) {
if (x instanceof SelectorList) {
- return "select of " + Depset.ElementType.of(((SelectorList) x).getType());
+ return "select of " + Depset.ElementType.of(((SelectorList) x).type);
} else if (x instanceof SelectorValue) {
return "select of " + Depset.ElementType.of(((SelectorValue) x).getType());
} else {
@@ -162,7 +162,7 @@
private static Class<?> getNativeType(Object value) {
if (value instanceof SelectorList) {
- return ((SelectorList) value).getType();
+ return ((SelectorList) value).type;
} else if (value instanceof SelectorValue) {
return ((SelectorValue) value).getType();
} else {
@@ -177,11 +177,8 @@
private static boolean canConcatenate(Class<?> type1, Class<?> type2) {
if (type1 == type2) {
return true;
- } else if (isListType(type1) && isListType(type2)) {
- return true;
- } else {
- return false;
}
+ return isListType(type1) && isListType(type2);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkAspectClass.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkAspectClass.java
index 9bde830..bf0b414 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkAspectClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkAspectClass.java
@@ -40,12 +40,12 @@
}
@Override
- public final String getName() {
- return getExtensionLabel() + "%" + getExportedName();
+ public String getName() {
+ return extensionLabel + "%" + exportedName;
}
@Override
- public final boolean equals(Object o) {
+ public boolean equals(Object o) {
if (this == o) {
return true;
}
@@ -61,8 +61,8 @@
}
@Override
- public final int hashCode() {
- return Objects.hash(getExtensionLabel(), getExportedName());
+ public int hashCode() {
+ return Objects.hash(extensionLabel, exportedName);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkDefinedAspect.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkDefinedAspect.java
index 4562a99..77bd274 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkDefinedAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkDefinedAspect.java
@@ -342,7 +342,7 @@
&& Objects.equals(hostTransition, that.hostTransition)
&& Objects.equals(hostFragments, that.hostFragments)
&& Objects.equals(requiredToolchains, that.requiredToolchains)
- && Objects.equals(useToolchainTransition, that.useToolchainTransition)
+ && useToolchainTransition == that.useToolchainTransition
&& Objects.equals(aspectClass, that.aspectClass);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkInfo.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkInfo.java
index 55aae7f..7a973de 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkInfo.java
@@ -264,7 +264,7 @@
@Override
public boolean isImmutable() {
// If the provider is not yet exported, the hash code of the object is subject to change.
- if (!getProvider().isExported()) {
+ if (!provider.isExported()) {
return false;
}
for (int i = table.length / 2; i < table.length; i++) {
@@ -350,8 +350,8 @@
}
private static StarlarkInfo plus(StarlarkInfo x, StarlarkInfo y) throws EvalException {
- Provider xprov = x.getProvider();
- Provider yprov = y.getProvider();
+ Provider xprov = x.provider;
+ Provider yprov = y.provider;
if (!xprov.equals(yprov)) {
throw Starlark.errorf(
"Cannot use '+' operator on instances of different providers (%s and %s)",
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkLibrary.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkLibrary.java
index 5f25557..07f255f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkLibrary.java
@@ -169,7 +169,7 @@
private void field(String name, Object v) throws EvalException {
// dict?
if (v instanceof Dict) {
- Dict<?, ?> dict = (Dict) v;
+ Dict<?, ?> dict = (Dict<?, ?>) v;
for (Map.Entry<?, ?> entry : dict.entrySet()) {
Object key = entry.getKey();
if (!(key instanceof String || key instanceof StarlarkInt)) {
@@ -194,7 +194,7 @@
// list or tuple?
if (v instanceof Sequence) {
int i = 0;
- for (Object item : (Sequence) v) {
+ for (Object item : (Sequence<?>) v) {
try {
fieldElement(name, item);
} catch (EvalException ex) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkNativeModule.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkNativeModule.java
index bc1e62b..438b6b2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkNativeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkNativeModule.java
@@ -359,7 +359,7 @@
if (val instanceof List) {
List<Object> l = new ArrayList<>();
- for (Object o : (List) val) {
+ for (Object o : (List<?>) val) {
Object elt = starlarkifyValue(mu, o, pkg);
if (elt == null) {
continue;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
index 520054b..1256093 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
@@ -126,7 +126,7 @@
@Override
public Object fastcall(StarlarkThread thread, Object[] positional, Object[] named)
- throws EvalException, InterruptedException {
+ throws EvalException {
if (positional.length > 0) {
throw Starlark.errorf("%s: unexpected positional arguments", getName());
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
index cf30856..282e5e0 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
@@ -220,7 +220,7 @@
} else if (value instanceof List) {
sb.append("[");
String join = "";
- for (Object item : ((List) value)) {
+ for (Object item : ((List<?>) value)) {
sb.append(join);
join = ",";
printJson(item, sb, "list element in struct field", key);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
index 5221315..e05ac93 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
@@ -290,9 +290,8 @@
String.class,
"execution_requirements"));
- Map<String, String> executionInfoBuilder = new HashMap<>();
// adding filtered execution requirements to the execution info map
- executionInfoBuilder.putAll(checkedExecutionRequirements);
+ Map<String, String> executionInfoBuilder = new HashMap<>(checkedExecutionRequirements);
if (allowTagsPropagation) {
Map<String, String> checkedTags = getExecutionInfo(rule);
@@ -307,7 +306,7 @@
* Returns the execution info. These include execution requirement tags ('block-*', 'requires-*',
* 'no-*', 'supports-*', 'disable-*', 'local', and 'cpu:*') as keys with empty values.
*/
- public static Map<String, String> filter(Map<String, String> executionInfo) {
+ private static Map<String, String> filter(Map<String, String> executionInfo) {
return Maps.filterKeys(executionInfo, TargetUtils::legalExecInfoKeys);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TestSize.java b/src/main/java/com/google/devtools/build/lib/packages/TestSize.java
index b43f60f..a9cd8f8 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/TestSize.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/TestSize.java
@@ -48,7 +48,7 @@
private final TestTimeout timeout;
private final int defaultShards;
- private TestSize(TestTimeout defaultTimeout, int defaultShards) {
+ TestSize(TestTimeout defaultTimeout, int defaultShards) {
this.timeout = defaultTimeout;
this.defaultShards = defaultShards;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TestTargetUtils.java b/src/main/java/com/google/devtools/build/lib/packages/TestTargetUtils.java
index 245177a..d6e2d2e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/TestTargetUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/TestTargetUtils.java
@@ -128,11 +128,9 @@
excludedTags.add(tag.substring(1));
} else if (tag.startsWith("+")) {
requiredTags.add(tag.substring(1));
- } else if (tag.equals("manual")) {
- // Ignore manual attribute because it is an exception: it is not a filter
- // but a property of test_suite
- continue;
- } else {
+ } else if (!tag.equals("manual")) {
+ // Ignore manual attribute because it is an exception: it is not a filter but a property of
+ // test_suite.
requiredTags.add(tag);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TestTimeout.java b/src/main/java/com/google/devtools/build/lib/packages/TestTimeout.java
index 1c24197..0b17a47 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/TestTimeout.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/TestTimeout.java
@@ -110,7 +110,7 @@
private final int timeout;
- private TestTimeout(int timeout) {
+ TestTimeout(int timeout) {
this.timeout = timeout;
}
@@ -202,7 +202,7 @@
// so we can't fully emulate String.split(String, 0).
if (!token.isEmpty() || values.size() > 1) {
try {
- values.add(Duration.ofSeconds(Integer.valueOf(token)));
+ values.add(Duration.ofSeconds(Integer.parseInt(token)));
} catch (NumberFormatException e) {
throw new OptionsParsingException("'" + input + "' is not an int");
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Type.java b/src/main/java/com/google/devtools/build/lib/packages/Type.java
index 4f66ce3..8bdd1b2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Type.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Type.java
@@ -86,7 +86,7 @@
// types, both Starlark and native.
public abstract class Type<T> {
- protected Type() {}
+ Type() {}
/**
* Converts a legal Starlark value x into an Java value of type T.
@@ -285,7 +285,7 @@
}
/** Contructs a conversion error. Throws NullPointerException if value is null. */
- public ConversionException(Type<?> type, Object value, @Nullable Object what) {
+ ConversionException(Type<?> type, Object value, @Nullable Object what) {
super(message(type, Preconditions.checkNotNull(value), what));
}
@@ -523,7 +523,7 @@
return new DictType<>(keyType, valueType, labelClass);
}
- protected DictType(Type<KeyT> keyType, Type<ValueT> valueType, LabelClass labelClass) {
+ DictType(Type<KeyT> keyType, Type<ValueT> valueType, LabelClass labelClass) {
this.keyType = keyType;
this.valueType = valueType;
this.labelClass = labelClass;
@@ -738,7 +738,7 @@
throws ConversionException {
// TODO(adonovan): converge on Starlark.toIterable.
if (x instanceof Sequence) {
- return ((Sequence) x).getImmutableList();
+ return ((Sequence<Object>) x).getImmutableList();
} else if (x instanceof List) {
return (List<Object>) x;
} else if (x instanceof Iterable) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
index c7b60c9..f46a53f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
@@ -56,8 +56,6 @@
private final Path defaultSystemJavabaseDir;
private final Mutability mutability;
- private final RuleFactory ruleFactory;
-
private final WorkspaceGlobals workspaceGlobals;
private final StarlarkSemantics starlarkSemantics;
private final ImmutableMap<String, Object> workspaceFunctions;
@@ -93,7 +91,7 @@
this.workspaceDir = workspaceDir;
this.defaultSystemJavabaseDir = defaultSystemJavabaseDir;
this.environmentExtensions = environmentExtensions;
- this.ruleFactory = new RuleFactory(ruleClassProvider);
+ RuleFactory ruleFactory = new RuleFactory(ruleClassProvider);
this.workspaceGlobals = new WorkspaceGlobals(allowOverride, ruleFactory);
this.starlarkSemantics = starlarkSemantics;
this.workspaceFunctions =
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
index 39997b6..233dd0c 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
@@ -35,7 +35,6 @@
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
import net.starlark.java.eval.Dict;
@@ -86,7 +85,7 @@
Package.Builder builder = PackageFactory.getContext(thread).pkgBuilder;
RuleClass localRepositoryRuleClass = ruleFactory.getRuleClass("local_repository");
RuleClass bindRuleClass = ruleFactory.getRuleClass("bind");
- Map<String, Object> kwargs = ImmutableMap.<String, Object>of("name", name, "path", ".");
+ Map<String, Object> kwargs = ImmutableMap.of("name", name, "path", ".");
try {
// This effectively adds a "local_repository(name = "<ws>", path = ".")"
// definition to the WORKSPACE file.
@@ -110,7 +109,7 @@
@Override
public void dontSymlinkDirectoriesInExecroot(Sequence<?> paths, StarlarkThread thread)
- throws EvalException, InterruptedException {
+ throws EvalException {
List<String> pathsList = Sequence.cast(paths, String.class, "paths");
Set<String> set = Sets.newHashSet();
for (String path : pathsList) {
@@ -245,7 +244,7 @@
@Override
public void registerExecutionPlatforms(Sequence<?> platformLabels, StarlarkThread thread)
- throws EvalException, InterruptedException {
+ throws EvalException {
// Add to the package definition for later.
Package.Builder builder = PackageFactory.getContext(thread).pkgBuilder;
List<String> patterns = Sequence.cast(platformLabels, String.class, "platform_labels");
@@ -254,7 +253,7 @@
@Override
public void registerToolchains(Sequence<?> toolchainLabels, StarlarkThread thread)
- throws EvalException, InterruptedException {
+ throws EvalException {
// Add to the package definition for later.
Package.Builder builder = PackageFactory.getContext(thread).pkgBuilder;
List<String> patterns = Sequence.cast(toolchainLabels, String.class, "toolchain_labels");
@@ -289,7 +288,6 @@
* Returns true if the given name is a valid workspace name.
*/
public static boolean isLegalWorkspaceName(String name) {
- Matcher matcher = LEGAL_WORKSPACE_NAME.matcher(name);
- return matcher.matches();
+ return LEGAL_WORKSPACE_NAME.matcher(name).matches();
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/metrics/ExtremaPackageMetricsRecorder.java b/src/main/java/com/google/devtools/build/lib/packages/metrics/ExtremaPackageMetricsRecorder.java
index dc1a3bf..475344a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/metrics/ExtremaPackageMetricsRecorder.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/metrics/ExtremaPackageMetricsRecorder.java
@@ -173,7 +173,7 @@
largestPackages.getExtremeElements().stream(),
packagesWithMostTransitiveLoads.getExtremeElements().stream(),
packagesWithMostOverhead.getExtremeElements().stream())
- .map(c -> c.getPackageMetrics())
+ .map(PackageMetricsContainer::getPackageMetrics)
.collect(toImmutableSet());
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsPackageLoadingListener.java b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsPackageLoadingListener.java
index 038801e..053acc4 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsPackageLoadingListener.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsPackageLoadingListener.java
@@ -24,7 +24,7 @@
public class PackageMetricsPackageLoadingListener implements PackageLoadingListener {
@GuardedBy("this")
- private PackageMetricsRecorder recorder = null;
+ private PackageMetricsRecorder recorder;
@GuardedBy("PackageMetricsPackageLoadingListener.class")
private static PackageMetricsPackageLoadingListener instance = null;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsRecorder.java b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsRecorder.java
index b2c8819..79ea6c6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsRecorder.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsRecorder.java
@@ -22,7 +22,7 @@
public interface PackageMetricsRecorder {
/** What type of packages are metrics being recorded for? */
- public enum Type {
+ enum Type {
ONLY_EXTREMES,
ALL,
}