From: Finn B. <bc...@us...> - 2001-12-07 12:58:23
|
Update of /cvsroot/jython/jython/Tools/jythonc In directory usw-pr-cvs1:/tmp/cvs-serv13501 Modified Files: ObjectFactory.py SimpleCompiler.py Log Message: Pass the classname into the SimpleCompiler instance that is parsing class level and method level code. Index: ObjectFactory.py =================================================================== RCS file: /cvsroot/jython/jython/Tools/jythonc/ObjectFactory.py,v retrieving revision 2.12 retrieving revision 2.13 diff -C2 -d -r2.12 -r2.13 *** ObjectFactory.py 2001/11/26 15:21:08 2.12 --- ObjectFactory.py 2001/12/07 12:58:17 2.13 *************** *** 105,114 **** return Object(code, Generic) ! def getCompiler(self, parent_compiler, frameCtr, scope): return SimpleCompiler.SimpleCompiler(self.parent.module, self, parent = parent_compiler, frameCtr = frameCtr, scope = scope, ! options = self.parent.options) --- 105,115 ---- return Object(code, Generic) ! def getCompiler(self, parent_compiler, frameCtr, scope, className): return SimpleCompiler.SimpleCompiler(self.parent.module, self, parent = parent_compiler, frameCtr = frameCtr, scope = scope, ! options = self.parent.options, ! className = className) *************** *** 151,155 **** ac = self.scope.ac # Parse the body ! comp = self.factory.getCompiler(self.def_compiler,SimpleCompiler.FunctionFrame,self.scope) for argname in ac.names: comp.frame.setname(argname, self.factory.makePyObject(None)) --- 152,156 ---- ac = self.scope.ac # Parse the body ! comp = self.factory.getCompiler(self.def_compiler,SimpleCompiler.FunctionFrame,self.scope, self.def_compiler.className) for argname in ac.names: comp.frame.setname(argname, self.factory.makePyObject(None)) *************** *** 266,270 **** def makeCode(self): comp = self.factory.getCompiler(self.def_compiler, ! SimpleCompiler.ClassFrame, self.scope) code = jast.Block([comp.parse(self.body), jast.Return(jast.Invoke(comp.frame.frame, --- 267,272 ---- def makeCode(self): comp = self.factory.getCompiler(self.def_compiler, ! SimpleCompiler.ClassFrame, self.scope, ! self.name) code = jast.Block([comp.parse(self.body), jast.Return(jast.Invoke(comp.frame.frame, Index: SimpleCompiler.py =================================================================== RCS file: /cvsroot/jython/jython/Tools/jythonc/SimpleCompiler.py,v retrieving revision 2.17 retrieving revision 2.18 diff -C2 -d -r2.17 -r2.18 *** SimpleCompiler.py 2001/11/26 15:21:08 2.17 --- SimpleCompiler.py 2001/12/07 12:58:17 2.18 *************** *** 236,240 **** class SimpleCompiler(BaseEvaluator, CompilationContext): def __init__(self, module, factory, parent=None, frameCtr=None, scope=None, ! options=None): BaseEvaluator.__init__(self) --- 236,240 ---- class SimpleCompiler(BaseEvaluator, CompilationContext): def __init__(self, module, factory, parent=None, frameCtr=None, scope=None, ! options=None, className=None): BaseEvaluator.__init__(self) *************** *** 253,256 **** --- 253,257 ---- self.factory = factory self.options = options + self.className = className self.listComprehensionStack = [] |