visitJoinOperator method

  1. @override
void visitJoinOperator(
  1. JoinOperator e,
  2. void arg
)
override

Implementation

@override
void visitJoinOperator(JoinOperator e, void arg) {
  if (e.operator == JoinOperatorKind.comma) {
    symbol(',');
  } else {
    if (e.natural) {
      keyword(TokenType.natural);
    }

    switch (e.operator) {
      case JoinOperatorKind.none:
        break;
      case JoinOperatorKind.comma:
        throw AssertionError("Can't happen");
      case JoinOperatorKind.left:
        keyword(TokenType.left);
        break;
      case JoinOperatorKind.right:
        keyword(TokenType.right);
        break;
      case JoinOperatorKind.full:
        keyword(TokenType.full);
        break;
      case JoinOperatorKind.inner:
        keyword(TokenType.inner);
        break;
      case JoinOperatorKind.cross:
        keyword(TokenType.cross);
        break;
    }

    if (e.outer) {
      keyword(TokenType.outer);
    }
    keyword(TokenType.join);
  }
}