本文整理匯總了Python中mypy.nodes.OverloadedFuncDef類的典型用法代碼示例。如果您正苦於以下問題:Python OverloadedFuncDef類的具體用法?Python OverloadedFuncDef怎麽用?Python OverloadedFuncDef使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了OverloadedFuncDef類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: visit_overloaded_func_def
def visit_overloaded_func_def(self, func: OverloadedFuncDef) -> None:
if self.sem.type is not None:
# Don't process methods during pass 1.
return
kind = self.kind_by_scope()
if kind == GDEF:
self.sem.check_no_global(func.name(), func, True)
func._fullname = self.sem.qualified_name(func.name())
if kind == GDEF:
self.sem.globals[func.name()] = SymbolTableNode(kind, func)
if func.impl:
impl = func.impl
# Also analyze the function body (in case there are conditional imports).
sem = self.sem
if isinstance(impl, FuncDef):
sem.function_stack.append(impl)
sem.scope.enter_function(func)
sem.enter()
impl.body.accept(self)
elif isinstance(impl, Decorator):
sem.function_stack.append(impl.func)
sem.scope.enter_function(func)
sem.enter()
impl.func.body.accept(self)
else:
assert False, "Implementation of an overload needs to be FuncDef or Decorator"
sem.leave()
sem.scope.leave()
sem.function_stack.pop()
示例2: visit_overloaded_func_def
def visit_overloaded_func_def(self, node: OverloadedFuncDef) -> None:
if not self.recurse_into_functions:
return
# Revert change made during semantic analysis pass 2.
node.items = node.unanalyzed_items.copy()
node.is_final = False
super().visit_overloaded_func_def(node)
示例3: visit_overloaded_func_def
def visit_overloaded_func_def(self, node: OverloadedFuncDef) -> Node:
items = [self.visit_decorator(decorator) for decorator in node.items]
for newitem, olditem in zip(items, node.items):
newitem.line = olditem.line
new = OverloadedFuncDef(items)
new._fullname = node._fullname
new.type = self.type(node.type)
new.info = node.info
return new
示例4: visit_overloaded_func_def
def visit_overloaded_func_def(self, o: OverloadedFuncDef) -> None:
if self.current_info is not None:
o.info = self.current_info
if o.type:
o.type.accept(self.type_fixer)
for item in o.items:
item.accept(self)
示例5: visit_overloaded_func_def
def visit_overloaded_func_def(self, node: OverloadedFuncDef) -> OverloadedFuncDef:
items = [cast(OverloadPart, item.accept(self)) for item in node.items]
for newitem, olditem in zip(items, node.items):
newitem.line = olditem.line
new = OverloadedFuncDef(items)
new._fullname = node._fullname
new.type = self.optional_type(node.type)
new.info = node.info
new.is_static = node.is_static
new.is_class = node.is_class
new.is_property = node.is_property
new.is_final = node.is_final
if node.impl:
new.impl = cast(OverloadPart, node.impl.accept(self))
return new