libsyntax: De-mut the parser. rs=demuting
This commit is contained in:
parent
77dc3ad810
commit
934c938f90
10 changed files with 332 additions and 333 deletions
|
@ -49,6 +49,9 @@ pub trait gen_init {
|
|||
pub impl gen_send for message {
|
||||
fn gen_send(&mut self, cx: ext_ctxt, try: bool) -> @ast::item {
|
||||
debug!("pipec: gen_send");
|
||||
let name = self.name();
|
||||
let params = self.get_params();
|
||||
|
||||
match *self {
|
||||
message(ref _id, span, ref tys, this, Some(ref next_state)) => {
|
||||
debug!("pipec: next state exists");
|
||||
|
@ -67,7 +70,7 @@ pub impl gen_send for message {
|
|||
args_ast);
|
||||
|
||||
let mut body = ~"{\n";
|
||||
body += fmt!("use super::%s;\n", self.name());
|
||||
body += fmt!("use super::%s;\n", name);
|
||||
|
||||
if this.proto.is_bounded() {
|
||||
let (sp, rp) = match (this.dir, next.dir) {
|
||||
|
@ -96,7 +99,7 @@ pub impl gen_send for message {
|
|||
body += fmt!("let %s = ::core::pipes::entangle();\n", pat);
|
||||
}
|
||||
body += fmt!("let message = %s(%s);\n",
|
||||
self.name(),
|
||||
name,
|
||||
str::connect(vec::append_one(
|
||||
arg_names.map(|x| cx.str_of(*x)),
|
||||
~"s"), ~", "));
|
||||
|
@ -121,13 +124,12 @@ pub impl gen_send for message {
|
|||
rty = cx.ty_option(rty);
|
||||
}
|
||||
|
||||
let name = cx.ident_of(if try { ~"try_" + self.name()
|
||||
} else { self.name() } );
|
||||
let name = cx.ident_of(if try { ~"try_" + name } else { name } );
|
||||
|
||||
cx.item_fn_poly(name,
|
||||
args_ast,
|
||||
rty,
|
||||
self.get_params(),
|
||||
params,
|
||||
cx.expr_block(body))
|
||||
}
|
||||
|
||||
|
@ -156,10 +158,8 @@ pub impl gen_send for message {
|
|||
};
|
||||
|
||||
let mut body = ~"{ ";
|
||||
body += fmt!("use super::%s;\n", self.name());
|
||||
body += fmt!("let message = %s%s;\n",
|
||||
self.name(),
|
||||
message_args);
|
||||
body += fmt!("use super::%s;\n", name);
|
||||
body += fmt!("let message = %s%s;\n", name, message_args);
|
||||
|
||||
if !try {
|
||||
body += fmt!("::core::pipes::send(pipe, message);\n");
|
||||
|
@ -175,10 +175,7 @@ pub impl gen_send for message {
|
|||
|
||||
let body = cx.parse_expr(body);
|
||||
|
||||
let name = if try {
|
||||
~"try_" + self.name()
|
||||
}
|
||||
else { self.name() };
|
||||
let name = if try { ~"try_" + name } else { name };
|
||||
|
||||
cx.item_fn_poly(cx.ident_of(name),
|
||||
args_ast,
|
||||
|
@ -187,7 +184,7 @@ pub impl gen_send for message {
|
|||
} else {
|
||||
cx.ty_nil_ast_builder()
|
||||
},
|
||||
self.get_params(),
|
||||
params,
|
||||
cx.expr_block(body))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue