diff options
Diffstat (limited to 'configgen/src/main')
-rw-r--r-- | configgen/src/main/java/com/yahoo/config/codegen/DefLine.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/DefLine.java b/configgen/src/main/java/com/yahoo/config/codegen/DefLine.java index 5d2dc2e13e8..2cc93f95df0 100644 --- a/configgen/src/main/java/com/yahoo/config/codegen/DefLine.java +++ b/configgen/src/main/java/com/yahoo/config/codegen/DefLine.java @@ -257,16 +257,18 @@ public class DefLine { } } - void validateReservedWords() { - if (ReservedWords.isReservedWord(name)) { - throw new IllegalArgumentException(name + " is a reserved word in " + - ReservedWords.getLanguageForReservedWord(name)); + private void validateReservedWords() { + String cleanName = (name.endsWith("[]") || name.endsWith("{}")) ? name.substring(0, name.length()-2) : name; + + if (ReservedWords.isReservedWord(cleanName)) { + throw new IllegalArgumentException(cleanName + " is a reserved word in " + + ReservedWords.getLanguageForReservedWord(cleanName)); } - if (ReservedWords.capitalizedPattern.matcher(name).matches()) { - throw new IllegalArgumentException("'" + name + "' cannot start with an uppercase letter"); + if (ReservedWords.capitalizedPattern.matcher(cleanName).matches()) { + throw new IllegalArgumentException("'" + cleanName + "' cannot start with an uppercase letter"); } - if (ReservedWords.internalPrefixPattern.matcher(name).matches()) { - throw new IllegalArgumentException("'" + name + "' cannot start with '" + ReservedWords.INTERNAL_PREFIX + "'"); + if (ReservedWords.internalPrefixPattern.matcher(cleanName).matches()) { + throw new IllegalArgumentException("'" + cleanName + "' cannot start with '" + ReservedWords.INTERNAL_PREFIX + "'"); } } |