aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-07-10 21:04:21 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-11 10:55:59 +0200
commit0e0d5e21b491e595f05468fc6a12254ad76830ac (patch)
treea216fb06b514571567bb2b9af90bceab8e09d7c8 /src/main/java/com
parent57742cc88fae5c3d3089413012d86378c84a8c8d (diff)
Make SkylarkValue instances mutable by default
Simplify the code by providing the default implementation of `SkylarkValue$isImmutable` that always returns false. All objects are considered mutable unless their `isImmutable` method is overridden. This change doesn't affect the current behavior. PiperOrigin-RevId: 161422029
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/BuildType.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/GlobList.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java5
9 files changed, 3 insertions, 46 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
index a7e1033a22..9399384c30 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
@@ -361,11 +361,6 @@ public abstract class AbstractAction implements Action, SkylarkValue {
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
printer.append(prettyPrint()); // TODO(bazel-team): implement a readable representation
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
index 0096575da0..8464ded1a9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
@@ -211,11 +211,6 @@ public abstract class AbstractConfiguredTarget
/** Implement in subclasses to get a skylark provider for a given {@code providerKey}. */
protected abstract Object rawGetSkylarkProvider(String providerKey);
- @Override
- public boolean isImmutable() {
- return false;
- }
-
// All main target classes must override this method to provide more descriptive strings.
// Exceptions are currently EnvironmentGroupConfiguredTarget and PackageGroupConfiguredTarget.
@Override
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 70f6ba49ac..4d21b53525 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
@@ -531,11 +531,6 @@ public final class BuildType {
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
// Convert to a lib.syntax.SelectorList to guarantee consistency with callers that serialize
// directly on that type.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
index 42224f6d21..1dc878f38c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
@@ -140,11 +140,6 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
printer.append("<alias target " + label + " of " + actual.getLabel() + ">");
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
index 6793119eaf..06974be42e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
@@ -442,11 +442,6 @@ public final class SkylarkAttr implements SkylarkValue {
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
printer.append("<attr>");
}
@@ -1667,11 +1662,6 @@ public final class SkylarkAttr implements SkylarkValue {
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
printer.append("<attr." + name + ">");
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
index bf6a5c5586..6e316b7b32 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
@@ -27,7 +27,9 @@ public interface SkylarkValue {
* <p>Immutability is deep, i.e. in order for a value to be immutable, all values it is composed
* of must be immutable, too.
*/
- boolean isImmutable();
+ default boolean isImmutable() {
+ return false;
+ }
/**
* Print an official representation of object x.
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/GlobList.java b/src/main/java/com/google/devtools/build/lib/syntax/GlobList.java
index 260c318f1f..a21b523422 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/GlobList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/GlobList.java
@@ -127,11 +127,6 @@ public final class GlobList<E> extends ForwardingList<E> implements SkylarkValue
}
@Override
- public boolean isImmutable() {
- return false;
- }
-
- @Override
public void repr(SkylarkPrinter printer) {
printer.printList(this, false);
}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java b/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
index c06089b417..57a2dc4e5d 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
@@ -155,9 +155,4 @@ public final class SelectorList implements SkylarkValue {
public void repr(SkylarkPrinter printer) {
printer.printList(elements, "", " + ", "", null);
}
-
- @Override
- public boolean isImmutable() {
- return false;
- }
}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java b/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
index 77210a5042..703cb2c66c 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
@@ -86,9 +86,4 @@ public final class SelectorValue implements SkylarkValue {
public void reprLegacy(SkylarkPrinter printer) {
printer.format("selector(%r)", dictionary);
}
-
- @Override
- public boolean isImmutable() {
- return false;
- }
}