aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2017-07-06 11:01:17 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 07:07:03 -0400
commit819e91ccd5ace635c33e0d14e50a6f485919c23a (patch)
tree8d42b08f70f0062cd8c2772c99b69bae99c13f74 /src/main
parent8c2749254219870e782d68fb9449d5cab40fcdbe (diff)
Remove showName argument in FunctionSignature, it was always true.
Also, replace noTypeDefined with typeDefined. RELNOTES: None. PiperOrigin-RevId: 161079981
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/FunctionSignature.java41
3 files changed, 18 insertions, 30 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
index b410ed8d4d..535c4cd88a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
@@ -508,14 +508,13 @@ public abstract class BaseFunction implements SkylarkValue {
/**
* Returns the signature as "[className.]methodName(name1: paramType1, name2: paramType2, ...)"
- * or "[className.]methodName(paramType1, paramType2, ...)", depending on the value of showNames.
*/
- public String getShortSignature(boolean showNames) {
+ public String getShortSignature() {
StringBuilder builder = new StringBuilder();
boolean hasSelf = hasSelfArgument();
builder.append(getFullName()).append("(");
- signature.toStringBuilder(builder, showNames, false, false, hasSelf);
+ signature.toStringBuilder(builder, false, false, hasSelf);
builder.append(")");
return builder.toString();
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index 7614df5dc0..15c58c9577 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -181,7 +181,7 @@ public class BuiltinFunction extends BaseFunction {
String.format(
"method %s is not applicable for arguments %s: "
+ "'%s' is '%s', but should be '%s'",
- getShortSignature(true),
+ getShortSignature(),
printTypeString(args, args.length - extraArgsCount),
paramName,
EvalUtils.getDataTypeName(args[i]),
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FunctionSignature.java b/src/main/java/com/google/devtools/build/lib/syntax/FunctionSignature.java
index 8517a3e38d..3b12fd5425 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FunctionSignature.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FunctionSignature.java
@@ -375,22 +375,23 @@ public abstract class FunctionSignature implements Serializable {
}
public StringBuilder toStringBuilder(final StringBuilder sb) {
- return toStringBuilder(sb, true, true, true, false);
+ return toStringBuilder(sb, true, true, false);
}
/**
* Appends a representation of this signature to a string buffer.
+ *
* @param sb Output StringBuffer
- * @param showNames Determines whether the names of arguments should be printed
* @param showDefaults Determines whether the default values of arguments should be printed (if
- * present)
+ * present)
* @param skipMissingTypeNames Determines whether missing type names should be omitted (true) or
- * replaced with "object" (false). If showNames is false, "object" is always used as a type name
- * to prevent blank spaces.
+ * replaced with "object" (false).
* @param skipFirstMandatory Determines whether the first mandatory parameter should be omitted.
*/
- public StringBuilder toStringBuilder(final StringBuilder sb, final boolean showNames,
- final boolean showDefaults, final boolean skipMissingTypeNames,
+ public StringBuilder toStringBuilder(
+ final StringBuilder sb,
+ final boolean showDefaults,
+ final boolean skipMissingTypeNames,
final boolean skipFirstMandatory) {
FunctionSignature signature = getSignature();
Shape shape = signature.getShape();
@@ -429,25 +430,15 @@ public abstract class FunctionSignature implements Serializable {
// This happens when either
// a) there is no type defined (such as in user-defined functions) or
// b) the type is java.lang.Object.
- boolean noTypeDefined = (types == null || types.get(i) == null);
- String typeString = noTypeDefined ? "object" : types.get(i).toString();
- if (noTypeDefined && showNames && skipMissingTypeNames) {
- // This is the only case where we don't want to append typeString.
- // If showNames = false, we ignore skipMissingTypeNames = true and append "object"
- // in order to prevent blank spaces.
- } else {
- // We only append colons when there is a name.
- if (showNames) {
- printer.append(": ");
- }
- printer.append(typeString);
+ boolean typeDefined = types != null && types.get(i) != null;
+ if (typeDefined || !skipMissingTypeNames) {
+ printer.append(": ");
+ printer.append(typeDefined ? types.get(i).toString() : "object");
}
}
public void mandatory(int i) {
comma();
- if (showNames) {
- printer.append(names.get(i));
- }
+ printer.append(names.get(i));
type(i);
}
public void optional(int i) {
@@ -475,7 +466,7 @@ public abstract class FunctionSignature implements Serializable {
if (hasStar) {
show.comma();
printer.append("*");
- if (starArg && showNames) {
+ if (starArg) {
printer.append(names.get(iStarArg));
}
}
@@ -488,9 +479,7 @@ public abstract class FunctionSignature implements Serializable {
if (kwArg) {
show.comma();
printer.append("**");
- if (showNames) {
- printer.append(names.get(iKwArg));
- }
+ printer.append(names.get(iKwArg));
}
return sb;