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;
  ElementDeclarationResult declaration =
      parsedLibResult.getElementDeclaration(method)!;

  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, "");
  // print("method source $source");
  return source;
}