lexerActionFactory method

LexerAction lexerActionFactory(
  1. LexerActionType type,
  2. int data1,
  3. int data2
)

Implementation

LexerAction lexerActionFactory(LexerActionType type, int data1, int data2) {
  switch (type) {
    case LexerActionType.CHANNEL:
      return LexerChannelAction(data1);

    case LexerActionType.CUSTOM:
      return LexerCustomAction(data1, data2);

    case LexerActionType.MODE:
      return LexerModeAction(data1);

    case LexerActionType.MORE:
      return LexerMoreAction.INSTANCE;

    case LexerActionType.POP_MODE:
      return LexerPopModeAction.INSTANCE;

    case LexerActionType.PUSH_MODE:
      return LexerPushModeAction(data1);

    case LexerActionType.SKIP:
      return LexerSkipAction.INSTANCE;

    case LexerActionType.TYPE:
      return LexerTypeAction(data1);
    default:
      throw ArgumentError.value(type, 'lexer action type', 'not valid.');
  }
}