Analyzer::Java::Spring
Inherits Analyzer < FileHelper < Reference < Object
Constants
The OR of every marker the annotation branch keys off. A file that misses this cannot set any of the individual flags, so the per-flag scans only run for the handful of files that get past it.
collect_interface_route_index gates.
Rules::JAVA minus the single-quote quote style, and dropping EVERY
empty part rather than only a trailing one — the old body ended in
.map(&.strip).reject(&.empty?), so "a" + + "b" yielded two terms, not
three. Both matter to the caller, which concatenates the terms it gets
back into a route path. File-local because spring is the only splitter
with this combination.
build_spring_indexes gate: neither index can want a file that
mentions neither marker.
Every content.includes?(...) below used to be its own Rabin-Karp
pass over the whole file. This analyzer asks ~30 such questions per
.java file across three walks, and on a monorepo the overwhelming
majority of files answer "no" to all of them. One precompiled
Regex.union (PCRE2 JIT, via content_matches?) is the same
predicate in a single pass — see the note on Analyzer#content_matches?.
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.