original_docstring: 
      Helper method for signature symbols (defaults, type hints) protection.
  
      Returns True if the given symbol needs to be protected - that is, if its repr() can not be correctly evaluated with current evaldict.
      :param symbol:
      :return:
      
docstring: Helper method for signature symbols (defaults, type hints) protection.
  Returns True if the given symbol needs to be protected - that is, if its repr() can not be correctly evaluated with current evaldict.
docstring_tokens: Helper method for signature symbols ( defaults type hints ) protection . Returns True if the given symbol needs to be protected - that is if its repr () can not be correctly evaluated with current evaldict .
code: def _signature_symbol_needs_protection(symbol, evaldict):
      """
      Helper method for signature symbols (defaults, type hints) protection.
  
      Returns True if the given symbol needs to be protected - that is, if its repr() can not be correctly evaluated with current evaldict.
      :param symbol:
      :return:
      """
      if symbol is not None and symbol is not Parameter.empty and not isinstance(symbol, (int, str, float, bool)):
          try:
              # check if the repr() of the default value is equal to itself.
              return eval(repr(symbol), evaldict) != symbol
          except (NameError, SyntaxError):
              # in case of error this needs protection
              return True
      else:
          return False
code_tokens: def _signature_symbol_needs_protection ( symbol , evaldict ) : if symbol is not None and symbol is not Parameter . empty and not isinstance ( symbol , ( int , str , float , bool ) ) : try : return eval ( repr ( symbol ) , evaldict ) != symbol except ( NameError , SyntaxError ) : return True else : return False
short_docstring: Helper method for signature symbols (defaults, type hints) protection.
short_docstring_tokens: Helper method for signature symbols ( defaults type hints ) protection .
comment: """
      Helper method for signature symbols (defaults, type hints) protection.
  
      Returns True if the given symbol needs to be protected - that is, if its repr() can not be correctly evaluated with current evaldict.
      :param symbol:
      :return:
      """$SEP$# check if the repr() of the default value is equal to itself.$SEP$# in case of error this needs protection