У меня есть грамматика Xtext, которая делает что-то вроде этого:
Model:
(names += Name)*
(rules += Rule)*
;
Rule:
'rule' ruleName = ID;
Name:
name = ID+;
terminal ID:
('a'..'z')+;
Я хочу проверить, что ruleName
было объявлено в блоке имен. Я могу получить доступ к самому имени правила в JavaValidator
следующим образом:
@Check
public void checkName(Rule rule) {
rule.getName(); // how to compare to names without access to Model object?
}
но я не могу получить доступ к полю names
из Model
. Как мне это сделать в JavaValidator
?