python2.6-compiler-package

Changeset

11:948ff107ee00
2012-07-14 Paul Boddie raw files shortlog changelog graph Added missing support for name and attribute deletion statements. default tip
compiler/ast.py (file)
     1.1 --- a/compiler/ast.py	Thu Jul 05 23:58:28 2012 +0200
     1.2 +++ b/compiler/ast.py	Sat Jul 14 19:32:22 2012 +0200
     1.3 @@ -138,7 +138,10 @@
     1.4          return "AssAttr(%r, %r, %r)" % (self.expr, self.attrname, self.flags)
     1.5  
     1.6      def __str__(self):
     1.7 -        return "%s.%s" % (self.expr, self.attrname) # NOTE: self.flags not used
     1.8 +        if self.flags == "OP_DELETE":
     1.9 +            return "del %s.%s" % (self.expr, self.attrname)
    1.10 +        else:
    1.11 +            return "%s.%s" % (self.expr, self.attrname)
    1.12  
    1.13      def visit(self, visitor, *args):
    1.14          return visitor.visitAssAttr(self, *args)
    1.15 @@ -181,7 +184,10 @@
    1.16          return "AssName(%r, %r)" % (self.name, self.flags)
    1.17  
    1.18      def __str__(self):
    1.19 -        return str(self.name) # NOTE: self.flags not used
    1.20 +        if self.flags == "OP_DELETE":
    1.21 +            return "del %s" % self.name
    1.22 +        else:
    1.23 +            return str(self.name)
    1.24  
    1.25      def visit(self, visitor, *args):
    1.26          return visitor.visitAssName(self, *args)