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 = []
|