parseVariableDefinition method

VariableDefinitionContext? parseVariableDefinition()

Implementation

VariableDefinitionContext? parseVariableDefinition() {
  var variable = parseVariable();
  if (variable != null) {
    if (next(TokenType.COLON) && current != null) {
      var COLON = current!;
      var type = parseType();
      if (type != null) {
        var defaultValue = parseDefaultValue();
        return VariableDefinitionContext(variable, COLON, type, defaultValue)
          ..directives.addAll(parseDirectives());
      } else {
        errors.add(
            SyntaxError('Missing type in variable definition.', COLON.span));
        return null;
      }
    } else {
      errors.add(
          SyntaxError('Missing ":" in variable definition.', variable.span));
      return null;
    }
  } else {
    return null;
  }
}