def METHOD_NAME(self, string):
    """eval(string) -> value
    Evaluates a string in the context of values of this module.
    Example:
        >>> with context.local(arch = 'i386', os = 'linux'):
        ...    print(13 == constants.eval('SYS_execve + PROT_WRITE'))
        True
        >>> with context.local(arch = 'amd64', os = 'linux'):
        ...    print(61 == constants.eval('SYS_execve + PROT_WRITE'))
        True
        >>> with context.local(arch = 'amd64', os = 'linux'):
        ...    print(61 == constants.eval('SYS_execve + PROT_WRITE'))
        True
    """
    if not isinstance(string, str):
        return string
    simple = getattr(self, string, None)
    if simple is not None:
        return simple
    key = context.os, context.arch
    if key not in self._env_store:
        self._env_store[key] = {key: getattr(self, key) for key in dir(self) if not key.endswith('__')}
    val = safeeval.values(string, self._env_store[key])
    # if the expression is not assembly-safe, it is not so vital to preserve it
    if set(string) & (set(bytearray(range(32)).decode()) | set('"#$\',.;@[\\]`{}')):
        string = val
    return Constant('(%s)' % string, val)