Flush out support for `class B(): pass` syntax by adding support to the

'parser' module and 'compiler' package.

Closes patch #1176012.  Thanks logistix.
This commit is contained in:
Brett Cannon 2005-04-09 02:30:16 +00:00
parent 4ebc7e3bd0
commit f4189916e3
5 changed files with 27 additions and 8 deletions

View file

@ -280,12 +280,14 @@ class Transformer:
return Lambda(names, defaults, flags, code, lineno=nodelist[1][2])
def classdef(self, nodelist):
# classdef: 'class' NAME ['(' testlist ')'] ':' suite
# classdef: 'class' NAME ['(' [testlist] ')'] ':' suite
name = nodelist[1][1]
doc = self.get_docstring(nodelist[-1])
if nodelist[2][0] == token.COLON:
bases = []
elif nodelist[3][0] == token.RPAR:
bases = []
else:
bases = self.com_bases(nodelist[3])