コード例 #1
0
    def visit_Lambda(self, n: ast3.Lambda) -> FuncExpr:
        body = ast3.Return(n.body)
        body.lineno = n.lineno
        body.col_offset = n.col_offset

        return FuncExpr(self.transform_args(n.args, n.lineno),
                        self.as_block([body], n.lineno))
コード例 #2
0
 def visit_func_expr(self, node: FuncExpr) -> Node:
     new = FuncExpr([self.visit_var(var) for var in node.args],
                    node.arg_kinds[:], [None] * len(node.init),
                    self.block(node.body),
                    cast(FunctionLike, self.optional_type(node.type)))
     self.copy_function_attributes(new, node)
     return new
コード例 #3
0
ファイル: evaltree.py プロジェクト: qaphla/mypy
def evaluate_condition(condition_expr: FuncExpr,
                       condition_args: Dict[str, LiteralType],
                       messages: Optional[MessageBuilder]
                       ) -> bool:
    condition_body = condition_expr.expr()
    evaluator = Evaluator(condition_args)
    result = condition_body.accept(evaluator)

    assert isinstance(result, IntExpr)
    return bool(result.value)
コード例 #4
0
ファイル: fastparse2.py プロジェクト: wlmgithub/mypy
    def visit_Lambda(self, n: ast27.Lambda) -> FuncExpr:
        args, decompose_stmts = self.transform_args(n.args, n.lineno)

        n_body = ast27.Return(n.body)
        n_body.lineno = n.lineno
        n_body.col_offset = n.col_offset
        body = self.as_block([n_body], n.lineno)
        if decompose_stmts:
            body.body = decompose_stmts + body.body

        return FuncExpr(args, body)
コード例 #5
0
ファイル: fastparse.py プロジェクト: tony/mypy
    def visit_Lambda(self, n: ast35.Lambda) -> Node:
        body = ast35.Return(n.body)
        body.lineno = n.lineno

        return FuncExpr(self.transform_args(n.args, n.lineno),
                        self.as_block([body], n.lineno))
コード例 #6
0
ファイル: evaltree.py プロジェクト: qaphla/mypy
 def visit_func_expr(self, expr: FuncExpr) -> Expression:
     body = expr.expr()
     return body.accept(self)
コード例 #7
0
ファイル: treetransform.py プロジェクト: tony/mypy
 def visit_func_expr(self, node: FuncExpr) -> Node:
     new = FuncExpr([self.copy_argument(arg) for arg in node.arguments],
                    self.block(node.body),
                    cast(FunctionLike, self.optional_type(node.type)))
     self.copy_function_attributes(new, node)
     return new
コード例 #8
0
ファイル: fastparse.py プロジェクト: truepositiontruefix/mypy
    def visit_Lambda(self, n):
        body = typed_ast.Return(n.body)
        body.lineno = n.lineno

        return FuncExpr(self.transform_args(n.args, n.lineno),
                        self.as_block([body], n.lineno))