--- /dev/null
+from typing import Any, Optional\r
+\r
+class Impossible(Exception): ...\r
+\r
+class NodeType(type):\r
+ def __new__(cls, name, bases, d): ...\r
+\r
+class EvalContext:\r
+ environment = ... # type: Any\r
+ autoescape = ... # type: Any\r
+ volatile = ... # type: bool\r
+ def __init__(self, environment, template_name: Optional[Any] = ...) -> None: ...\r
+ def save(self): ...\r
+ def revert(self, old): ...\r
+\r
+def get_eval_context(node, ctx): ...\r
+\r
+class Node:\r
+ fields = ... # type: Any\r
+ attributes = ... # type: Any\r
+ abstract = ... # type: bool\r
+ def __init__(self, *fields, **attributes) -> None: ...\r
+ def iter_fields(self, exclude: Optional[Any] = ..., only: Optional[Any] = ...): ...\r
+ def iter_child_nodes(self, exclude: Optional[Any] = ..., only: Optional[Any] = ...): ...\r
+ def find(self, node_type): ...\r
+ def find_all(self, node_type): ...\r
+ def set_ctx(self, ctx): ...\r
+ def set_lineno(self, lineno, override: bool = ...): ...\r
+ def set_environment(self, environment): ...\r
+ def __eq__(self, other): ...\r
+ def __ne__(self, other): ...\r
+ __hash__ = ... # type: Any\r
+\r
+class Stmt(Node):\r
+ abstract = ... # type: bool\r
+\r
+class Helper(Node):\r
+ abstract = ... # type: bool\r
+\r
+class Template(Node):\r
+ fields = ... # type: Any\r
+\r
+class Output(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Extends(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class For(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class If(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Macro(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class CallBlock(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class FilterBlock(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Block(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Include(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Import(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class FromImport(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class ExprStmt(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Assign(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class AssignBlock(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class Expr(Node):\r
+ abstract = ... # type: bool\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+ def can_assign(self): ...\r
+\r
+class BinExpr(Expr):\r
+ fields = ... # type: Any\r
+ operator = ... # type: Any\r
+ abstract = ... # type: bool\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class UnaryExpr(Expr):\r
+ fields = ... # type: Any\r
+ operator = ... # type: Any\r
+ abstract = ... # type: bool\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Name(Expr):\r
+ fields = ... # type: Any\r
+ def can_assign(self): ...\r
+\r
+class Literal(Expr):\r
+ abstract = ... # type: bool\r
+\r
+class Const(Literal):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+ @classmethod\r
+ def from_untrusted(cls, value, lineno: Optional[Any] = ..., environment: Optional[Any] = ...): ...\r
+\r
+class TemplateData(Literal):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Tuple(Literal):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+ def can_assign(self): ...\r
+\r
+class List(Literal):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Dict(Literal):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Pair(Helper):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Keyword(Helper):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class CondExpr(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Filter(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Test(Expr):\r
+ fields = ... # type: Any\r
+\r
+class Call(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Getitem(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+ def can_assign(self): ...\r
+\r
+class Getattr(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+ def can_assign(self): ...\r
+\r
+class Slice(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Concat(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Compare(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Operand(Helper):\r
+ fields = ... # type: Any\r
+\r
+class Mul(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class Div(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class FloorDiv(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class Add(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class Sub(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class Mod(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class Pow(BinExpr):\r
+ operator = ... # type: str\r
+\r
+class And(BinExpr):\r
+ operator = ... # type: str\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Or(BinExpr):\r
+ operator = ... # type: str\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class Not(UnaryExpr):\r
+ operator = ... # type: str\r
+\r
+class Neg(UnaryExpr):\r
+ operator = ... # type: str\r
+\r
+class Pos(UnaryExpr):\r
+ operator = ... # type: str\r
+\r
+class EnvironmentAttribute(Expr):\r
+ fields = ... # type: Any\r
+\r
+class ExtensionAttribute(Expr):\r
+ fields = ... # type: Any\r
+\r
+class ImportedName(Expr):\r
+ fields = ... # type: Any\r
+\r
+class InternalName(Expr):\r
+ fields = ... # type: Any\r
+ def __init__(self) -> None: ...\r
+\r
+class MarkSafe(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class MarkSafeIfAutoescape(Expr):\r
+ fields = ... # type: Any\r
+ def as_const(self, eval_ctx: Optional[Any] = ...): ...\r
+\r
+class ContextReference(Expr): ...\r
+class Continue(Stmt): ...\r
+class Break(Stmt): ...\r
+\r
+class Scope(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class EvalContextModifier(Stmt):\r
+ fields = ... # type: Any\r
+\r
+class ScopedEvalContextModifier(EvalContextModifier):\r
+ fields = ... # type: Any\r