docstr: Set cname, keyname, cargs attributes.
  The list of args always has one entry and the first entry is always
  the output (can be void).
docstr_tok: ["Set","cname",",","keyname",",","cargs","attributes",".","The","list","of","args","always","has","one","entry","and","the","first","entry","is","always","the","output","(","can","be","void",")","."]
code: def parse_line(self):
      """Set cname, keyname, cargs attributes.
      The list of args always has one entry and the first entry is always
      the output (can be void).
      """
      # Parse components
      beforeBrace, args = self.line.split("(", 1)
      betweenBraces, _ = args.split(")", 1)
      outs = getwords(beforeBrace)
      prefix, name = outs[:-1], outs[-1]
  
      # Store name
      self._set_name(name)
  
      # Possibly, this function belongs to a collection of similar functions,
      # which we are going to replace with one function in Python.
      self.keyname = (
          self.glname.rstrip("v")
          .rstrip(self.SKIPTYPECHARS)
          .rstrip("1234")
      )
      self.extrachars = self.matchKeyName(self.keyname)
  
      # If this is a list, this instance represents the group
      # If this is True, this instance is in a group (but not the
      # representative)
      self.group = None
  
      # Create list of Argument instances
      self.cargs = [arg.strip() for arg in betweenBraces.split(",")]
      self.args = []
      # Set output arg
      self.args.append(Argument(" ".join(prefix), False))
      # Parse input arguments,
      for arg in self.cargs:
          if arg and arg != "void":
              self.args.append(Argument(arg))
  
imports: import os
label_desc: Use image node_id 2 for calling the FunctionDefinition obj's underlying member method code with example usage: obj.parse_line() without return types