aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-03-12 15:00:20 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-03-13 14:37:36 +0000
commit5290d995ffe0c6e942ad514857e05533994cadcd (patch)
treed5633d01a10918770259aa29a3588c4711697b5d /src/main/java/com/google/devtools/build
parent9f62c0b7f4e09414949cceb26fd8129e28eb1e04 (diff)
Skylark: DictionaryLiteral is immutable (like every dict).
-- MOS_MIGRATED_REVID=88440711
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/DictionaryLiteral.java3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
index 778bc7bd8b..57df6483e2 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.syntax;
import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.devtools.build.lib.syntax.ClassObject.SkylarkClassObject;
@@ -141,7 +142,7 @@ public final class BinaryOperatorExpression extends Expression {
Map<Object, Object> result = Maps.newHashMapWithExpectedSize(ldict.size() + rdict.size());
result.putAll(ldict);
result.putAll(rdict);
- return result;
+ return ImmutableMap.copyOf(result);
}
if (env.isSkylarkEnabled()
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/DictionaryLiteral.java b/src/main/java/com/google/devtools/build/lib/syntax/DictionaryLiteral.java
index 0b926f6ae1..e991504488 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/DictionaryLiteral.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/DictionaryLiteral.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.syntax;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -78,7 +79,7 @@ public class DictionaryLiteral extends Expression {
}
map.put(entry.key.eval(env), entry.value.eval(env));
}
- return map;
+ return ImmutableMap.copyOf(map);
}
@Override