getterDeclaration method

Parser<FunctionDeclarationNode> getterDeclaration()
inherited

Implementation

Parser<FunctionDeclarationNode> getterDeclaration() => [
  seq5(
    ref0(methodModifier).star(),
    ref0(getToken),
    ref0(identifier),
    ref0(asyncOrSyncModifier).optional(),
    ref0(methodBody),
  ).map5(
    (modifiers, _, name, asyncMod, body) => FunctionDeclarationNode(
      name: name,
      body: body,
      isStatic: modifiers.contains('static'),
      isAbstract: modifiers.contains('abstract'),
      isExternal: modifiers.contains('external'),
      isGetter: true,
    ),
  ),
  seq6(
    ref0(methodModifier).star(),
    ref0(type),
    ref0(getToken),
    ref0(identifier),
    ref0(asyncOrSyncModifier).optional(),
    ref0(methodBody),
  ).map6(
    (modifiers, returnType, _, name, asyncMod, body) =>
        FunctionDeclarationNode(
          name: name,
          returnType: returnType,
          body: body,
          isStatic: modifiers.contains('static'),
          isAbstract: modifiers.contains('abstract'),
          isExternal: modifiers.contains('external'),
          isGetter: true,
        ),
  ),
].toChoiceParser();