public InputRef addInput(Nonterminal inputSymbol, boolean hasEoi, SourceElement origin) {
check(inputSymbol);
if (inputSymbol.isTerm()) {
throw new IllegalArgumentException("input symbol should be non-terminal");
}
<BUG>LiInputRef inp = new LiInputRef(inputSymbol, hasEoi, origin);
</BUG>
inputs.add(inp);
return inp;
}

public InputRef addInput(Nonterminal inputSymbol, boolean hasEoi, SourceElement origin) {
check(inputSymbol);
if (inputSymbol.isTerm()) {
throw new IllegalArgumentException("input symbol should be non-terminal");
}
LiInputRef inp = new LiInputRef(inputs.size(), inputSymbol, hasEoi, origin);
inputs.add(inp);
return inp;
}
