Ejemplo n.º 1
0
 def __init__(self, source, filename="", baseexpr=None):
     if hasattr(self, '_compiled'):
         return
     self._source = source
     self._baseexpr = baseexpr or getattr(self.__class__, '_baseexpr', None) or self.__class__
     self._filename = filename
     if not isinstance(source, ast.Node):
         RExpression.__init__(self, source, filename)
         source = self._get_tree()
     else:
         if not (isinstance(source, ast.Expression)):
             source = ast.Expression(source)
         source.filename = filename
         walk(source, InlineFuncsVisitor(self._filename, self._baseexpr))
     gen = self.CodeGeneratorClass(source)
     self._compiled = gen.getCode()
Ejemplo n.º 2
0
 def _get_tree(self):
     tree = RExpression._get_tree(self)
     walk(tree, InlineFuncsVisitor(self.filename, self._baseexpr))
     return tree