antlr4: como saber qual alternativa é escolhida em um contexto

Suponha que exista uma regra sobre 'tipo'. É um tipo predefinido (referido pelo IDENTIFIER) ou um typeDescriptor.

type
:   IDENTIFIER
|   typeDescriptor
;

No meu programa, eu tenho uma instância do typeContext 'ctx'. Como sei se o caminho IDENTIFIER foi escolhido ou typeDescriptor foi escolhido.

Eu reconheço uma maneira de testarctx.IDENTIFIER() == null ectx.typeDescriptor() == null. Mas parece não funcionar muito bem quando há muito mais alternativas. Existe uma maneira de retornar um índice para indicar qual regra é escolhida? Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion