code: def mark_def(self) -> int:
          
          first_line = get_first_token(self.node).start[0] - self.first_line_no  # Should usually be 0
          try:
              end_token = get_last_token(self.node.args.args[-1])
          except IndexError:
              # Fn has no args, so end of function is the fn def itself...
              end_token = get_first_token(self.node)
          last_line = end_token.end[0] - self.first_line_no
          self.line_markers.update((first_line, last_line), LineType.func_def)
          return last_line - first_line + 1
docs: Marks up this Function's definition lines (including decorators) into
          the ``line_markers`` attribute.
  
          Returns:
              Number of lines found for the definition.
  
          Note:
              Does not spot the closing ``):`` of a function when it occurs on
              its own line.
  
          Note:
              Can not use ``helpers.build_footprint()`` because function nodes
              cover the whole function. In this case, just the def lines are
              wanted with any decorators.