summaryrefslogtreecommitdiff
path: root/astroid/context.py
diff options
context:
space:
mode:
authorCeridwen <ceridwenv@gmail.com>2015-09-13 16:21:48 -0400
committerCeridwen <ceridwenv@gmail.com>2015-09-13 16:21:48 -0400
commit052c63b2ea0a53d0486056c72eb2bca0d64a8ea5 (patch)
tree00baae9bf46fa21930ad74e75042f5b514904bd1 /astroid/context.py
parent3db6aee99be618bad1ff37edca52f34df27f7397 (diff)
downloadastroid-052c63b2ea0a53d0486056c72eb2bca0d64a8ea5.tar.gz
Final draft of improved state printing
Diffstat (limited to 'astroid/context.py')
-rw-r--r--astroid/context.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/astroid/context.py b/astroid/context.py
index 5a2ea52..3abea87 100644
--- a/astroid/context.py
+++ b/astroid/context.py
@@ -19,6 +19,7 @@
"""Various context related utilities, including inference and call contexts."""
import contextlib
import itertools
+import pprint
from astroid import exceptions
from astroid import util
@@ -64,6 +65,16 @@ class InferenceContext(object):
yield
self.path = path
+ def __str__(self):
+ return '%s(%s)' % (type(self).__name__, ',\n '.join(
+ ('%s=%s' % (a, pprint.pformat(getattr(self, a), width=80-len(a)))
+ for a in self.__slots__)))
+
+ def __repr__(self):
+ return '%s(%s)' % (type(self).__name__, ', '.join(
+ ('%s=%s' % (a, repr(getattr(self, a)))
+ for a in self.__slots__)))
+
class CallContext(object):