diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-08-03 19:59:04 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-08-05 22:08:09 -0700 |
| commit | 025d86624de982cdab7e6b13600fec1499c02b56 (patch) | |
| tree | 96ba196f8a420c52e6034acd14f323d3d2239e29 /src/libsyntax/attr.rs | |
| parent | c9d27693796fe4ced8568e11aa465750f743097b (diff) | |
| download | rust-025d86624de982cdab7e6b13600fec1499c02b56.tar.gz rust-025d86624de982cdab7e6b13600fec1499c02b56.zip | |
Switch alts to use arrows
Diffstat (limited to 'src/libsyntax/attr.rs')
| -rw-r--r-- | src/libsyntax/attr.rs | 87 |
1 files changed, 38 insertions, 49 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs index da0dec061bb..f04a8e42ab7 100644 --- a/src/libsyntax/attr.rs +++ b/src/libsyntax/attr.rs @@ -115,9 +115,9 @@ fn get_attr_name(attr: ast::attribute) -> ast::ident { // All "bad" FIXME copies are as per #2543 fn get_meta_item_name(meta: @ast::meta_item) -> ast::ident { alt meta.node { - ast::meta_word(n) { /* FIXME (#2543) */ copy n } - ast::meta_name_value(n, _) { /* FIXME (#2543) */ copy n } - ast::meta_list(n, _) { /* FIXME (#2543) */ copy n } + ast::meta_word(n) => /* FIXME (#2543) */ copy n, + ast::meta_name_value(n, _) => /* FIXME (#2543) */ copy n, + ast::meta_list(n, _) => /* FIXME (#2543) */ copy n } } @@ -127,25 +127,19 @@ fn get_meta_item_name(meta: @ast::meta_item) -> ast::ident { */ fn get_meta_item_value_str(meta: @ast::meta_item) -> option<@~str> { alt meta.node { - ast::meta_name_value(_, v) { - alt v.node { - ast::lit_str(s) { - option::some(s) - } - _ { - option::none - } - } + ast::meta_name_value(_, v) => alt v.node { + ast::lit_str(s) => option::some(s), + _ => option::none } - _ { option::none } + _ => option::none } } /// Gets a list of inner meta items from a list meta_item type fn get_meta_item_list(meta: @ast::meta_item) -> option<~[@ast::meta_item]> { alt meta.node { - ast::meta_list(_, l) { option::some(/* FIXME (#2543) */ copy l) } - _ { option::none } + ast::meta_list(_, l) => option::some(/* FIXME (#2543) */ copy l), + _ => option::none } } @@ -157,11 +151,11 @@ fn get_name_value_str_pair( item: @ast::meta_item ) -> option<(ast::ident, @~str)> { alt attr::get_meta_item_value_str(item) { - some(value) { + some(value) => { let name = attr::get_meta_item_name(item); some((name, value)) } - none { none } + none => none } } @@ -210,16 +204,15 @@ fn contains(haystack: ~[@ast::meta_item], needle: @ast::meta_item) -> bool { fn eq(a: @ast::meta_item, b: @ast::meta_item) -> bool { return alt a.node { - ast::meta_word(na) { - alt b.node { ast::meta_word(nb) { na == nb } _ { false } } + ast::meta_word(na) => alt b.node { + ast::meta_word(nb) => na == nb, + _ => false } - ast::meta_name_value(na, va) { - alt b.node { - ast::meta_name_value(nb, vb) { na == nb && va.node == vb.node } - _ { false } - } + ast::meta_name_value(na, va) => alt b.node { + ast::meta_name_value(nb, vb) => na == nb && va.node == vb.node, + _ => false } - ast::meta_list(na, la) { + ast::meta_list(na, la) => { // ~[Fixme-sorting] // FIXME (#607): Needs implementing @@ -261,13 +254,11 @@ fn last_meta_item_value_str_by_name( +name: ~str ) -> option<@~str> { alt last_meta_item_by_name(items, name) { - some(item) { - alt attr::get_meta_item_value_str(item) { - some(value) { some(value) } - none { none } - } + some(item) => alt attr::get_meta_item_value_str(item) { + some(value) => some(value), + none => none } - none { none } + none => none } } @@ -276,10 +267,8 @@ fn last_meta_item_list_by_name( +name: ~str ) -> option<~[@ast::meta_item]> { alt last_meta_item_by_name(items, name) { - some(item) { - attr::get_meta_item_list(item) - } - none { none } + some(item) => attr::get_meta_item_list(item), + none => none } } @@ -292,9 +281,9 @@ fn sort_meta_items(+items: ~[@ast::meta_item]) -> ~[@ast::meta_item] { pure fn lteq(ma: &@ast::meta_item, mb: &@ast::meta_item) -> bool { pure fn key(m: &ast::meta_item) -> ast::ident { alt m.node { - ast::meta_word(name) { /* FIXME (#2543) */ copy name } - ast::meta_name_value(name, _) { /* FIXME (#2543) */ copy name } - ast::meta_list(name, _) { /* FIXME (#2543) */ copy name } + ast::meta_word(name) => /* FIXME (#2543) */ copy name, + ast::meta_name_value(name, _) => /* FIXME (#2543) */ copy name, + ast::meta_list(name, _) => /* FIXME (#2543) */ copy name } } key(*ma) <= key(*mb) @@ -322,8 +311,8 @@ fn find_linkage_attrs(attrs: ~[ast::attribute]) -> ~[ast::attribute] { let mut found = ~[]; for find_attrs_by_name(attrs, ~"link").each |attr| { alt attr.node.value.node { - ast::meta_list(_, _) { vec::push(found, attr) } - _ { debug!{"ignoring link attribute that has incorrect type"}; } + ast::meta_list(_, _) => vec::push(found, attr), + _ => debug!{"ignoring link attribute that has incorrect type"} } } return found; @@ -336,26 +325,26 @@ fn find_linkage_attrs(attrs: ~[ast::attribute]) -> ~[ast::attribute] { fn find_linkage_metas(attrs: ~[ast::attribute]) -> ~[@ast::meta_item] { do find_linkage_attrs(attrs).flat_map |attr| { alt check attr.node.value.node { - ast::meta_list(_, items) { /* FIXME (#2543) */ copy items } + ast::meta_list(_, items) => /* FIXME (#2543) */ copy items } } } fn foreign_abi(attrs: ~[ast::attribute]) -> either<~str, ast::foreign_abi> { return alt attr::first_attr_value_str_by_name(attrs, ~"abi") { - option::none { + option::none => { either::right(ast::foreign_abi_cdecl) } - option::some(@~"rust-intrinsic") { + option::some(@~"rust-intrinsic") => { either::right(ast::foreign_abi_rust_intrinsic) } - option::some(@~"cdecl") { + option::some(@~"cdecl") => { either::right(ast::foreign_abi_cdecl) } - option::some(@~"stdcall") { + option::some(@~"stdcall") => { either::right(ast::foreign_abi_stdcall) } - option::some(t) { + option::some(t) => { either::left(~"unsupported abi: " + *t) } }; @@ -373,8 +362,8 @@ fn find_inline_attr(attrs: ~[ast::attribute]) -> inline_attr { // FIXME (#2809)---validate the usage of #[inline] and #[inline(always)] do vec::foldl(ia_none, attrs) |ia,attr| { alt attr.node.value.node { - ast::meta_word(@~"inline") { ia_hint } - ast::meta_list(@~"inline", items) { + ast::meta_word(@~"inline") => ia_hint, + ast::meta_list(@~"inline", items) => { if !vec::is_empty(find_meta_items_by_name(items, ~"always")) { ia_always } else if !vec::is_empty( @@ -384,7 +373,7 @@ fn find_inline_attr(attrs: ~[ast::attribute]) -> inline_attr { ia_hint } } - _ { ia } + _ => ia } } } |
