code: def dump(self) -> dict:
      ret = {}
      ret["builtinName"] = self.name
      if self.alias is not None:
          ret["alias"] = self.alias
      ret["className"] = self.class_name
      if not self.accept_class_args:
          ret["acceptClassArgs"] = False
      if self.class_args is not None:
          ret["classArgs"] = self.class_args
      if self.validator_class_name is not None:
          ret["classArgsValidator"] = self.validator_class_name
      if self.is_advisor:
          ret["isAdvisor"] = True
      ret["source"] = "nni" if self.is_builtin else "user"
      if self.nni_version is not None:
          ret["nniVersion"] = self.nni_version
      return ret
  
imports: from __future__ import annotations
  from typing import NamedTuple
  from typing_extensions import Literal
label_desc: Use image node_id 2 for calling the AlgoMeta obj's underlying member method code with example usage: obj.dump() and returns: ret