Struct rustc_ast_pretty::pprust::state::State [−][src]
Fields
s: Printercomments: Option<Comments<'a>>ann: &'a (dyn PpAnn + 'a)Implementations
impl<'a> State<'a>[src]
impl<'a> State<'a>[src]pub fn new() -> State<'a>[src]
pub fn synth_comment(&mut self, text: String)[src]
pub(crate) fn commasep_cmnt<T, F, G>(
&mut self,
b: Breaks,
elts: &[T],
op: F,
get_span: G
) where
F: FnMut(&mut State<'_>, &T),
G: FnMut(&T) -> Span, [src]
&mut self,
b: Breaks,
elts: &[T],
op: F,
get_span: G
) where
F: FnMut(&mut State<'_>, &T),
G: FnMut(&T) -> Span,
pub(crate) fn commasep_exprs(&mut self, b: Breaks, exprs: &[P<Expr>])[src]
pub(crate) fn print_foreign_mod(
&mut self,
nmod: &ForeignMod,
attrs: &[Attribute]
)[src]
&mut self,
nmod: &ForeignMod,
attrs: &[Attribute]
)
pub fn print_opt_lifetime(&mut self, lifetime: &Option<Lifetime>)[src]
pub fn print_assoc_constraint(&mut self, constraint: &AssocTyConstraint)[src]
pub fn print_generic_arg(&mut self, generic_arg: &GenericArg)[src]
pub fn print_type(&mut self, ty: &Ty)[src]
pub(crate) fn print_foreign_item(&mut self, item: &ForeignItem)[src]
fn print_item_const(
&mut self,
ident: Ident,
mutbl: Option<Mutability>,
ty: &Ty,
body: Option<&Expr>,
vis: &Visibility,
defaultness: Defaultness
)[src]
&mut self,
ident: Ident,
mutbl: Option<Mutability>,
ty: &Ty,
body: Option<&Expr>,
vis: &Visibility,
defaultness: Defaultness
)
fn print_associated_type(
&mut self,
ident: Ident,
generics: &Generics,
bounds: &GenericBounds,
ty: Option<&Ty>,
vis: &Visibility,
defaultness: Defaultness
)[src]
&mut self,
ident: Ident,
generics: &Generics,
bounds: &GenericBounds,
ty: Option<&Ty>,
vis: &Visibility,
defaultness: Defaultness
)
pub(crate) fn print_item(&mut self, item: &Item)[src]
pub(crate) fn print_item(&mut self, item: &Item)[src]Pretty-prints an item.
fn print_trait_ref(&mut self, t: &TraitRef)[src]
fn print_formal_generic_params(&mut self, generic_params: &[GenericParam])[src]
fn print_poly_trait_ref(&mut self, t: &PolyTraitRef)[src]
pub(crate) fn print_enum_def(
&mut self,
enum_definition: &EnumDef,
generics: &Generics,
ident: Ident,
span: Span,
visibility: &Visibility
)[src]
&mut self,
enum_definition: &EnumDef,
generics: &Generics,
ident: Ident,
span: Span,
visibility: &Visibility
)
pub(crate) fn print_variants(&mut self, variants: &[Variant], span: Span)[src]
pub(crate) fn print_visibility(&mut self, vis: &Visibility)[src]
pub(crate) fn print_defaultness(&mut self, defaultness: Defaultness)[src]
pub(crate) fn print_struct(
&mut self,
struct_def: &VariantData,
generics: &Generics,
ident: Ident,
span: Span,
print_finalizer: bool
)[src]
&mut self,
struct_def: &VariantData,
generics: &Generics,
ident: Ident,
span: Span,
print_finalizer: bool
)
pub(crate) fn print_variant(&mut self, v: &Variant)[src]
pub(crate) fn print_assoc_item(&mut self, item: &AssocItem)[src]
pub(crate) fn print_stmt(&mut self, st: &Stmt)[src]
pub(crate) fn print_block(&mut self, blk: &Block)[src]
pub(crate) fn print_block_unclosed_indent(&mut self, blk: &Block)[src]
pub(crate) fn print_block_with_attrs(
&mut self,
blk: &Block,
attrs: &[Attribute]
)[src]
&mut self,
blk: &Block,
attrs: &[Attribute]
)
pub(crate) fn print_block_maybe_unclosed(
&mut self,
blk: &Block,
attrs: &[Attribute],
close_box: bool
)[src]
&mut self,
blk: &Block,
attrs: &[Attribute],
close_box: bool
)
pub(crate) fn print_let(&mut self, pat: &Pat, scrutinee: &Expr)[src]
pub(crate) fn print_let(&mut self, pat: &Pat, scrutinee: &Expr)[src]Print a let pat = scrutinee expression.
fn print_else(&mut self, els: Option<&Expr>)[src]
pub(crate) fn print_if(
&mut self,
test: &Expr,
blk: &Block,
elseopt: Option<&Expr>
)[src]
&mut self,
test: &Expr,
blk: &Block,
elseopt: Option<&Expr>
)
pub(crate) fn print_mac(&mut self, m: &MacCall)[src]
fn print_call_post(&mut self, args: &[P<Expr>])[src]
pub(crate) fn print_expr_maybe_paren(&mut self, expr: &Expr, prec: i8)[src]
pub(crate) fn print_expr_as_cond(&mut self, expr: &Expr)[src]
pub(crate) fn print_expr_as_cond(&mut self, expr: &Expr)[src]Prints an expr using syntax that’s acceptable in a condition position, such as the cond in
if cond { ... }.
fn cond_needs_par(expr: &Expr) -> bool[src]
fn cond_needs_par(expr: &Expr) -> bool[src]Does expr need parenthesis when printed in a condition position?
fn print_expr_cond_paren(&mut self, expr: &Expr, needs_par: bool)[src]
fn print_expr_cond_paren(&mut self, expr: &Expr, needs_par: bool)[src]Prints expr or (expr) when needs_par holds.
fn print_expr_vec(&mut self, exprs: &[P<Expr>])[src]
fn print_expr_anon_const(&mut self, expr: &AnonConst)[src]
fn print_expr_repeat(&mut self, element: &Expr, count: &AnonConst)[src]
fn print_expr_struct(
&mut self,
path: &Path,
fields: &[ExprField],
rest: &StructRest
)[src]
&mut self,
path: &Path,
fields: &[ExprField],
rest: &StructRest
)
fn print_expr_tup(&mut self, exprs: &[P<Expr>])[src]
fn print_expr_call(&mut self, func: &Expr, args: &[P<Expr>])[src]
fn print_expr_method_call(&mut self, segment: &PathSegment, args: &[P<Expr>])[src]
fn print_expr_binary(&mut self, op: BinOp, lhs: &Expr, rhs: &Expr)[src]
fn print_expr_unary(&mut self, op: UnOp, expr: &Expr)[src]
fn print_expr_addr_of(
&mut self,
kind: BorrowKind,
mutability: Mutability,
expr: &Expr
)[src]
&mut self,
kind: BorrowKind,
mutability: Mutability,
expr: &Expr
)
pub fn print_expr(&mut self, expr: &Expr)[src]
fn print_expr_outer_attr_style(&mut self, expr: &Expr, is_inline: bool)[src]
pub(crate) fn print_local_decl(&mut self, loc: &Local)[src]
pub(crate) fn print_name(&mut self, name: Symbol)[src]
fn print_qpath(
&mut self,
path: &Path,
qself: &QSelf,
colons_before_params: bool
)[src]
&mut self,
path: &Path,
qself: &QSelf,
colons_before_params: bool
)
pub(crate) fn print_pat(&mut self, pat: &Pat)[src]
fn print_arm(&mut self, arm: &Arm)[src]
fn print_explicit_self(&mut self, explicit_self: &ExplicitSelf)[src]
fn print_fn_full(
&mut self,
sig: &FnSig,
name: Ident,
generics: &Generics,
vis: &Visibility,
defaultness: Defaultness,
body: Option<&Block>,
attrs: &[Attribute]
)[src]
&mut self,
sig: &FnSig,
name: Ident,
generics: &Generics,
vis: &Visibility,
defaultness: Defaultness,
body: Option<&Block>,
attrs: &[Attribute]
)
pub(crate) fn print_fn(
&mut self,
decl: &FnDecl,
header: FnHeader,
name: Option<Ident>,
generics: &Generics
)[src]
&mut self,
decl: &FnDecl,
header: FnHeader,
name: Option<Ident>,
generics: &Generics
)
pub(crate) fn print_fn_params_and_ret(
&mut self,
decl: &FnDecl,
is_closure: bool
)[src]
&mut self,
decl: &FnDecl,
is_closure: bool
)
pub(crate) fn print_movability(&mut self, movability: Movability)[src]
pub(crate) fn print_asyncness(&mut self, asyncness: Async)[src]
pub(crate) fn print_capture_clause(&mut self, capture_clause: CaptureBy)[src]
pub fn print_type_bounds(
&mut self,
prefix: &'static str,
bounds: &[GenericBound]
)[src]
&mut self,
prefix: &'static str,
bounds: &[GenericBound]
)
pub(crate) fn print_lifetime(&mut self, lifetime: Lifetime)[src]
pub(crate) fn print_lifetime_bounds(
&mut self,
lifetime: Lifetime,
bounds: &GenericBounds
)[src]
&mut self,
lifetime: Lifetime,
bounds: &GenericBounds
)
pub(crate) fn print_generic_params(&mut self, generic_params: &[GenericParam])[src]
pub(crate) fn print_where_clause(&mut self, where_clause: &WhereClause)[src]
pub(crate) fn print_use_tree(&mut self, tree: &UseTree)[src]
pub fn print_mutability(&mut self, mutbl: Mutability, print_const: bool)[src]
pub(crate) fn print_mt(&mut self, mt: &MutTy, print_const: bool)[src]
pub(crate) fn print_param(&mut self, input: &Param, is_closure: bool)[src]
pub(crate) fn print_fn_ret_ty(&mut self, fn_ret_ty: &FnRetTy)[src]
pub(crate) fn print_ty_fn(
&mut self,
ext: Extern,
unsafety: Unsafe,
decl: &FnDecl,
name: Option<Ident>,
generic_params: &[GenericParam]
)[src]
&mut self,
ext: Extern,
unsafety: Unsafe,
decl: &FnDecl,
name: Option<Ident>,
generic_params: &[GenericParam]
)
pub(crate) fn maybe_print_trailing_comment(
&mut self,
span: Span,
next_pos: Option<BytePos>
)[src]
&mut self,
span: Span,
next_pos: Option<BytePos>
)
pub(crate) fn print_remaining_comments(&mut self)[src]
pub(crate) fn print_fn_header_info(&mut self, header: FnHeader)[src]
pub(crate) fn print_unsafety(&mut self, s: Unsafe)[src]
pub(crate) fn print_constness(&mut self, s: Const)[src]
pub(crate) fn print_is_auto(&mut self, s: IsAuto)[src]
Methods from Deref<Target = Printer>
pub fn word_space<W: Into<Cow<'static, str>>>(&mut self, w: W)[src]
pub fn popen(&mut self)[src]
pub fn pclose(&mut self)[src]
pub fn hardbreak_if_not_bol(&mut self)[src]
pub fn space_if_not_bol(&mut self)[src]
pub fn nbsp(&mut self)[src]
pub fn word_nbsp<S: Into<Cow<'static, str>>>(&mut self, w: S)[src]
pub fn last_token(&self) -> Token[src]
pub fn replace_last_token(&mut self, t: Token)[src]
pub fn replace_last_token(&mut self, t: Token)[src]Be very careful with this!
fn scan_eof(&mut self)[src]
fn scan_begin(&mut self, b: BeginToken)[src]
fn scan_end(&mut self)[src]
fn scan_break(&mut self, b: BreakToken)[src]
fn scan_string(&mut self, s: Cow<'static, str>)[src]
fn check_stream(&mut self)[src]
fn scan_push(&mut self, entry: BufEntry)[src]
fn scan_pop(&mut self) -> usize[src]
fn scan_top(&self) -> usize[src]
fn scan_pop_bottom(&mut self) -> usize[src]
fn advance_right(&mut self)[src]
fn advance_left(&mut self)[src]
fn check_stack(&mut self, k: usize)[src]
fn print_newline(&mut self, amount: isize)[src]
fn indent(&mut self, amount: isize)[src]
fn get_top(&self) -> PrintStackElem[src]
fn print_begin(&mut self, b: BeginToken, l: isize)[src]
fn print_end(&mut self)[src]
fn print_break(&mut self, b: BreakToken, l: isize)[src]
fn print_string(&mut self, s: Cow<'static, str>)[src]
fn print(&mut self, token: Token, l: isize)[src]
pub fn break_offset(&mut self, n: usize, off: isize)[src]
pub fn end(&mut self)[src]
pub fn word<S: Into<Cow<'static, str>>>(&mut self, wrd: S)[src]
fn spaces(&mut self, n: usize)[src]
pub(crate) fn zerobreak(&mut self)[src]
pub fn space(&mut self)[src]
pub fn hardbreak(&mut self)[src]
pub fn is_beginning_of_line(&self) -> bool[src]
Trait Implementations
impl<'a> PrintState<'a> for State<'a>[src]
impl<'a> PrintState<'a> for State<'a>[src]fn comments(&mut self) -> &mut Option<Comments<'a>>[src]
fn print_ident(&mut self, ident: Ident)[src]
fn print_generic_args(&mut self, args: &GenericArgs, colons_before_params: bool)[src]
fn strsep<T, F>(
&mut self,
sep: &'static str,
space_before: bool,
b: Breaks,
elts: &[T],
op: F
) where
F: FnMut(&mut Self, &T), [src]
&mut self,
sep: &'static str,
space_before: bool,
b: Breaks,
elts: &[T],
op: F
) where
F: FnMut(&mut Self, &T),
fn commasep<T, F>(&mut self, b: Breaks, elts: &[T], op: F) where
F: FnMut(&mut Self, &T), [src]
F: FnMut(&mut Self, &T),
fn maybe_print_comment(&mut self, pos: BytePos)[src]
fn print_comment(&mut self, cmnt: &Comment)[src]
fn next_comment(&mut self) -> Option<Comment>[src]
fn print_literal(&mut self, lit: &Lit)[src]
fn print_string(&mut self, st: &str, style: StrStyle)[src]
fn print_symbol(&mut self, sym: Symbol, style: StrStyle)[src]
fn print_inner_attributes(&mut self, attrs: &[Attribute])[src]
fn print_outer_attributes(&mut self, attrs: &[Attribute])[src]
fn print_inner_attributes_inline(&mut self, attrs: &[Attribute])[src]
fn print_outer_attributes_inline(&mut self, attrs: &[Attribute])[src]
fn print_either_attributes(
&mut self,
attrs: &[Attribute],
kind: AttrStyle,
is_inline: bool,
trailing_hardbreak: bool
)[src]
&mut self,
attrs: &[Attribute],
kind: AttrStyle,
is_inline: bool,
trailing_hardbreak: bool
)
fn print_attribute(&mut self, attr: &Attribute)[src]
fn print_attribute_inline(&mut self, attr: &Attribute, is_inline: bool)[src]
fn print_attr_item(&mut self, item: &AttrItem, span: Span)[src]
fn print_meta_list_item(&mut self, item: &NestedMetaItem)[src]
fn print_meta_item(&mut self, item: &MetaItem)[src]
fn print_tt(&mut self, tt: &TokenTree, convert_dollar_crate: bool)[src]
fn print_tt(&mut self, tt: &TokenTree, convert_dollar_crate: bool)[src]This doesn’t deserve to be called “pretty” printing, but it should be meaning-preserving. A quick hack that might help would be to look at the spans embedded in the TTs to decide where to put spaces and newlines. But it’d be better to parse these according to the grammar of the appropriate macro, transcribe back into the grammar we just parsed from, and then pretty-print the resulting AST nodes (so, e.g., we print expression arguments as expressions). It can be done! I think. Read more
fn print_tts(&mut self, tts: &TokenStream, convert_dollar_crate: bool)[src]
fn print_mac_common(
&mut self,
header: Option<MacHeader<'_>>,
has_bang: bool,
ident: Option<Ident>,
delim: DelimToken,
tts: &TokenStream,
convert_dollar_crate: bool,
span: Span
)[src]
&mut self,
header: Option<MacHeader<'_>>,
has_bang: bool,
ident: Option<Ident>,
delim: DelimToken,
tts: &TokenStream,
convert_dollar_crate: bool,
span: Span
)
fn print_path(&mut self, path: &Path, colons_before_params: bool, depth: usize)[src]
fn print_path_segment(
&mut self,
segment: &PathSegment,
colons_before_params: bool
)[src]
&mut self,
segment: &PathSegment,
colons_before_params: bool
)
fn head<S: Into<Cow<'static, str>>>(&mut self, w: S)[src]
fn bopen(&mut self)[src]
fn bclose_maybe_open(&mut self, span: Span, close_box: bool)[src]
fn bclose(&mut self, span: Span)[src]
fn break_offset_if_not_bol(&mut self, n: usize, off: isize)[src]
fn nonterminal_to_string(&self, nt: &Nonterminal) -> String[src]
fn token_kind_to_string(&self, tok: &TokenKind) -> String[src]
fn token_kind_to_string(&self, tok: &TokenKind) -> String[src]Print the token kind precisely, without converting $crate into its respective crate name.
fn token_kind_to_string_ext(
&self,
tok: &TokenKind,
convert_dollar_crate: Option<Span>
) -> String[src]
&self,
tok: &TokenKind,
convert_dollar_crate: Option<Span>
) -> String
fn token_to_string(&self, token: &Token) -> String[src]
fn token_to_string(&self, token: &Token) -> String[src]Print the token precisely, without converting $crate into its respective crate name.
fn token_to_string_ext(
&self,
token: &Token,
convert_dollar_crate: bool
) -> String[src]
&self,
token: &Token,
convert_dollar_crate: bool
) -> String