0
감사합니다. new RuleViolation
를 들어생성자 RuleViolation (ParameterNameConvention, int, String, RuleContext)이 정의되지 않았습니다.
public class ParameterNameConvention extends AbstractJavaRule {
private final static String PATTERN = "[p][a-zA-Z]+";
public Object visit(ASTMethodDeclaration node, Object data) {
RuleContext result = (RuleContext) data;
String rulePattern = (!getStringProperty("rulePattern")
.equalsIgnoreCase("")) ? getStringProperty("rulePattern")
: PATTERN;
if (node.containsChildOfType(ASTFormalParameter.class)) {
Iterator iterator = node.findChildrenOfType(
ASTFormalParameter.class).iterator();
while (iterator.hasNext()) {
ASTFormalParameter element = (ASTFormalParameter) iterator
.next();
Iterator decIdIterator = element.findChildrenOfType(
ASTVariableDeclaratorId.class).iterator();
while (decIdIterator.hasNext()) {
ASTVariableDeclaratorId decElement = (ASTVariableDeclaratorId) decIdIterator
.next();
if (!decElement.getImage().matches(rulePattern)) {
result.getReport()
.addRuleViolation(
new RuleViolation(
this,
node.getBeginLine(),
"Parameter '"
+ decElement.getImage()
+ "' should match regular expression pattern '"
+ rulePattern + "'",
result));
}
}
}
}
return result;
}
}
가 문제가있는 것입니다 :
생성자 RuleViolation (ParameterNameConvention은 INT는, 문자열, RuleContext가) 정의되지
이유는 무엇입니까?
감사합니다. 나는이 일을 끝냈다. 모든 문제는 버전의 문제입니다. 이제 다른 부분을 시작하겠습니다. 고마워. – Esct
그것은 단지 버전의 문제 일뿐입니다. 감사. – Esct