1package com.github.javaparser.ast.validator; 2 3import com.github.javaparser.ast.expr.Name; 4import com.github.javaparser.ast.expr.SimpleName; 5 6import static com.github.javaparser.utils.CodeGenerationUtils.f; 7 8/** 9 * Validates that identifiers are not keywords - this for the few keywords that the parser 10 * accepts because they were added after Java 1.0. 11 */ 12public class ReservedKeywordValidator extends VisitorValidator { 13 private final String keyword; 14 private final String error; 15 16 public ReservedKeywordValidator(String keyword) { 17 this.keyword = keyword; 18 error = f("'%s' cannot be used as an identifier as it is a keyword.", keyword); 19 } 20 21 @Override 22 public void visit(Name n, ProblemReporter arg) { 23 if (n.getIdentifier().equals(keyword)) { 24 arg.report(n, error); 25 } 26 super.visit(n, arg); 27 } 28 29 @Override 30 public void visit(SimpleName n, ProblemReporter arg) { 31 if (n.getIdentifier().equals(keyword)) { 32 arg.report(n, error); 33 } 34 super.visit(n, arg); 35 } 36} 37