diff options
author | vladmos <vladmos@google.com> | 2017-07-10 21:04:21 +0200 |
---|---|---|
committer | László Csomor <laszlocsomor@google.com> | 2017-07-11 10:55:59 +0200 |
commit | 0e0d5e21b491e595f05468fc6a12254ad76830ac (patch) | |
tree | a216fb06b514571567bb2b9af90bceab8e09d7c8 /src/main/java/com | |
parent | 57742cc88fae5c3d3089413012d86378c84a8c8d (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')
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; - } } |