getClassMethodBody function

String getClassMethodBody(
  1. ClassElement clazz,
  2. MethodElement method
)

Implementation

String getClassMethodBody(ClassElement clazz, MethodElement method) {
  var session = method.session!;
  ParsedLibraryResult parsedLibResult =
      session.getParsedLibraryByElement(clazz.library) as ParsedLibraryResult;
  FragmentDeclarationResult declaration = parsedLibResult
      .getFragmentDeclaration(method.firstFragment)!;

  var source = declaration.node
      .toSource()
      .replaceAll("@override ", "")
      .replaceAll(
        RegExp(r"^[a-zA-Z]+\s[a-zA-Z]+\((.*?)\)\s?{", multiLine: true),
        "",
      );

  var lastIndex = source.lastIndexOf("}");
  source = source.replaceRange(lastIndex, lastIndex + 1, "");
  return source;
}