bb.data.setVar(self.func_name, '\n'.join(self.body), data)
class PythonMethodNode(AstNode):
- def __init__(self, root, body, fn):
+ def __init__(self, funcname, root, body, fn):
+ self.func_name = funcname
self.root = root
self.body = body
self.fn = fn
if not bb.methodpool.parsed_module(self.root):
text = '\n'.join(self.body)
bb.methodpool.insert_method(self.root, text, self.fn)
+ bb.data.setVarFlag(self.func_name, "func", 1, data)
+ bb.data.setVarFlag(self.func_name, "python", 1, data)
+ bb.data.setVar(self.func_name, text, data)
class MethodFlagsNode(AstNode):
def __init__(self, key, m):
def handleMethod(statements, func_name, lineno, fn, body):
statements.append(MethodNode(func_name, body, lineno, fn))
-def handlePythonMethod(statements, root, body, fn):
- statements.append(PythonMethodNode(root, body, fn))
+def handlePythonMethod(statements, funcname, root, body, fn):
+ statements.append(PythonMethodNode(funcname, root, body, fn))
def handleMethodFlags(statements, key, m):
statements.append(MethodFlagsNode(key, m))
__body__.append(s)
return
else:
- ast.handlePythonMethod(statements, root, __body__, fn)
+ ast.handlePythonMethod(statements, __inpython__, root, __body__, fn)
__body__ = []
__inpython__ = False
m = __def_regexp__.match(s)
if m:
__body__.append(s)
- __inpython__ = True
+ __inpython__ = m.group(1)
+
return
m = __export_func_regexp__.match(s)