aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/Info.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/Info.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Info.java44
1 files changed, 21 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Info.java b/src/main/java/com/google/devtools/build/lib/packages/Info.java
index 550ef181ea..b885d65581 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Info.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Info.java
@@ -70,14 +70,14 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
public Info(Provider provider, @Nullable Location location) {
this.provider = provider;
this.creationLoc = location == null ? Location.BUILTIN : location;
- this.errorMessageFormatForUnknownField = provider.getErrorMessageFormatForInstances();
+ this.errorMessageFormatForUnknownField = provider.getErrorMessageFormatForUnknownField();
}
/** Creates a built-in struct (i.e. without a Skylark creation location). */
public Info(Provider provider) {
this.provider = provider;
this.creationLoc = Location.BUILTIN;
- this.errorMessageFormatForUnknownField = provider.getErrorMessageFormatForInstances();
+ this.errorMessageFormatForUnknownField = provider.getErrorMessageFormatForUnknownField();
}
/**
@@ -113,10 +113,9 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
/**
* Returns whether the given field name exists.
*
- * <p>The "key" nomenclature is historic and for consistency with {@link ClassObject}.
+ * <p>This conceptually extends the API for {@link ClassObject}.
*/
- // TODO(bazel-team): Rename to hasField(), and likewise in ClassObject.
- public abstract boolean hasKey(String name);
+ public abstract boolean hasField(String name);
/** Returns a value and try to cast it into specified type */
public <T> T getValue(String key, Class<T> type) throws EvalException {
@@ -144,11 +143,11 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
/**
* Returns the fields of this struct.
*
- * Overrides {@link ClassObject#getKeys()}, but does not allow {@link EvalException} to
+ * Overrides {@link ClassObject#getFieldNames()}, but does not allow {@link EvalException} to
* be thrown.
*/
@Override
- public abstract ImmutableCollection<String> getKeys();
+ public abstract ImmutableCollection<String> getFieldNames();
/**
* Returns the value associated with the name field in this struct,
@@ -161,11 +160,10 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
@Override
public abstract Object getValue(String name);
- // TODO(bazel-team): Rename to getErrorMessageForUnknownField.
@Override
- public String errorMessage(String name) {
- String suffix =
- "Available attributes: " + Joiner.on(", ").join(Ordering.natural().sortedCopy(getKeys()));
+ public String getErrorMessageForUnknownField(String name) {
+ String suffix = "Available attributes: "
+ + Joiner.on(", ").join(Ordering.natural().sortedCopy(getFieldNames()));
return String.format(errorMessageFormatForUnknownField, name) + "\n" + suffix;
}
@@ -181,12 +179,12 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
if (!this.provider.equals(other.provider)) {
return false;
}
- // Compare objects' keys and values
- if (!this.getKeys().equals(other.getKeys())) {
+ // Compare objects' fields and their values
+ if (!this.getFieldNames().equals(other.getFieldNames())) {
return false;
}
- for (String key : getKeys()) {
- if (!this.getValue(key).equals(other.getValue(key))) {
+ for (String field : getFieldNames()) {
+ if (!this.getValue(field).equals(other.getValue(field))) {
return false;
}
}
@@ -195,13 +193,13 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
@Override
public int hashCode() {
- List<String> keys = new ArrayList<>(getKeys());
- Collections.sort(keys);
+ List<String> fields = new ArrayList<>(getFieldNames());
+ Collections.sort(fields);
List<Object> objectsToHash = new ArrayList<>();
objectsToHash.add(provider);
- for (String key : keys) {
- objectsToHash.add(key);
- objectsToHash.add(getValue(key));
+ for (String field : fields) {
+ objectsToHash.add(field);
+ objectsToHash.add(getValue(field));
}
return Objects.hashCode(objectsToHash.toArray());
}
@@ -215,14 +213,14 @@ public abstract class Info implements ClassObject, SkylarkValue, Serializable {
boolean first = true;
printer.append("struct(");
// Sort by key to ensure deterministic output.
- for (String key : Ordering.natural().sortedCopy(getKeys())) {
+ for (String fieldName : Ordering.natural().sortedCopy(getFieldNames())) {
if (!first) {
printer.append(", ");
}
first = false;
- printer.append(key);
+ printer.append(fieldName);
printer.append(" = ");
- printer.repr(getValue(key));
+ printer.repr(getValue(fieldName));
}
printer.append(")");
}