setterDeclaration method

Parser<FunctionDeclarationNode> setterDeclaration()
inherited

Implementation

Parser<FunctionDeclarationNode> setterDeclaration() => [
  seq6(
    ref0(methodModifier).star(),
    ref0(setToken),
    ref0(identifier),
    ref0(formalParameters),
    ref0(asyncOrSyncModifier).optional(),
    ref0(methodBody),
  ).map6(
    (modifiers, _, name, params, asyncMod, body) => FunctionDeclarationNode(
      name: name,
      parameters: params,
      body: body,
      isStatic: modifiers.contains('static'),
      isAbstract: modifiers.contains('abstract'),
      isExternal: modifiers.contains('external'),
      isSetter: true,
    ),
  ),
  seq7(
    ref0(methodModifier).star(),
    ref0(type),
    ref0(setToken),
    ref0(identifier),
    ref0(formalParameters),
    ref0(asyncOrSyncModifier).optional(),
    ref0(methodBody),
  ).map7(
    (modifiers, returnType, _, name, params, asyncMod, body) =>
        FunctionDeclarationNode(
          name: name,
          returnType: returnType,
          parameters: params,
          body: body,
          isStatic: modifiers.contains('static'),
          isAbstract: modifiers.contains('abstract'),
          isExternal: modifiers.contains('external'),
          isSetter: true,
        ),
  ),
].toChoiceParser();