Analyzer::Python::Bottle
Inherits Analyzer::Python::PythonEngine < Analyzer < FileHelper < Reference < Object
Constants
Per-line matchers, hoisted so they compile once: an interpolated
regex literal recompiles (PCRE2 JIT) on every evaluation, and the
bare-decorator patterns ran per decorator name on every source
line. The .to_s expansion is byte-identical to the previous
inline form, so matching behaviour is unchanged.
Tuple shape: {deco_name, "@deco" guard, bare_re, original_line_re, keyword_path_re}
extract_request_params runs once per route and used to rebuild
three PCRE2 patterns per accessor on every call. The accessor set
is fixed, so precompile the access patterns once here.
Tuple shape: {noir_param_type, get_re, bracket_re, attribute_re}
Bottle attributes whose parameter type is independent of HTTP method.
Maps the Python accessor name on request.<name> to the noir param_type.
Attribute names on accessor objects that are not user parameters.
Class methods
Instance methods
Instance-side view of the same declaration. The per-file rescues live on
this base class, which has no way to name the analyzer that is running
inside them, so a skipped file could not be attributed to a tech.
Deriving it from analyzer_for keeps the name written exactly once.