1 from keyword import iskeyword as is_python_keyword
4 from jinja2.visitor import NodeVisitor
9 unoptimize_before_dead_code: bool
11 def generate(node, environment, name, filename, stream: Any | None = ..., defer_init: bool = ...): ...
12 def has_safe_repr(value): ...
13 def find_undeclared(nodes, names): ...
20 declared_parameter: Any
21 def __init__(self) -> None: ...
22 def add_special(self, name): ...
23 def is_declared(self, name): ...
31 require_output_check: Any
36 def __init__(self, eval_ctx, parent: Any | None = ...) -> None: ...
38 def inspect(self, nodes): ...
39 def find_shadowed(self, extra: Any = ...): ...
44 class VisitorExit(RuntimeError): ...
46 class DependencyFinderVisitor(NodeVisitor):
49 def __init__(self) -> None: ...
50 def visit_Filter(self, node): ...
51 def visit_Test(self, node): ...
52 def visit_Block(self, node): ...
54 class UndeclaredNameVisitor(NodeVisitor):
57 def __init__(self, names) -> None: ...
58 def visit_Name(self, node): ...
59 def visit_Block(self, node): ...
61 class FrameIdentifierVisitor(NodeVisitor):
63 def __init__(self, identifiers) -> None: ...
64 def visit_Name(self, node): ...
65 def visit_If(self, node): ...
66 def visit_Macro(self, node): ...
67 def visit_Import(self, node): ...
68 def visit_FromImport(self, node): ...
69 def visit_Assign(self, node): ...
70 def visit_For(self, node): ...
71 def visit_CallBlock(self, node): ...
72 def visit_FilterBlock(self, node): ...
73 def visit_AssignBlock(self, node): ...
74 def visit_Scope(self, node): ...
75 def visit_Block(self, node): ...
77 class CompilerExit(Exception): ...
79 class CodeGenerator(NodeVisitor):
84 created_block_context: bool
89 has_known_extends: bool
94 def __init__(self, environment, name, filename, stream: Any | None = ..., defer_init: bool = ...) -> None: ...
95 def fail(self, msg, lineno): ...
96 def temporary_identifier(self): ...
97 def buffer(self, frame): ...
98 def return_buffer_contents(self, frame): ...
100 def outdent(self, step: int = ...): ...
101 def start_write(self, frame, node: Any | None = ...): ...
102 def end_write(self, frame): ...
103 def simple_write(self, s, frame, node: Any | None = ...): ...
104 def blockvisit(self, nodes, frame): ...
105 def write(self, x): ...
106 def writeline(self, x, node: Any | None = ..., extra: int = ...): ...
107 def newline(self, node: Any | None = ..., extra: int = ...): ...
108 def signature(self, node, frame, extra_kwargs: Any | None = ...): ...
109 def pull_locals(self, frame): ...
110 def pull_dependencies(self, nodes): ...
111 def unoptimize_scope(self, frame): ...
112 def push_scope(self, frame, extra_vars: Any = ...): ...
113 def pop_scope(self, aliases, frame): ...
114 def function_scoping(self, node, frame, children: Any | None = ..., find_special: bool = ...): ...
115 def macro_body(self, node, frame, children: Any | None = ...): ...
116 def macro_def(self, node, frame): ...
117 def position(self, node): ...
118 def visit_Template(self, node, frame: Any | None = ...): ...
119 def visit_Block(self, node, frame): ...
120 def visit_Extends(self, node, frame): ...
121 def visit_Include(self, node, frame): ...
122 def visit_Import(self, node, frame): ...
123 def visit_FromImport(self, node, frame): ...
124 def visit_For(self, node, frame): ...
125 def visit_If(self, node, frame): ...
126 def visit_Macro(self, node, frame): ...
127 def visit_CallBlock(self, node, frame): ...
128 def visit_FilterBlock(self, node, frame): ...
129 def visit_ExprStmt(self, node, frame): ...
130 def visit_Output(self, node, frame): ...
131 def make_assignment_frame(self, frame): ...
132 def export_assigned_vars(self, frame, assignment_frame): ...
133 def visit_Assign(self, node, frame): ...
134 def visit_AssignBlock(self, node, frame): ...
135 def visit_Name(self, node, frame): ...
136 def visit_Const(self, node, frame): ...
137 def visit_TemplateData(self, node, frame): ...
138 def visit_Tuple(self, node, frame): ...
139 def visit_List(self, node, frame): ...
140 def visit_Dict(self, node, frame): ...
141 def binop(self, interceptable: bool = ...): ...
142 def uaop(self, interceptable: bool = ...): ...
155 def visit_Concat(self, node, frame): ...
156 def visit_Compare(self, node, frame): ...
157 def visit_Operand(self, node, frame): ...
158 def visit_Getattr(self, node, frame): ...
159 def visit_Getitem(self, node, frame): ...
160 def visit_Slice(self, node, frame): ...
161 def visit_Filter(self, node, frame): ...
162 def visit_Test(self, node, frame): ...
163 def visit_CondExpr(self, node, frame): ...
164 def visit_Call(self, node, frame, forward_caller: bool = ...): ...
165 def visit_Keyword(self, node, frame): ...
166 def visit_MarkSafe(self, node, frame): ...
167 def visit_MarkSafeIfAutoescape(self, node, frame): ...
168 def visit_EnvironmentAttribute(self, node, frame): ...
169 def visit_ExtensionAttribute(self, node, frame): ...
170 def visit_ImportedName(self, node, frame): ...
171 def visit_InternalName(self, node, frame): ...
172 def visit_ContextReference(self, node, frame): ...
173 def visit_Continue(self, node, frame): ...
174 def visit_Break(self, node, frame): ...
175 def visit_Scope(self, node, frame): ...
176 def visit_EvalContextModifier(self, node, frame): ...
177 def visit_ScopedEvalContextModifier(self, node, frame): ...