Esempio n. 1
0
    def __init__(self, error_msg, ctx, clazz, attr_name):
        # Format the context call stack, so it will be clearer.
        context_call_stack = "\n".join([
            "    {0}".format(line)
            for line in ctx.format_exception_call_stack()
        ])

        # Format a list of all resolved references, remove identity ones (e.g. 1=1, etc.) and show only uniques
        resolved_reference_pairs = [
            (safe_repr(key), repr(value))
            for key, value in six.iteritems(ctx.cached_results)
        ]
        resolved_reference_str_list = sorted([
            "    {0}={1}".format(a, b) for a, b in resolved_reference_pairs
            if a != b
        ])
        resolved_references = "\n".join(
            s for s, _ in itertools.groupby(resolved_reference_str_list))
        msg = type(self).MESSAGE.format(
            error_msg=error_msg,
            attr_name=attr_name,
            clazz=clazz,
            context_call_stack=context_call_stack,
            resolved_references=resolved_references)
        super(InstructBufferError, self).__init__(msg)

        self.clazz = clazz
        self.attr_name = attr_name
Esempio n. 2
0
 def _func_repr(self):
     # Small hacks to make repr look better:
     if isinstance(self.func_ref, ObjectReference) \
             and isinstance(self.func_ref.obj, (types.FunctionType, types.MethodType)):
         func_ref_repr = self.func_ref.obj.func_name
     else:
         func_ref_repr = safe_repr(self.func_ref)
     return "{0}({1}))".format(func_ref_repr, self._args_and_kwargs_repr())
Esempio n. 3
0
    def __init__(self, error_msg, ctx, clazz, attr_name):
        # Format the context call stack, so it will be clearer.
        context_call_stack = "\n".join(["    {0}".format(line) for line in ctx.format_exception_call_stack()])

        # Format a list of all resolved references, remove identity ones (e.g. 1=1, etc.) and show only uniques
        resolved_reference_pairs = [(safe_repr(key), repr(value)) for key, value in ctx.cached_results.iteritems()]
        resolved_reference_str_list = sorted(["    {0}={1}".format(a, b) for a, b in resolved_reference_pairs
                                              if a != b])
        resolved_references = "\n".join(s for s, _ in itertools.groupby(resolved_reference_str_list))
        msg = type(self).MESSAGE.format(error_msg=error_msg, attr_name=attr_name, clazz=clazz,
                                        context_call_stack=context_call_stack, resolved_references=resolved_references)
        super(InstructBufferError, self).__init__(msg)

        self.clazz = clazz
        self.attr_name = attr_name
 def _args_repr(self):
     return ", ".join(["buffer", "position"] +
                      [safe_repr(arg) for arg in self.arg_refs[2:]])
Esempio n. 5
0
 def __safe_repr__(self):
     return safe_repr(self.ref)
Esempio n. 6
0
 def __safe_repr__(self):
     return "[{0}:{1}]".format(safe_repr(self.start), safe_repr(self.stop))
Esempio n. 7
0
 def __safe_repr__(self):
     return "[{0}]".format(", ".join(safe_repr(o for o in self.list)))
Esempio n. 8
0
 def __safe_repr__(self):
     return "{0}.bits[{1}:{2}]".format(safe_repr(self.parent_range_ref),
                                       safe_repr(self.start),
                                       safe_repr(self.stop))
Esempio n. 9
0
 def __safe_repr__(self):
     return "{0}.bits[{1}]".format(safe_repr(self.parent_range_ref),
                                   safe_repr(self.ref))
 def _args_repr(self):
     return ", ".join(["buffer", "position"] + [safe_repr(arg) for arg in self.arg_refs[2:]])
Esempio n. 11
0
 def __safe_repr__(self):
     return safe_repr(self.ref)
Esempio n. 12
0
 def _args_repr(self):
     return ", ".join(safe_repr(arg) for arg in self.arg_refs)
Esempio n. 13
0
 def __safe_repr__(self):
     return "[{0}:{1}]".format(safe_repr(self.start), safe_repr(self.stop))
Esempio n. 14
0
 def __safe_repr__(self):
     return "[{0}]".format(", ".join(safe_repr(o for o in self.list)))
Esempio n. 15
0
 def __safe_repr__(self):
     return "{0}.bits[{1}:{2}]".format(safe_repr(self.parent_range_ref), safe_repr(self.start), safe_repr(self.stop))
Esempio n. 16
0
 def __safe_repr__(self):
     return "{0}.bits[{1}]".format(safe_repr(self.parent_range_ref), safe_repr(self.ref))
Esempio n. 17
0
 def _kwargs_repr(self):
     return ", ".join("{0}={1}".format(k, safe_repr(v_ref)) for k, v_ref in self.kwarg_refs.items())