Index and slice calls are implemented as separate AST nodes rather than special
function calls.
--
MOS_MIGRATED_REVID=133259901
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
index e5aa180..5c8f13a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
@@ -287,24 +287,11 @@
}
private String functionName() {
- String name = func.getName();
- if (name.equals("$slice")) {
- return "operator [:]";
- } else if (name.equals("$index")) {
- return "operator []";
- } else {
- return "function " + name;
- }
+ return "function " + func.getName();
}
@Override
public String toString() {
- if (func.getName().equals("$slice")) {
- return obj + "[" + args.get(0) + ":" + args.get(1) + "]";
- }
- if (func.getName().equals("$index")) {
- return obj + "[" + args.get(0) + "]";
- }
StringBuilder sb = new StringBuilder();
if (obj != null) {
sb.append(obj).append(".");