parameters: (self, type_, name, val, val_text)
docstring: :param type_: constant type, ``str``
          :param name: constant name, ``str``
          :param val: constant value, ``str``
          :param val_text: Original text definition of *val*, ``str``
docstring_summary: :param type_: constant type, ``str``
          :param name: constant name, ``str``
          :param val: constant value, ``str``
          :param val_text: Original text definition of *val*, ``str``
docstring_tokens: : param type_ : constant type str : param name : constant name str : param val : constant value str : param val_text : Original text definition of * val * str
function: def __init__(self, type_, name, val, val_text):
          """
          :param type_: constant type, ``str``
          :param name: constant name, ``str``
          :param val: constant value, ``str``
          :param val_text: Original text definition of *val*, ``str``
          """
          if type is None or name is None or val is None or val_text is None:
              raise ValueError('Constant must have non-None parameters')
          self.type = type_
          self.name = name.strip() #names are always stripped of whitespace
          self.val = val
          self.val_text = val_text
function_tokens: def __init__ ( self , type_ , name , val , val_text ) : if type is None or name is None or val is None or val_text is None : raise ValueError ( 'Constant must have non-None parameters' ) self . type = type_ self . name = name . strip ( ) #names are always stripped of whitespace self . val = val self . val_text = val_text