Skip to content

Commit afa7409

Browse files
committed
---
yaml --- r: 3529 b: refs/heads/master c: 26ce1e1 h: refs/heads/master i: 3527: 07bb100 v: v3
1 parent 0429a96 commit afa7409

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 5fb9cad38d68408907b0e1a9a40f871c91a7186e
2+
refs/heads/master: 26ce1e1035b88e5397539a08d83f134de7eb9cf4

trunk/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)