Module clippy_utils::source
source · Expand description
Utils for extracting, inspecting or transforming source code
Functions
Like
snippet_block
, but add braces if the expr is not an ExprKind::Block
.
Also takes an Option<String>
which can be put inside the braces.Returns a new Span that extends the original Span to the first non-whitespace char of the first
line.
Returns the indentation of the line of a span
Returns the position just before rarrow
Reindent a multiline string with possibility of ignoring the first line.
Converts a span to a code snippet if available, otherwise returns the default.
Converts a span (from a block) to a code snippet if available, otherwise use default.
Same as
snippet_block
, but adapts the applicability level by the rules of
snippet_with_applicability
.Gets a snippet of the indentation of the line of a span
Converts a span to a code snippet. Returns
None
if not available.Same as
snippet
, but it adapts the applicability level by following rules:Same as
snippet_with_applicability
, but first walks the span up to the given context. This
will result in the macro call, rather then the expansion, if the span is from a child context.
If the span is not from a child context, it will be used directly instead.Same as
snippet
, but should only be used when it’s clear that the input span is
not a macro argument.Trims the whitespace from the start and the end of the span.
Walks the span up to the target context, thereby returning the macro call site if the span is
inside a macro expansion, or the original span if it is not. Note this will return
None
in the
case of the span being in a macro expansion, but the target context is from expanding a macro
argument.Removes block comments from the given
Vec
of lines.