Author: Ronan Lamy <[email protected]>
Branch:
Changeset: r68949:d3c3dd8408fe
Date: 2014-01-26 03:52 +0000
http://bitbucket.org/pypy/pypy/changeset/d3c3dd8408fe/
Log: better error message when trying to unify a method with a function
diff --git a/rpython/annotator/model.py b/rpython/annotator/model.py
--- a/rpython/annotator/model.py
+++ b/rpython/annotator/model.py
@@ -460,15 +460,15 @@
def getKind(self):
"Return the common Desc class of all descriptions in this PBC."
- kinds = {}
+ kinds = set()
for x in self.descriptions:
assert type(x).__name__.endswith('Desc') # avoid import nightmares
- kinds[x.__class__] = True
- assert len(kinds) <= 1, (
- "mixing several kinds of PBCs: %r" % (kinds.keys(),))
+ kinds.add(x.__class__)
+ if len(kinds) > 1:
+ raise AnnotatorError("mixing several kinds of PBCs: %r" % kinds)
if not kinds:
raise ValueError("no 'kind' on the 'None' PBC")
- return kinds.keys()[0]
+ return kinds.pop()
def simplify(self):
if self.descriptions:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit