Skip to content

Commit 26ce1e1

Browse files
committed
Add some helper functions to front::attr
1 parent 5fb9cad commit 26ce1e1

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/comp/front/attr.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import std::vec;
44
import std::option;
55
import front::ast;
6+
import util::common;
67

78
export attr_metas;
89
export find_linkage_metas;
@@ -12,6 +13,9 @@ export contains;
1213
export sort_meta_items;
1314
export remove_meta_items_by_name;
1415
export get_attr_name;
16+
export mk_name_value_item;
17+
export mk_link_item;
18+
export mk_word_item;
1519

1620
// From a list of crate attributes get only the meta_items that impact crate
1721
// linkage
@@ -159,6 +163,22 @@ fn remove_meta_items_by_name(&vec[@ast::meta_item] items,
159163
ret vec::filter_map(filter, items);
160164
}
161165

166+
fn span[T](&T item) -> common::spanned[T] {
167+
ret rec(node=item, span=rec(lo=0u, hi=0u));
168+
}
169+
170+
fn mk_name_value_item(ast::ident name, str value) -> @ast::meta_item {
171+
ret @span(ast::meta_name_value(name, value));
172+
}
173+
174+
fn mk_list_item(ast::ident name, &vec[@ast::meta_item] items) -> @ast::meta_item {
175+
ret @span(ast::meta_list(name, items));
176+
}
177+
178+
fn mk_word_item(ast::ident name) -> @ast::meta_item {
179+
ret @span(ast::meta_word(name));
180+
}
181+
162182
//
163183
// Local Variables:
164184
// mode: rust

0 commit comments

Comments
 (0)