diff options
author | laurentlb <laurentlb@google.com> | 2017-07-06 11:01:17 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-07-07 07:07:03 -0400 |
commit | 819e91ccd5ace635c33e0d14e50a6f485919c23a (patch) | |
tree | 8d42b08f70f0062cd8c2772c99b69bae99c13f74 /src/main | |
parent | 8c2749254219870e782d68fb9449d5cab40fcdbe (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')
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; |