parseArgument method

ArgumentContext? parseArgument()

Implementation

ArgumentContext? parseArgument() {
  if (next(TokenType.NAME) && current != null) {
    var NAME = current!;
    if (next(TokenType.COLON)) {
      var COLON = current!;
      var val = parseInputValue();
      if (val != null) {
        return ArgumentContext(NAME, COLON, val);
      } else {
        errors.add(SyntaxError(
            'Missing value or variable in argument.', COLON.span));
        return null;
      }
    } else {
      errors.add(
          SyntaxError('Missing colon after name in argument.', NAME.span));
      return null;
    }
  } else {
    return null;
  }
}