code: def get_param_names(self):
      function_execution = self.get_function_execution()
      return [
          ParamName(function_execution, param.name)
          for param in self.tree_node.get_params()
      ]
  
imports: from parso.python import tree
  from jedi._compatibility import use_metaclass
  from jedi import debug
  from jedi.evaluate.cache import evaluator_method_cache, CachedMetaClass
  from jedi.evaluate import compiled
  from jedi.evaluate import recursion
  from jedi.evaluate import docstrings
  from jedi.evaluate import pep0484
  from jedi.evaluate import flow_analysis
  from jedi.evaluate import helpers
  from jedi.evaluate.arguments import AnonymousArguments
  from jedi.evaluate.filters import ParserTreeFilter, FunctionExecutionFilter, ContextName, AbstractNameDefinition, ParamName
  from jedi.evaluate.base_context import ContextualizedNode, NO_CONTEXTS, ContextSet, TreeContext
  from jedi.evaluate.lazy_context import LazyKnownContexts, LazyKnownContext, LazyTreeContext
  from jedi.evaluate.context import iterable
  from jedi.evaluate.context import asynchronous
  from jedi import parser_utils
  from jedi.evaluate.parser_cache import get_yield_exprs
label_desc: Use image node_id 2 for calling the AbstractFunction obj's underlying member method code with example usage: obj.get_param_names() and returns: unknown