def init(self, parent, func, ast, func_signature, name=None, qualified_name=None, mangled_name=None, llvm_module=None, wrap=True, link=True, symtab=None, error_env=None, function_globals=None, locals=None, template_signature=None, cfg_transform=None, is_closure=False, closures=None, closure_scope=None, refcount_args=True, ast_metadata=None, warn=True, warnstyle='fancy', **kws): self.parent = parent self.numba = parent.numba self.func = func self.ast = ast self.func_signature = func_signature if name is None: if self.func: name = self.func.__name__ else: name = self.ast.name if self.func and self.func.__module__: qname = '.'.join([self.func.__module__, name]) else: qname = name if mangled_name is None: mangled_name = naming.specialized_mangle(qname, self.func_signature.args) self.func_name = name self.mangled_name = mangled_name self.qualified_name = qualified_name or name self.llvm_module = (llvm_module if llvm_module else self.numba.llvm_context.module) self.wrap = wrap self.link = link self.llvm_wrapper_func = None self.symtab = symtab if symtab is not None else {} self.error_env = error_env or FunctionErrorEnvironment( self.func, self.ast, warnstyle) if function_globals is not None: self.function_globals = function_globals else: self.function_globals = self.func.__globals__ self.locals = locals if locals is not None else {} self.template_signature = template_signature self.cfg_transform = cfg_transform self.is_closure = is_closure self.closures = closures if closures is not None else {} self.closure_scope = closure_scope self.refcount_args = refcount_args if ast_metadata is not None: self.ast_metadata = ast_metadata else: self.ast_metadata = metadata.create_metadata_env() self.warn = warn self.warnstyle = warnstyle self.kwargs = kws
def init(self, parent, func, ast, func_signature, name=None, qualified_name=None, mangled_name=None, llvm_module=None, wrap=True, link=True, symtab=None, error_env=None, function_globals=None, locals=None, template_signature=None, cfg_transform=None, is_closure=False, closures=None, closure_scope=None, refcount_args=True, ast_metadata=None, warn=True, warnstyle='fancy', typesystem=None, postpasses=None, **kws): self.parent = parent self.numba = parent.numba self.func = func self.ast = ast self.func_signature = func_signature if name is None: if self.func: name = self.func.__name__ else: name = self.ast.name if self.func and self.func.__module__: qname = '.'.join([self.func.__module__, name]) else: qname = name if mangled_name is None: mangled_name = naming.specialized_mangle(qname, self.func_signature.args) self.func_name = name self.mangled_name = mangled_name self.qualified_name = qualified_name or name self.llvm_module = (llvm_module if llvm_module else self.numba.llvm_context.module) self.wrap = wrap self.link = link self.llvm_wrapper_func = None self.symtab = symtab if symtab is not None else {} self.error_env = error_env or FunctionErrorEnvironment(self.func, self.ast, warnstyle) if function_globals is not None: self.function_globals = function_globals else: self.function_globals = self.func.__globals__ self.locals = locals if locals is not None else {} self.template_signature = template_signature self.cfg_transform = cfg_transform self.is_closure = is_closure self.closures = closures if closures is not None else {} self.closure_scope = closure_scope self.refcount_args = refcount_args self.typesystem = typesystem or numba_typesystem import numba.postpasses self.postpasses = postpasses or numba.postpasses.default_postpasses if ast_metadata is not None: self.ast_metadata = ast_metadata else: self.ast_metadata = metadata.create_metadata_env() self.warn = warn self.warnstyle = warnstyle self.kwargs = kws
def init(self, parent, func, ast, func_signature, name=None, qualified_name=None, mangled_name=None, llvm_module=None, wrap=True, link=True, symtab=None, error_env=None, function_globals=None, locals=None, template_signature=None, is_closure=False, closures=None, closure_scope=None, refcount_args=True, ast_metadata=None, warn=True, warnstyle='fancy', typesystem=None, array=None, postpasses=None, annotate=False, **kws): self.parent = parent self.numba = parent.numba self.func = func self.ast = ast self.func_signature = func_signature if name is None: if self.func: name = self.func.__name__ else: name = self.ast.name if self.func and self.func.__module__: qname = '.'.join([self.func.__module__, name]) else: qname = name if function_globals is not None: self.function_globals = function_globals else: self.function_globals = self.func.__globals__ if self.func: self.module_name = self.func.__module__ or '<unamed.module>' else: self.module_name = self.function_globals.get("__name__", "") if mangled_name is None: mangled_name = naming.specialized_mangle(qname, self.func_signature.args) self.func_name = name self.mangled_name = mangled_name self.qualified_name = qualified_name or name self.llvm_module = (llvm_module if llvm_module else self.numba.llvm_context.module) self._annotate = annotate self.wrap = wrap self.link = link self.llvm_wrapper_func = None self.symtab = symtab if symtab is not None else {} self.error_env = error_env or FunctionErrorEnvironment( self.func, self.ast, warnstyle) self.locals = locals if locals is not None else {} self.template_signature = template_signature self.is_closure = is_closure self.closures = closures if closures is not None else {} self.closure_scope = closure_scope self.kill_attribute_assignments = set() self.refcount_args = refcount_args self.typesystem = typesystem or numba_typesystem if array: self.array = array # assert issubclass(array, NumpyArray) import numba.postpasses self.postpasses = postpasses or numba.postpasses.default_postpasses if ast_metadata is not None: self.ast_metadata = ast_metadata else: self.ast_metadata = metadata.create_metadata_env() self.annotations = collections.defaultdict(list) self.intermediates = [] self.warn = warn self.warnstyle = warnstyle self.kwargs = kws
def init(self, parent, func, ast, func_signature, name=None, qualified_name=None, mangled_name=None, llvm_module=None, wrap=True, link=True, symtab=None, error_env=None, function_globals=None, locals=None, template_signature=None, is_closure=False, closures=None, closure_scope=None, refcount_args=True, ast_metadata=None, warn=True, warnstyle='fancy', typesystem=None, array=None, postpasses=None, annotate=False, **kws): self.parent = parent self.numba = parent.numba self.func = func self.ast = ast self.func_signature = func_signature if name is None: if self.func: name = self.func.__name__ else: name = self.ast.name if self.func and self.func.__module__: qname = '.'.join([self.func.__module__, name]) else: qname = name if function_globals is not None: self.function_globals = function_globals else: self.function_globals = self.func.__globals__ if self.func: self.module_name = self.func.__module__ or '<unamed.module>' else: self.module_name = self.function_globals.get("__name__", "") if mangled_name is None: mangled_name = naming.specialized_mangle(qname, self.func_signature.args) self.func_name = name self.mangled_name = mangled_name self.qualified_name = qualified_name or name self.llvm_module = (llvm_module if llvm_module else self.numba.llvm_context.module) self._annotate = annotate self.wrap = wrap self.link = link self.llvm_wrapper_func = None self.symtab = symtab if symtab is not None else {} self.error_env = error_env or FunctionErrorEnvironment(self.func, self.ast, warnstyle) self.locals = locals if locals is not None else {} self.template_signature = template_signature self.is_closure = is_closure self.closures = closures if closures is not None else {} self.closure_scope = closure_scope self.kill_attribute_assignments = set() self.refcount_args = refcount_args self.typesystem = typesystem or numba_typesystem if array: self.array = array # assert issubclass(array, NumpyArray) import numba.postpasses self.postpasses = postpasses or numba.postpasses.default_postpasses if ast_metadata is not None: self.ast_metadata = ast_metadata else: self.ast_metadata = metadata.create_metadata_env() self.annotations = collections.defaultdict(list) self.intermediates = [] self.warn = warn self.warnstyle = warnstyle self.kwargs = kws