Trait syntax::ext::build::AstBuilder
[−]
[src]
pub trait AstBuilder {
fn path(&self, span: Span, strs: Vec<Ident>) -> Path;
fn path_ident(&self, span: Span, id: Ident) -> Path;
fn path_global(&self, span: Span, strs: Vec<Ident>) -> Path;
fn path_all(&self, sp: Span, global: bool, idents: Vec<Ident>, lifetimes: Vec<Lifetime>, types: Vec<P<Ty>>, bindings: Vec<TypeBinding>) -> Path;
fn qpath(&self, self_type: P<Ty>, trait_path: Path, ident: Ident) -> (QSelf, Path);
fn qpath_all(&self, self_type: P<Ty>, trait_path: Path, ident: Ident, lifetimes: Vec<Lifetime>, types: Vec<P<Ty>>, bindings: Vec<TypeBinding>) -> (QSelf, Path);
fn ty_mt(&self, ty: P<Ty>, mutbl: Mutability) -> MutTy;
fn ty(&self, span: Span, ty: TyKind) -> P<Ty>;
fn ty_path(&self, Path) -> P<Ty>;
fn ty_sum(&self, Path, TyParamBounds) -> P<Ty>;
fn ty_ident(&self, span: Span, idents: Ident) -> P<Ty>;
fn ty_rptr(&self, span: Span, ty: P<Ty>, lifetime: Option<Lifetime>, mutbl: Mutability) -> P<Ty>;
fn ty_ptr(&self, span: Span, ty: P<Ty>, mutbl: Mutability) -> P<Ty>;
fn ty_option(&self, ty: P<Ty>) -> P<Ty>;
fn ty_infer(&self, sp: Span) -> P<Ty>;
fn ty_vars(&self, ty_params: &P<[TyParam]>) -> Vec<P<Ty>>;
fn ty_vars_global(&self, ty_params: &P<[TyParam]>) -> Vec<P<Ty>>;
fn typaram(&self, span: Span, id: Ident, bounds: TyParamBounds, default: Option<P<Ty>>) -> TyParam;
fn trait_ref(&self, path: Path) -> TraitRef;
fn poly_trait_ref(&self, span: Span, path: Path) -> PolyTraitRef;
fn typarambound(&self, path: Path) -> TyParamBound;
fn lifetime(&self, span: Span, ident: Name) -> Lifetime;
fn lifetime_def(&self, span: Span, name: Name, bounds: Vec<Lifetime>) -> LifetimeDef;
fn stmt_expr(&self, expr: P<Expr>) -> Stmt;
fn stmt_let(&self, sp: Span, mutbl: bool, ident: Ident, ex: P<Expr>) -> Stmt;
fn stmt_let_typed(&self, sp: Span, mutbl: bool, ident: Ident, typ: P<Ty>, ex: P<Expr>) -> P<Stmt>;
fn stmt_item(&self, sp: Span, item: P<Item>) -> Stmt;
fn block(&self, span: Span, stmts: Vec<Stmt>, expr: Option<P<Expr>>) -> P<Block>;
fn block_expr(&self, expr: P<Expr>) -> P<Block>;
fn block_all(&self, span: Span, stmts: Vec<Stmt>, expr: Option<P<Expr>>) -> P<Block>;
fn expr(&self, span: Span, node: ExprKind) -> P<Expr>;
fn expr_path(&self, path: Path) -> P<Expr>;
fn expr_qpath(&self, span: Span, qself: QSelf, path: Path) -> P<Expr>;
fn expr_ident(&self, span: Span, id: Ident) -> P<Expr>;
fn expr_self(&self, span: Span) -> P<Expr>;
fn expr_binary(&self, sp: Span, op: BinOpKind, lhs: P<Expr>, rhs: P<Expr>) -> P<Expr>;
fn expr_deref(&self, sp: Span, e: P<Expr>) -> P<Expr>;
fn expr_unary(&self, sp: Span, op: UnOp, e: P<Expr>) -> P<Expr>;
fn expr_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>;
fn expr_mut_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>;
fn expr_field_access(&self, span: Span, expr: P<Expr>, ident: Ident) -> P<Expr>;
fn expr_tup_field_access(&self, sp: Span, expr: P<Expr>, idx: usize) -> P<Expr>;
fn expr_call(&self, span: Span, expr: P<Expr>, args: Vec<P<Expr>>) -> P<Expr>;
fn expr_call_ident(&self, span: Span, id: Ident, args: Vec<P<Expr>>) -> P<Expr>;
fn expr_call_global(&self, sp: Span, fn_path: Vec<Ident>, args: Vec<P<Expr>>) -> P<Expr>;
fn expr_method_call(&self, span: Span, expr: P<Expr>, ident: Ident, args: Vec<P<Expr>>) -> P<Expr>;
fn expr_block(&self, b: P<Block>) -> P<Expr>;
fn expr_cast(&self, sp: Span, expr: P<Expr>, ty: P<Ty>) -> P<Expr>;
fn field_imm(&self, span: Span, name: Ident, e: P<Expr>) -> Field;
fn expr_struct(&self, span: Span, path: Path, fields: Vec<Field>) -> P<Expr>;
fn expr_struct_ident(&self, span: Span, id: Ident, fields: Vec<Field>) -> P<Expr>;
fn expr_lit(&self, sp: Span, lit: LitKind) -> P<Expr>;
fn expr_usize(&self, span: Span, i: usize) -> P<Expr>;
fn expr_isize(&self, sp: Span, i: isize) -> P<Expr>;
fn expr_u8(&self, sp: Span, u: u8) -> P<Expr>;
fn expr_u32(&self, sp: Span, u: u32) -> P<Expr>;
fn expr_bool(&self, sp: Span, value: bool) -> P<Expr>;
fn expr_vec(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>;
fn expr_vec_ng(&self, sp: Span) -> P<Expr>;
fn expr_vec_slice(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>;
fn expr_str(&self, sp: Span, s: InternedString) -> P<Expr>;
fn expr_some(&self, sp: Span, expr: P<Expr>) -> P<Expr>;
fn expr_none(&self, sp: Span) -> P<Expr>;
fn expr_break(&self, sp: Span) -> P<Expr>;
fn expr_tuple(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>;
fn expr_fail(&self, span: Span, msg: InternedString) -> P<Expr>;
fn expr_unreachable(&self, span: Span) -> P<Expr>;
fn expr_ok(&self, span: Span, expr: P<Expr>) -> P<Expr>;
fn expr_err(&self, span: Span, expr: P<Expr>) -> P<Expr>;
fn expr_try(&self, span: Span, head: P<Expr>) -> P<Expr>;
fn pat(&self, span: Span, pat: PatKind) -> P<Pat>;
fn pat_wild(&self, span: Span) -> P<Pat>;
fn pat_lit(&self, span: Span, expr: P<Expr>) -> P<Pat>;
fn pat_ident(&self, span: Span, ident: Ident) -> P<Pat>;
fn pat_ident_binding_mode(&self, span: Span, ident: Ident, bm: BindingMode) -> P<Pat>;
fn pat_enum(&self, span: Span, path: Path, subpats: Vec<P<Pat>>) -> P<Pat>;
fn pat_struct(&self, span: Span, path: Path, field_pats: Vec<Spanned<FieldPat>>) -> P<Pat>;
fn pat_tuple(&self, span: Span, pats: Vec<P<Pat>>) -> P<Pat>;
fn pat_some(&self, span: Span, pat: P<Pat>) -> P<Pat>;
fn pat_none(&self, span: Span) -> P<Pat>;
fn pat_ok(&self, span: Span, pat: P<Pat>) -> P<Pat>;
fn pat_err(&self, span: Span, pat: P<Pat>) -> P<Pat>;
fn arm(&self, span: Span, pats: Vec<P<Pat>>, expr: P<Expr>) -> Arm;
fn arm_unreachable(&self, span: Span) -> Arm;
fn expr_match(&self, span: Span, arg: P<Expr>, arms: Vec<Arm>) -> P<Expr>;
fn expr_if(&self, span: Span, cond: P<Expr>, then: P<Expr>, els: Option<P<Expr>>) -> P<Expr>;
fn expr_loop(&self, span: Span, block: P<Block>) -> P<Expr>;
fn lambda_fn_decl(&self, span: Span, fn_decl: P<FnDecl>, blk: P<Block>, fn_decl_span: Span) -> P<Expr>;
fn lambda(&self, span: Span, ids: Vec<Ident>, blk: P<Block>) -> P<Expr>;
fn lambda0(&self, span: Span, blk: P<Block>) -> P<Expr>;
fn lambda1(&self, span: Span, blk: P<Block>, ident: Ident) -> P<Expr>;
fn lambda_expr(&self, span: Span, ids: Vec<Ident>, blk: P<Expr>) -> P<Expr>;
fn lambda_expr_0(&self, span: Span, expr: P<Expr>) -> P<Expr>;
fn lambda_expr_1(&self, span: Span, expr: P<Expr>, ident: Ident) -> P<Expr>;
fn lambda_stmts(&self, span: Span, ids: Vec<Ident>, blk: Vec<Stmt>) -> P<Expr>;
fn lambda_stmts_0(&self, span: Span, stmts: Vec<Stmt>) -> P<Expr>;
fn lambda_stmts_1(&self, span: Span, stmts: Vec<Stmt>, ident: Ident) -> P<Expr>;
fn item(&self, span: Span, name: Ident, attrs: Vec<Attribute>, node: ItemKind) -> P<Item>;
fn arg(&self, span: Span, name: Ident, ty: P<Ty>) -> Arg;
fn fn_decl(&self, inputs: Vec<Arg>, output: P<Ty>) -> P<FnDecl>;
fn item_fn_poly(&self, span: Span, name: Ident, inputs: Vec<Arg>, output: P<Ty>, generics: Generics, body: P<Block>) -> P<Item>;
fn item_fn(&self, span: Span, name: Ident, inputs: Vec<Arg>, output: P<Ty>, body: P<Block>) -> P<Item>;
fn variant(&self, span: Span, name: Ident, tys: Vec<P<Ty>>) -> Variant;
fn item_enum_poly(&self, span: Span, name: Ident, enum_definition: EnumDef, generics: Generics) -> P<Item>;
fn item_enum(&self, span: Span, name: Ident, enum_def: EnumDef) -> P<Item>;
fn item_struct_poly(&self, span: Span, name: Ident, struct_def: VariantData, generics: Generics) -> P<Item>;
fn item_struct(&self, span: Span, name: Ident, struct_def: VariantData) -> P<Item>;
fn item_mod(&self, span: Span, inner_span: Span, name: Ident, attrs: Vec<Attribute>, items: Vec<P<Item>>) -> P<Item>;
fn item_static(&self, span: Span, name: Ident, ty: P<Ty>, mutbl: Mutability, expr: P<Expr>) -> P<Item>;
fn item_const(&self, span: Span, name: Ident, ty: P<Ty>, expr: P<Expr>) -> P<Item>;
fn item_ty_poly(&self, span: Span, name: Ident, ty: P<Ty>, generics: Generics) -> P<Item>;
fn item_ty(&self, span: Span, name: Ident, ty: P<Ty>) -> P<Item>;
fn attribute(&self, sp: Span, mi: P<MetaItem>) -> Attribute;
fn meta_word(&self, sp: Span, w: InternedString) -> P<MetaItem>;
fn meta_list(&self, sp: Span, name: InternedString, mis: Vec<P<MetaItem>>) -> P<MetaItem>;
fn meta_name_value(&self, sp: Span, name: InternedString, value: LitKind) -> P<MetaItem>;
fn item_use(&self, sp: Span, vis: Visibility, vp: P<ViewPath>) -> P<Item>;
fn item_use_simple(&self, sp: Span, vis: Visibility, path: Path) -> P<Item>;
fn item_use_simple_(&self, sp: Span, vis: Visibility, ident: Ident, path: Path) -> P<Item>;
fn item_use_list(&self, sp: Span, vis: Visibility, path: Vec<Ident>, imports: &[Ident]) -> P<Item>;
fn item_use_glob(&self, sp: Span, vis: Visibility, path: Vec<Ident>) -> P<Item>;
}Unstable (
rustc_private)Required Methods
fn path(&self, span: Span, strs: Vec<Ident>) -> Path
Unstable (
rustc_private)fn path_ident(&self, span: Span, id: Ident) -> Path
Unstable (
rustc_private)fn path_global(&self, span: Span, strs: Vec<Ident>) -> Path
Unstable (
rustc_private)fn path_all(&self, sp: Span, global: bool, idents: Vec<Ident>, lifetimes: Vec<Lifetime>, types: Vec<P<Ty>>, bindings: Vec<TypeBinding>) -> Path
Unstable (
rustc_private)fn qpath(&self, self_type: P<Ty>, trait_path: Path, ident: Ident) -> (QSelf, Path)
Unstable (
rustc_private)fn qpath_all(&self, self_type: P<Ty>, trait_path: Path, ident: Ident, lifetimes: Vec<Lifetime>, types: Vec<P<Ty>>, bindings: Vec<TypeBinding>) -> (QSelf, Path)
Unstable (
rustc_private)fn ty_mt(&self, ty: P<Ty>, mutbl: Mutability) -> MutTy
Unstable (
rustc_private)fn ty(&self, span: Span, ty: TyKind) -> P<Ty>
Unstable (
rustc_private)fn ty_path(&self, Path) -> P<Ty>
Unstable (
rustc_private)fn ty_sum(&self, Path, TyParamBounds) -> P<Ty>
Unstable (
rustc_private)fn ty_ident(&self, span: Span, idents: Ident) -> P<Ty>
Unstable (
rustc_private)fn ty_rptr(&self, span: Span, ty: P<Ty>, lifetime: Option<Lifetime>, mutbl: Mutability) -> P<Ty>
Unstable (
rustc_private)fn ty_ptr(&self, span: Span, ty: P<Ty>, mutbl: Mutability) -> P<Ty>
Unstable (
rustc_private)fn ty_option(&self, ty: P<Ty>) -> P<Ty>
Unstable (
rustc_private)fn ty_infer(&self, sp: Span) -> P<Ty>
Unstable (
rustc_private)fn ty_vars(&self, ty_params: &P<[TyParam]>) -> Vec<P<Ty>>
Unstable (
rustc_private)fn ty_vars_global(&self, ty_params: &P<[TyParam]>) -> Vec<P<Ty>>
Unstable (
rustc_private)fn typaram(&self, span: Span, id: Ident, bounds: TyParamBounds, default: Option<P<Ty>>) -> TyParam
Unstable (
rustc_private)fn trait_ref(&self, path: Path) -> TraitRef
Unstable (
rustc_private)fn poly_trait_ref(&self, span: Span, path: Path) -> PolyTraitRef
Unstable (
rustc_private)fn typarambound(&self, path: Path) -> TyParamBound
Unstable (
rustc_private)fn lifetime(&self, span: Span, ident: Name) -> Lifetime
Unstable (
rustc_private)fn lifetime_def(&self, span: Span, name: Name, bounds: Vec<Lifetime>) -> LifetimeDef
Unstable (
rustc_private)fn stmt_expr(&self, expr: P<Expr>) -> Stmt
Unstable (
rustc_private)fn stmt_let(&self, sp: Span, mutbl: bool, ident: Ident, ex: P<Expr>) -> Stmt
Unstable (
rustc_private)fn stmt_let_typed(&self, sp: Span, mutbl: bool, ident: Ident, typ: P<Ty>, ex: P<Expr>) -> P<Stmt>
Unstable (
rustc_private)fn stmt_item(&self, sp: Span, item: P<Item>) -> Stmt
Unstable (
rustc_private)fn block(&self, span: Span, stmts: Vec<Stmt>, expr: Option<P<Expr>>) -> P<Block>
Unstable (
rustc_private)fn block_expr(&self, expr: P<Expr>) -> P<Block>
Unstable (
rustc_private)fn block_all(&self, span: Span, stmts: Vec<Stmt>, expr: Option<P<Expr>>) -> P<Block>
Unstable (
rustc_private)fn expr(&self, span: Span, node: ExprKind) -> P<Expr>
Unstable (
rustc_private)fn expr_path(&self, path: Path) -> P<Expr>
Unstable (
rustc_private)fn expr_qpath(&self, span: Span, qself: QSelf, path: Path) -> P<Expr>
Unstable (
rustc_private)fn expr_ident(&self, span: Span, id: Ident) -> P<Expr>
Unstable (
rustc_private)fn expr_self(&self, span: Span) -> P<Expr>
Unstable (
rustc_private)fn expr_binary(&self, sp: Span, op: BinOpKind, lhs: P<Expr>, rhs: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_deref(&self, sp: Span, e: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_unary(&self, sp: Span, op: UnOp, e: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_mut_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_field_access(&self, span: Span, expr: P<Expr>, ident: Ident) -> P<Expr>
Unstable (
rustc_private)fn expr_tup_field_access(&self, sp: Span, expr: P<Expr>, idx: usize) -> P<Expr>
Unstable (
rustc_private)fn expr_call(&self, span: Span, expr: P<Expr>, args: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_call_ident(&self, span: Span, id: Ident, args: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_call_global(&self, sp: Span, fn_path: Vec<Ident>, args: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_method_call(&self, span: Span, expr: P<Expr>, ident: Ident, args: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_block(&self, b: P<Block>) -> P<Expr>
Unstable (
rustc_private)fn expr_cast(&self, sp: Span, expr: P<Expr>, ty: P<Ty>) -> P<Expr>
Unstable (
rustc_private)fn field_imm(&self, span: Span, name: Ident, e: P<Expr>) -> Field
Unstable (
rustc_private)fn expr_struct(&self, span: Span, path: Path, fields: Vec<Field>) -> P<Expr>
Unstable (
rustc_private)fn expr_struct_ident(&self, span: Span, id: Ident, fields: Vec<Field>) -> P<Expr>
Unstable (
rustc_private)fn expr_lit(&self, sp: Span, lit: LitKind) -> P<Expr>
Unstable (
rustc_private)fn expr_usize(&self, span: Span, i: usize) -> P<Expr>
Unstable (
rustc_private)fn expr_isize(&self, sp: Span, i: isize) -> P<Expr>
Unstable (
rustc_private)fn expr_u8(&self, sp: Span, u: u8) -> P<Expr>
Unstable (
rustc_private)fn expr_u32(&self, sp: Span, u: u32) -> P<Expr>
Unstable (
rustc_private)fn expr_bool(&self, sp: Span, value: bool) -> P<Expr>
Unstable (
rustc_private)fn expr_vec(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_vec_ng(&self, sp: Span) -> P<Expr>
Unstable (
rustc_private)fn expr_vec_slice(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_str(&self, sp: Span, s: InternedString) -> P<Expr>
Unstable (
rustc_private)fn expr_some(&self, sp: Span, expr: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_none(&self, sp: Span) -> P<Expr>
Unstable (
rustc_private)fn expr_break(&self, sp: Span) -> P<Expr>
Unstable (
rustc_private)fn expr_tuple(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_fail(&self, span: Span, msg: InternedString) -> P<Expr>
Unstable (
rustc_private)fn expr_unreachable(&self, span: Span) -> P<Expr>
Unstable (
rustc_private)fn expr_ok(&self, span: Span, expr: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_err(&self, span: Span, expr: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn expr_try(&self, span: Span, head: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn pat(&self, span: Span, pat: PatKind) -> P<Pat>
Unstable (
rustc_private)fn pat_wild(&self, span: Span) -> P<Pat>
Unstable (
rustc_private)fn pat_lit(&self, span: Span, expr: P<Expr>) -> P<Pat>
Unstable (
rustc_private)fn pat_ident(&self, span: Span, ident: Ident) -> P<Pat>
Unstable (
rustc_private)fn pat_ident_binding_mode(&self, span: Span, ident: Ident, bm: BindingMode) -> P<Pat>
Unstable (
rustc_private)fn pat_enum(&self, span: Span, path: Path, subpats: Vec<P<Pat>>) -> P<Pat>
Unstable (
rustc_private)fn pat_struct(&self, span: Span, path: Path, field_pats: Vec<Spanned<FieldPat>>) -> P<Pat>
Unstable (
rustc_private)fn pat_tuple(&self, span: Span, pats: Vec<P<Pat>>) -> P<Pat>
Unstable (
rustc_private)fn pat_some(&self, span: Span, pat: P<Pat>) -> P<Pat>
Unstable (
rustc_private)fn pat_none(&self, span: Span) -> P<Pat>
Unstable (
rustc_private)fn pat_ok(&self, span: Span, pat: P<Pat>) -> P<Pat>
Unstable (
rustc_private)fn pat_err(&self, span: Span, pat: P<Pat>) -> P<Pat>
Unstable (
rustc_private)fn arm(&self, span: Span, pats: Vec<P<Pat>>, expr: P<Expr>) -> Arm
Unstable (
rustc_private)fn arm_unreachable(&self, span: Span) -> Arm
Unstable (
rustc_private)fn expr_match(&self, span: Span, arg: P<Expr>, arms: Vec<Arm>) -> P<Expr>
Unstable (
rustc_private)fn expr_if(&self, span: Span, cond: P<Expr>, then: P<Expr>, els: Option<P<Expr>>) -> P<Expr>
Unstable (
rustc_private)fn expr_loop(&self, span: Span, block: P<Block>) -> P<Expr>
Unstable (
rustc_private)fn lambda_fn_decl(&self, span: Span, fn_decl: P<FnDecl>, blk: P<Block>, fn_decl_span: Span) -> P<Expr>
Unstable (
rustc_private)fn lambda(&self, span: Span, ids: Vec<Ident>, blk: P<Block>) -> P<Expr>
Unstable (
rustc_private)fn lambda0(&self, span: Span, blk: P<Block>) -> P<Expr>
Unstable (
rustc_private)fn lambda1(&self, span: Span, blk: P<Block>, ident: Ident) -> P<Expr>
Unstable (
rustc_private)fn lambda_expr(&self, span: Span, ids: Vec<Ident>, blk: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn lambda_expr_0(&self, span: Span, expr: P<Expr>) -> P<Expr>
Unstable (
rustc_private)fn lambda_expr_1(&self, span: Span, expr: P<Expr>, ident: Ident) -> P<Expr>
Unstable (
rustc_private)fn lambda_stmts(&self, span: Span, ids: Vec<Ident>, blk: Vec<Stmt>) -> P<Expr>
Unstable (
rustc_private)fn lambda_stmts_0(&self, span: Span, stmts: Vec<Stmt>) -> P<Expr>
Unstable (
rustc_private)fn lambda_stmts_1(&self, span: Span, stmts: Vec<Stmt>, ident: Ident) -> P<Expr>
Unstable (
rustc_private)fn item(&self, span: Span, name: Ident, attrs: Vec<Attribute>, node: ItemKind) -> P<Item>
Unstable (
rustc_private)fn arg(&self, span: Span, name: Ident, ty: P<Ty>) -> Arg
Unstable (
rustc_private)fn fn_decl(&self, inputs: Vec<Arg>, output: P<Ty>) -> P<FnDecl>
Unstable (
rustc_private)fn item_fn_poly(&self, span: Span, name: Ident, inputs: Vec<Arg>, output: P<Ty>, generics: Generics, body: P<Block>) -> P<Item>
Unstable (
rustc_private)fn item_fn(&self, span: Span, name: Ident, inputs: Vec<Arg>, output: P<Ty>, body: P<Block>) -> P<Item>
Unstable (
rustc_private)fn variant(&self, span: Span, name: Ident, tys: Vec<P<Ty>>) -> Variant
Unstable (
rustc_private)fn item_enum_poly(&self, span: Span, name: Ident, enum_definition: EnumDef, generics: Generics) -> P<Item>
Unstable (
rustc_private)fn item_enum(&self, span: Span, name: Ident, enum_def: EnumDef) -> P<Item>
Unstable (
rustc_private)fn item_struct_poly(&self, span: Span, name: Ident, struct_def: VariantData, generics: Generics) -> P<Item>
Unstable (
rustc_private)fn item_struct(&self, span: Span, name: Ident, struct_def: VariantData) -> P<Item>
Unstable (
rustc_private)fn item_mod(&self, span: Span, inner_span: Span, name: Ident, attrs: Vec<Attribute>, items: Vec<P<Item>>) -> P<Item>
Unstable (
rustc_private)fn item_static(&self, span: Span, name: Ident, ty: P<Ty>, mutbl: Mutability, expr: P<Expr>) -> P<Item>
Unstable (
rustc_private)fn item_const(&self, span: Span, name: Ident, ty: P<Ty>, expr: P<Expr>) -> P<Item>
Unstable (
rustc_private)fn item_ty_poly(&self, span: Span, name: Ident, ty: P<Ty>, generics: Generics) -> P<Item>
Unstable (
rustc_private)fn item_ty(&self, span: Span, name: Ident, ty: P<Ty>) -> P<Item>
Unstable (
rustc_private)fn attribute(&self, sp: Span, mi: P<MetaItem>) -> Attribute
Unstable (
rustc_private)fn meta_word(&self, sp: Span, w: InternedString) -> P<MetaItem>
Unstable (
rustc_private)fn meta_list(&self, sp: Span, name: InternedString, mis: Vec<P<MetaItem>>) -> P<MetaItem>
Unstable (
rustc_private)fn meta_name_value(&self, sp: Span, name: InternedString, value: LitKind) -> P<MetaItem>
Unstable (
rustc_private)fn item_use(&self, sp: Span, vis: Visibility, vp: P<ViewPath>) -> P<Item>
Unstable (
rustc_private)fn item_use_simple(&self, sp: Span, vis: Visibility, path: Path) -> P<Item>
Unstable (
rustc_private)fn item_use_simple_(&self, sp: Span, vis: Visibility, ident: Ident, path: Path) -> P<Item>
Unstable (
rustc_private)fn item_use_list(&self, sp: Span, vis: Visibility, path: Vec<Ident>, imports: &[Ident]) -> P<Item>
Unstable (
rustc_private)fn item_use_glob(&self, sp: Span, vis: Visibility, path: Vec<Ident>) -> P<Item>
Unstable (
rustc_private)Implementors
impl<'a> AstBuilder for ExtCtxt<'a>