original_docstring: 
          Method evaluation. While are (nominally) attached to an object, the only thing
          actually special is that the object is the first parameter to a function.
          
docstring: Method evaluation. While are (nominally) attached to an object, the only thing
  actually special is that the object is the first parameter to a function.
docstring_tokens: Method evaluation . While are ( nominally ) attached to an object the only thing actually special is that the object is the first parameter to a function .
code: def method_eval(
              self,
              object: Result,
              method_ident: lark.Token,
              exprlist: Optional[Iterable[Result]] = None) -> Result:
          """
          Method evaluation. While are (nominally) attached to an object, the only thing
          actually special is that the object is the first parameter to a function.
          """
          function: CELFunction
          try:
              # TODO: Transitive Lookup of function in all parent activation contexts.
              function = self.functions[method_ident.value]
          except KeyError as ex:
              self.logger.debug(f"method_eval({object!r}, {method_ident!r}, {exprlist}) --> {ex!r}")
              self.logger.debug(f"functions: {self.functions}")
              err = (
                  f"undeclared reference to {method_ident.value!r} "
                  f"(in container '{self.package}')"
              )
              value = CELEvalError(err, ex.__class__, ex.args, token=method_ident)
              value.__cause__ = ex
              return value
  
          if isinstance(object, CELEvalError):
              return object
          elif isinstance(exprlist, CELEvalError):
              return exprlist
  
          try:
              list_exprlist = cast(List[Result], exprlist or [])
              return function(object, *list_exprlist)
          except ValueError as ex:
              value = CELEvalError(
                  "return error for overflow", ex.__class__, ex.args, token=method_ident)
              value.__cause__ = ex
              return value
          except (TypeError, AttributeError) as ex:
              self.logger.debug(f"method_eval({object!r}, {method_ident!r}, {exprlist}) --> {ex!r}")
              value = CELEvalError("no such overload", ex.__class__, ex.args, token=method_ident)
              value.__cause__ = ex
              return value
code_tokens: def method_eval ( self , object : Result , method_ident : lark . Token , exprlist : Optional [ Iterable [ Result ] ] = None ) -> Result : function : CELFunction try : function = self . functions [ method_ident . value ] except KeyError as ex : self . logger . debug ( f"method_eval({object!r}, {method_ident!r}, {exprlist}) --> {ex!r}" ) self . logger . debug ( f"functions: {self.functions}" ) err = ( f"undeclared reference to {method_ident.value!r} " f"(in container '{self.package}')" ) value = CELEvalError ( err , ex . __class__ , ex . args , token = method_ident ) value . __cause__ = ex return value if isinstance ( object , CELEvalError ) : return object elif isinstance ( exprlist , CELEvalError ) : return exprlist try : list_exprlist = cast ( List [ Result ] , exprlist or [ ] ) return function ( object , * list_exprlist ) except ValueError as ex : value = CELEvalError ( "return error for overflow" , ex . __class__ , ex . args , token = method_ident ) value . __cause__ = ex return value except ( TypeError , AttributeError ) as ex : self . logger . debug ( f"method_eval({object!r}, {method_ident!r}, {exprlist}) --> {ex!r}" ) value = CELEvalError ( "no such overload" , ex . __class__ , ex . args , token = method_ident ) value . __cause__ = ex return value
short_docstring: Method evaluation.
short_docstring_tokens: Method evaluation .
comment: """
          Method evaluation. While are (nominally) attached to an object, the only thing
          actually special is that the object is the first parameter to a function.
          """$SEP$# TODO: Transitive Lookup of function in all parent activation contexts.