class
Analyzer::Java::Quarkus
- Analyzer::Java::Quarkus
- Analyzer
- Reference
- Object
Overview
Quarkus is JAX-RS-flavoured, so this analyzer just drives the
shared TreeSitterJaxRsExtractor against files in project roots
that carry a Quarkus marker. Resource classes are often plain
Jakarta REST and do not import Quarkus directly. The extractor
already understands Quarkus's
@RestPath / @RestQuery / @RestHeader / @RestForm /
@RestCookie shorthand annotations alongside the standard
JAX-RS names, so no Quarkus-specific tree walking is needed.
Defined in:
analyzer/analyzers/java/quarkus.crConstant Summary
-
ANNOTATION_VALUE_PATTERNS =
{"Param" => /@Param\s*\(\s*(?:(?:value|name)\s*=\s*)?(["'][^"']+["'])\s*\)/m, "Header" => /@Header\s*\(\s*(?:(?:value|name)\s*=\s*)?(["'][^"']+["'])\s*\)/m} -
Crystal recompiles an interpolated regex literal on every evaluation (a full PCRE2 JIT compile). Only
@Param/@Headerare probed, so precompile their matchers once at load time. -
HTTP_METHOD_NAMES =
Set {"GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "TRACE"} -
JAVA_EXTENSION =
"java" -
QUARKUS_MARKERS =
["io.quarkus", "quarkus.io"]