Small list of cleanups

* Better error message for invalid names
* Removed unneeded blank lines in short function
This commit is contained in:
KB Sriram 2017-06-08 14:52:31 -07:00 committed by Martin Wicke
parent 950a38564d
commit 97c1016e60

View File

@ -38,27 +38,22 @@ final class NameScope {
NameScope withSubScope(String scopeName) { NameScope withSubScope(String scopeName) {
checkPattern(NAME_REGEX, scopeName); checkPattern(NAME_REGEX, scopeName);
// Override with opName if it exists. // Override with opName if it exists.
String actualName = (opName != null) ? opName : scopeName; String actualName = (opName != null) ? opName : scopeName;
String newPrefix = fullyQualify(makeUnique(actualName)); String newPrefix = fullyQualify(makeUnique(actualName));
return new NameScope(newPrefix, null, null); return new NameScope(newPrefix, null, null);
} }
NameScope withName(String name) { NameScope withName(String name) {
checkPattern(NAME_REGEX, name); checkPattern(NAME_REGEX, name);
// All context except for the opName is shared with the new scope. // All context except for the opName is shared with the new scope.
return new NameScope(opPrefix, name, ids); return new NameScope(opPrefix, name, ids);
} }
String makeOpName(String name) { String makeOpName(String name) {
checkPattern(NAME_REGEX, name); checkPattern(NAME_REGEX, name);
// Override with opName if it exists. // Override with opName if it exists.
String actualName = (opName != null) ? opName : name; String actualName = (opName != null) ? opName : name;
return fullyQualify(makeUnique(actualName)); return fullyQualify(makeUnique(actualName));
} }
@ -130,19 +125,23 @@ final class NameScope {
throw new IllegalArgumentException("Names cannot be null"); throw new IllegalArgumentException("Names cannot be null");
} }
if (!pattern.matcher(name).matches()) { if (!pattern.matcher(name).matches()) {
throw new IllegalArgumentException(String.format("Invalid name '%s'", name)); throw new IllegalArgumentException(
String.format(
"invalid name: '%s' does not match the regular expression %s",
name, NAME_REGEX_STRING));
} }
} }
// The constraints for operator and scope names originate from restrictions on node names // The constraints for operator and scope names originate from restrictions on node names
// noted in the proto definition core/framework/node_def.proto for NodeDef and actually // noted in the proto definition core/framework/node_def.proto for NodeDef and actually
// implemented in core/framework/node_def_util.cc [Note that the proto comment does not include // implemented in core/framework/node_def_util.cc [Note that the proto comment does not include
// dash (-) in names, while the actual implementation permits it. These regexs follow the actual // dash (-) in names, while the actual implementation permits it. This regex follows the actual
// implementation.] // implementation.]
// //
// These two patterns are used to ensure fully qualified names always start with a // This pattern is used to ensure fully qualified names always start with a LETTER_DIGIT_DOT,
// LETTER_DIGIT_DOT, followed by zero or more LETTER_DIGIT_DASH_DOT_SLASH_UNDERSCORE. SLASH is not // followed by zero or more LETTER_DIGIT_DASH_DOT_SLASH_UNDERSCORE. SLASH is not permitted in
// permitted in actual user-supplied names to NameScope - it is used as a reserved character to // actual user-supplied names to NameScope - it is used as a reserved character to separate
// separate subcomponents within fully qualified names. // subcomponents within fully qualified names.
private static final Pattern NAME_REGEX = Pattern.compile("[A-Za-z0-9.][A-Za-z0-9_.\\-]*"); private static final String NAME_REGEX_STRING = "[A-Za-z0-9.][A-Za-z0-9_.\\-]*";
private static final Pattern NAME_REGEX = Pattern.compile(NAME_REGEX_STRING);
} }