visitCreateTriggerStatement method

  1. @override
void visitCreateTriggerStatement(
  1. CreateTriggerStatement e,
  2. void arg
)
override

Implementation

@override
void visitCreateTriggerStatement(CreateTriggerStatement e, void arg) {
  keyword(TokenType.create);
  keyword(TokenType.trigger);
  _ifNotExists(e.ifNotExists);

  identifier(e.triggerName);

  switch (e.mode) {
    case TriggerMode.before:
      keyword(TokenType.before);
      break;
    case TriggerMode.after:
      keyword(TokenType.after);
      break;
    case TriggerMode.insteadOf:
      keyword(TokenType.instead);
      keyword(TokenType.of);
      break;
    default:
      // Can happen if e.mode == null
      break;
  }

  visit(e.target, arg);

  keyword(TokenType.on);
  visit(e.onTable, arg);

  if (e.when != null) {
    keyword(TokenType.when);
    visit(e.when!, arg);
  }

  visit(e.action, arg);
}