# HG changeset patch # User Paul Boddie # Date 1202677523 -3600 # Node ID 146aca040daeb47b354cb24ab5c4545f0a325260 # Parent f20efed959271fca77b4aff71f5699add1987377 Tidied exception messages. Added a test of local vs. global name conflicts. diff -r f20efed95927 -r 146aca040dae micropython/inspect.py --- a/micropython/inspect.py Sun Feb 10 21:20:38 2008 +0100 +++ b/micropython/inspect.py Sun Feb 10 22:05:23 2008 +0100 @@ -161,7 +161,7 @@ if not self.namespace.has_key(name): self.globals.add(name) else: - raise InspectError(self.full_name(), self.node, "Name %r is global and local in %r" % (name, self)) + raise InspectError(self.full_name(), self.node, "Name %r is global and local in %r" % (name, self.full_name())) def get_assignments(self, name): if self.assignments.has_key(name): @@ -420,7 +420,7 @@ if name not in self.argnames and not self.has_key(name): self.globals.add(name) else: - raise InspectError(self.full_name(), self.node, "Name %r is global and local in %r" % (name, self)) + raise InspectError(self.full_name(), self.node, "Name %r is global and local in %r" % (name, self.full_name())) def parameters(self): @@ -689,12 +689,12 @@ if isinstance(expr, Attr): if expr.assignments != 1: raise InspectError(self.full_name(), node, - "Base class %r for %r in %r is not constant." % (base, cls, self)) + "Base class %r for %r is not constant." % (base, cls.full_name())) else: cls.add_base(expr.value) else: # if expr is None: raise InspectError(self.full_name(), node, - "Base class %r for %r in %r is not found: it may be hidden in some way." % (base, cls, self)) + "Base class %r for %r is not found: it may be hidden in some way." % (base, cls.full_name())) # Make a back reference from the node for code generation. diff -r f20efed95927 -r 146aca040dae tests/ambiguous_names.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/ambiguous_names.py Sun Feb 10 22:05:23 2008 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/env python + +def g(x): + b = 3 + global b + b = 4 + +# vim: tabstop=4 expandtab shiftwidth=4