def get_body_region(defined):
 scope = defined.get_scope()
 pymodule = defined.get_module()
 lines = pymodule.lines
 node = defined.get_ast()
 start_line = node.lineno
 if (defined.get_doc() is None):
  start_line = node.body[0].lineno
 elif (len(node.body) > 1):
  start_line = node.body[1].lineno
 start = lines.get_line_start(start_line)
 scope_start = pymodule.logical_lines.logical_line_in(scope.start)
 if (scope_start[1] >= start_line):
  start = (pymodule.source_code.index(':', start) + 1)
  while pymodule.source_code[start].isspace():
   start += 1
 end = min((lines.get_line_end(scope.end) + 1), len(pymodule.source_code))
 return (start, end)

def get_body_region ( defined ) : scope = defined . get_scope ( ) pymodule = defined . get_module ( ) lines = pymodule . lines node = defined . get_ast ( ) start_line = node . lineno if ( defined . get_doc ( ) is None ) : start_line = node . body [ 0 ] . lineno elif ( len ( node . body ) > 1 ) : start_line = node . body [ 1 ] . lineno start = lines . get_line_start ( start_line ) scope_start = pymodule . logical_lines . logical_line_in ( scope . start ) if ( scope_start [ 1 ] >= start_line ) : start = ( pymodule . source_code . index ( ':' , start ) + 1 ) while pymodule . source_code [ start ] . isspace ( ) : start += 1 end = min ( ( lines . get_line_end ( scope . end ) + 1 ) , len ( pymodule . source_code ) ) return ( start , end )
return the start and end offsets of function body .