У меня есть следующая грамматика, но я хочу сделать некоторые проверки по этому вопросу.Я хочу сделать ошибку, если в списке "игроков" есть повторяющиеся имена.
Граммер:
Football:
'Club' name=STRING playerList=PlayerList
footballObjects+=FootballObject
;
FootballObject:
Player | Coach
;
PlayerList:
players+=[Player] ( players+=[Player] )*
;
Player:
'Player' name=ID
;
Я попробовал следующее:
@Check
def checkGreetingStartsWithCapital(Football model) {
val names = newHashSet
for (g : model.playersList.players) {
if(!names.add(g.name))
error("duplicate" , g, FOOTBALLPACKAGE.Literals.FOOTBALL__PLAYERS_LIST)
}
}
Ноэто не работает.Есть идеи почему?