aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-05-12 22:29:23 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-05-15 09:43:05 +0000
commit4eda0cf57fb18538211e0f74d3de5a3affb672c5 (patch)
tree2388c8030904740c4cdc55c8208bc4cf77259fdd /src/main/java/com/google/devtools/build/lib/syntax
parent9d1724b65c9e15f3ad57d4b4eae95986b66116d1 (diff)
Allow "attr = glob([*]) + select({...})" intermixing in
an attribute assignment. -- MOS_MIGRATED_REVID=93460093
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java6
1 files changed, 6 insertions, 0 deletions
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 f923e830ac..b20f59625d 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
@@ -17,6 +17,7 @@ import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.events.Location;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -92,6 +93,11 @@ public final class SelectorList {
} else if (value instanceof SelectorValue) {
builder.add(value);
return ((SelectorValue) value).getType();
+ } else if (value instanceof GlobList) {
+ builder.add(((GlobList<?>) value).delegate());
+ // TODO(bazel-team): match on the List interface, not the actual implementation. For now,
+ // we verify this is the right class through test coverage.
+ return ArrayList.class;
} else {
builder.add(value);
return value.getClass();