如何在父上下文中知道匹配的替代项?

如何在父上下文中(例如在我的语法中)知道匹配的替代项

simpleAssign: name = ID  '=' value = (STRING | BOOLEAN | INTEGER | DOUBLE );
simpleReference: name = ID '=' value = ID;
listAssign: name = ID  '=' value = listString #listStringAssign;
assign: simpleAssign       #simpleVariableAssign
      | listAssign         #listOfVariableAssign
      | simpleReference    #referenceToVariable
      ;
assignVariableBlock: assign +   #assignVariabels;

我想知道在我的函数enterAssignVariableBlock中匹配的替代项。

@Override public void enterAssignVariableBlock(StudyParser.AssignVariableBlockContext ctx) {

   // switch matched alternative (simpleVariableAssign | listOfVariableAssign | referenceToVariable ) do
 }