visitMethodElement method

  1. @override
void visitMethodElement(
  1. MethodElement element
)
override

Implementation

@override
void visitMethodElement(MethodElement element) {
  final name = element.name;
  final returns = element.returnType.toString();
  final _MethodParameterVisitor visitor = _MethodParameterVisitor(element);
  element.visitChildren(visitor);
  classBuilder.methods.add(
    Method(
      (builder) => builder
        ..annotations.add(CodeExpression(Code('override')))
        ..returns = Reference(returns)
        ..name = name
        ..requiredParameters.addAll(visitor.requiredParams)
        ..optionalParameters.addAll(visitor.optionalParams)
        ..body = Code('return _\$src.$name(${visitor.toArgs()});'),
    ),
  );
}