1
Fork 0

syntax: Move fn spanned into ast_util

This commit is contained in:
Brian Anderson 2012-04-19 21:24:42 -07:00
parent bcbcbad774
commit 7fa7e56341
4 changed files with 8 additions and 9 deletions

View file

@ -1,6 +1,10 @@
import codemap::span; import codemap::span;
import ast::*; import ast::*;
fn spanned<T: copy>(lo: uint, hi: uint, t: T) -> spanned<T> {
ret respan(mk_sp(lo, hi), t);
}
fn respan<T: copy>(sp: span, t: T) -> spanned<T> { fn respan<T: copy>(sp: span, t: T) -> spanned<T> {
ret {node: t, span: sp}; ret {node: t, span: sp};
} }

View file

@ -1,9 +1,9 @@
import either::{either, left, right}; import either::{either, left, right};
import ast_util::spanned;
import common::{parse_seq, import common::{parse_seq,
seq_sep, seq_sep,
expect, expect,
parse_ident, parse_ident};
spanned};
import parser::{parse_lit, import parser::{parse_lit,
parse_syntax_ext_naked}; parse_syntax_ext_naked};

View file

@ -1,5 +1,5 @@
import std::map::{hashmap}; import std::map::{hashmap};
import ast::spanned; import ast_util::spanned;
import parser::parser; import parser::parser;
fn token_to_str(reader: reader, token: token::token) -> str { fn token_to_str(reader: reader, token: token::token) -> str {
@ -27,10 +27,6 @@ fn expect(p: parser, t: token::token) {
} }
} }
fn spanned<T: copy>(lo: uint, hi: uint, node: T) -> spanned<T> {
ret {node: node, span: ast_util::mk_sp(lo, hi)};
}
fn parse_ident(p: parser) -> ast::ident { fn parse_ident(p: parser) -> ast::ident {
alt p.token { alt p.token {
token::IDENT(i, _) { p.bump(); ret p.get_str(i); } token::IDENT(i, _) { p.bump(); ret p.get_str(i); }

View file

@ -4,8 +4,7 @@ import std::map::{hashmap, str_hash};
import token::{can_begin_expr, is_ident, is_plain_ident}; import token::{can_begin_expr, is_ident, is_plain_ident};
import codemap::{span,fss_none}; import codemap::{span,fss_none};
import util::interner; import util::interner;
import ast::spanned; import ast_util::{spanned, mk_sp, ident_to_path};
import ast_util::{mk_sp, ident_to_path};
import lexer::reader; import lexer::reader;
import prec::{op_spec, as_prec}; import prec::{op_spec, as_prec};
import attr::{parse_outer_attrs_or_ext, import attr::{parse_outer_attrs_or_ext,