fn mk_ident(cx: &ExtCtxt, sp: Span, ident: ast::Ident) -> P<ast::Expr> {
    let e_str = cx.expr_str(sp, ident.name.as_str());
    cx.expr_method_call(sp,
                        cx.expr_ident(sp, id_ext("ext_cx")),
                        id_ext("ident_of"),
                        vec!(e_str))
}
// Lift an ident to the expr that evaluates to that ident.
Lift an ident to the expr that evaluates to that ident.
Lift an ident to the expr that evaluates to that ident .
fn mk_ident(cx: &ExtCtxt, sp: Span, ident: ast::Ident) -> P<ast::Expr> {
    let e_str = cx.expr_str(sp, ident.name.as_str());
    cx.expr_method_call(sp,
                        cx.expr_ident(sp, id_ext("ext_cx")),
                        id_ext("ident_of"),
                        vec!(e_str))
}
fn mk_ident ( cx : & ExtCtxt , sp : Span , ident : ast :: Ident ) -> P < ast :: Expr > { let e_str = cx . expr_str ( sp , ident . name . as_str ( ) ) ; cx . expr_method_call ( sp , cx . expr_ident ( sp , id_ext ( " " ) ) , id_ext ( " " ) , vec ! ( e_str ) ) }
Lift an ident to the expr that evaluates to that ident.
Lift an ident to the expr that evaluates to that ident .
cx
&ExtCtxt
sp
Span
ident
ast::Ident
cx
&ExtCtxt
sp
Span
ident
ast::Ident