class
Analyzer::Specification::TypeSpec::Walker
- Analyzer::Specification::TypeSpec::Walker
- Reference
- Object
Defined in:
analyzer/analyzers/specification/typespec.crConstant Summary
-
HTTP_VERB_DECORATORS =
{"get", "post", "put", "patch", "delete", "head", "options"} -
SPLIT_TOP_LEVEL_RULES =
Noir::TopLevelSplit::Rules.new(nest: ((Noir::TopLevelSplit::Nest::Paren | Noir::TopLevelSplit::Nest::Bracket) | Noir::TopLevelSplit::Nest::Brace) | Noir::TopLevelSplit::Nest::Angle, quotes: "\"", escape: Noir::TopLevelSplit::Escape::InQuotes, strip: false, empties: Noir::TopLevelSplit::Empties::DropTrailing, per_kind: false, clamp: true) -
Angle brackets nest because TypeSpec generics (
Response<Widget>) reach this splitter; single quotes do not quote because TypeSpec string literals are double-quoted only.Nothing is stripped and a trailing empty is dropped — that is the old
parts << text[start..] if start < text.sizetail guard, which skipped the tail exactly when the last character was a top-level delimiter (and on the empty string).File-local: it is the only splitter with this combination, and the only spec-format one at all.
Constructors
Instance Method Summary
Constructor Detail
def self.new(text : String, analyzer : TypeSpec, details : Details, source : String, base_path : String, logger : NoirLogger)
#