Как использовать канал COMMENTS без предупреждения

Я прочитал ответ на Почему я ошибка при назначении токенов каналу?. Ответ заключается в том, что это не ошибка, а предупреждение.

Ну, это все очень хорошо, но Eclipse IDE, https://github.com/jknack/antlr4ide , не будет генерировать код при наличии этого предупреждения.

Есть ли способ не получать предупреждение при использовании канала COMMENT?


person user3278659    schedule 04.03.2014    source источник
comment
Не похоже, что есть способ обойти это предупреждение. Но мне кажется, что Eclipse IDE должна обрабатывать это вместо этого (она должна генерировать код при предупреждениях).   -  person Bart Kiers    schedule 04.03.2014


Ответы (1)


Вы можете обмануть компилятор, определив COMMENT в блоке tokens{}, а не в блоке @members{}. Это приведет к тому, что ему будет автоматически присвоено постоянное значение.

Если вы также используете канал HIDDEN, я бы на всякий случай добавил что-то вроде этого:

@members {
{
  if (HIDDEN == COMMENT) {
    throw new IllegalStateException(
      "Expected the HIDDEN and COMMENT constants to have different values.");
  }
}
}
person Sam Harwell    schedule 04.03.2014