diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-06-30 16:53:13 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-07-01 10:45:29 -0700 |
| commit | 26ce1e1035b88e5397539a08d83f134de7eb9cf4 (patch) | |
| tree | 414e03efc98cbd457f8a824ac102e1af09350ab4 /src/comp/front | |
| parent | 5fb9cad38d68408907b0e1a9a40f871c91a7186e (diff) | |
| download | rust-26ce1e1035b88e5397539a08d83f134de7eb9cf4.tar.gz rust-26ce1e1035b88e5397539a08d83f134de7eb9cf4.zip | |
Add some helper functions to front::attr
Diffstat (limited to 'src/comp/front')
| -rw-r--r-- | src/comp/front/attr.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/comp/front/attr.rs b/src/comp/front/attr.rs index 4fe0b814165..af9bbf31a1f 100644 --- a/src/comp/front/attr.rs +++ b/src/comp/front/attr.rs @@ -3,6 +3,7 @@ import std::vec; import std::option; import front::ast; +import util::common; export attr_metas; export find_linkage_metas; @@ -12,6 +13,9 @@ export contains; export sort_meta_items; export remove_meta_items_by_name; export get_attr_name; +export mk_name_value_item; +export mk_link_item; +export mk_word_item; // From a list of crate attributes get only the meta_items that impact crate // linkage @@ -159,6 +163,22 @@ fn remove_meta_items_by_name(&vec[@ast::meta_item] items, ret vec::filter_map(filter, items); } +fn span[T](&T item) -> common::spanned[T] { + ret rec(node=item, span=rec(lo=0u, hi=0u)); +} + +fn mk_name_value_item(ast::ident name, str value) -> @ast::meta_item { + ret @span(ast::meta_name_value(name, value)); +} + +fn mk_list_item(ast::ident name, &vec[@ast::meta_item] items) -> @ast::meta_item { + ret @span(ast::meta_list(name, items)); +} + +fn mk_word_item(ast::ident name) -> @ast::meta_item { + ret @span(ast::meta_word(name)); +} + // // Local Variables: // mode: rust |
