Node _conditional()

in lib/src/parser.dart [42:53]


  Node _conditional() {
    var condition = _or();
    if (!_scanner.scan(TokenType.questionMark)) return condition;

    var whenTrue = _conditional();
    if (!_scanner.scan(TokenType.colon)) {
      throw SourceSpanFormatException('Expected ":".', _scanner.peek().span);
    }

    var whenFalse = _conditional();
    return ConditionalNode(condition, whenTrue, whenFalse);
  }