Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
18a825bd
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
18a825bd
编写于
11月 12, 2012
作者:
B
Brian Anderson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reorder codemap decls
上级
5b248a6c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
32 deletion
+32
-32
src/libsyntax/codemap.rs
src/libsyntax/codemap.rs
+32
-32
未找到文件。
src/libsyntax/codemap.rs
浏览文件 @
18a825bd
...
...
@@ -39,8 +39,40 @@
export
get_filemap
;
export
new_codemap
;
struct
span
{
lo
:
uint
,
hi
:
uint
,
expn_info
:
expn_info
}
impl
span
:
cmp
::
Eq
{
pure
fn
eq
(
other
:
&
span
)
->
bool
{
return
self
.lo
==
(
*
other
)
.lo
&&
self
.hi
==
(
*
other
)
.hi
;
}
pure
fn
ne
(
other
:
&
span
)
->
bool
{
!
self
.eq
(
other
)
}
}
impl
<
S
:
Serializer
>
span
:
Serializable
<
S
>
{
/* Note #1972 -- spans are serialized but not deserialized */
fn
serialize
(
&
self
,
_
s
:
&
S
)
{
}
}
impl
<
D
:
Deserializer
>
span
:
Deserializable
<
D
>
{
static
fn
deserialize
(
_
d
:
&
D
)
->
span
{
ast_util
::
dummy_sp
()
}
}
enum
expn_info_
{
expanded_from
({
call_site
:
span
,
callie
:
{
name
:
~
str
,
span
:
Option
<
span
>
}})
}
type
expn_info
=
Option
<@
expn_info_
>
;
type
filename
=
~
str
;
type
lookup_fn
=
pure
fn
(
file_pos
)
->
uint
;
struct
loc
{
file
:
@
filemap
,
line
:
uint
,
col
:
uint
}
struct
file_pos
{
ch
:
uint
,
byte
:
uint
}
...
...
@@ -90,10 +122,6 @@ struct CodeMap {
files
:
DVec
<@
filemap
>
}
struct
loc
{
file
:
@
filemap
,
line
:
uint
,
col
:
uint
}
fn
new_codemap
()
->
CodeMap
{
CodeMap
{
files
:
DVec
()
...
...
@@ -110,8 +138,6 @@ fn next_line(file: @filemap, chpos: uint, byte_pos: uint) {
file
.lines
.push
(
file_pos
{
ch
:
chpos
,
byte
:
byte_pos
+
file
.start_pos.byte
});
}
type
lookup_fn
=
pure
fn
(
file_pos
)
->
uint
;
fn
lookup_line
(
map
:
@
CodeMap
,
pos
:
uint
,
lookup
:
lookup_fn
)
->
{
fm
:
@
filemap
,
line
:
uint
}
{
...
...
@@ -186,32 +212,6 @@ fn adjust_span(map: @CodeMap, sp: span) -> span {
}
}
enum
expn_info_
{
expanded_from
({
call_site
:
span
,
callie
:
{
name
:
~
str
,
span
:
Option
<
span
>
}})
}
type
expn_info
=
Option
<@
expn_info_
>
;
struct
span
{
lo
:
uint
,
hi
:
uint
,
expn_info
:
expn_info
}
impl
span
:
cmp
::
Eq
{
pure
fn
eq
(
other
:
&
span
)
->
bool
{
return
self
.lo
==
(
*
other
)
.lo
&&
self
.hi
==
(
*
other
)
.hi
;
}
pure
fn
ne
(
other
:
&
span
)
->
bool
{
!
self
.eq
(
other
)
}
}
impl
<
S
:
Serializer
>
span
:
Serializable
<
S
>
{
/* Note #1972 -- spans are serialized but not deserialized */
fn
serialize
(
&
self
,
_
s
:
&
S
)
{
}
}
impl
<
D
:
Deserializer
>
span
:
Deserializable
<
D
>
{
static
fn
deserialize
(
_
d
:
&
D
)
->
span
{
ast_util
::
dummy_sp
()
}
}
fn
span_to_str_no_adj
(
sp
:
span
,
cm
:
@
CodeMap
)
->
~
str
{
let
lo
=
lookup_char_pos
(
cm
,
sp
.lo
);
let
hi
=
lookup_char_pos
(
cm
,
sp
.hi
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录