Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
516fbed2
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
516fbed2
编写于
1月 05, 2012
作者:
M
Marijn Haverbeke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix bad spans for ast::ty parsing
The span would be pointing after the actual text.
上级
6559aa8b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
9 deletion
+6
-9
src/comp/syntax/parse/parser.rs
src/comp/syntax/parse/parser.rs
+6
-9
未找到文件。
src/comp/syntax/parse/parser.rs
浏览文件 @
516fbed2
...
...
@@ -394,16 +394,14 @@ fn parse_type_constraints(p: parser) -> [@ast::ty_constr] {
ret
parse_constrs
(
parse_constr_in_type
,
p
);
}
fn
parse_ty_postfix
(
orig_t
:
ast
::
ty_
,
p
:
parser
,
colons_before_params
:
bool
)
->
@
ast
::
ty
{
let
lo
=
p
.get_lo_pos
();
fn
parse_ty_postfix
(
orig_t
:
ast
::
ty_
,
p
:
parser
,
colons_before_params
:
bool
,
lo
:
uint
)
->
@
ast
::
ty
{
if
colons_before_params
&&
p
.peek
()
==
token
::
MOD_SEP
{
p
.bump
();
expect
(
p
,
token
::
LT
);
}
else
if
!
colons_before_params
&&
p
.peek
()
==
token
::
LT
{
p
.bump
();
}
else
{
ret
@
spanned
(
lo
,
p
.get_l
o
_pos
(),
orig_t
);
}
}
else
{
ret
@
spanned
(
lo
,
p
.get_l
ast_hi
_pos
(),
orig_t
);
}
// If we're here, we have explicit type parameter instantiation.
let
seq
=
parse_seq_to_gt
(
some
(
token
::
COMMA
),
{|
p
|
parse_ty
(
p
,
false
)},
...
...
@@ -411,9 +409,8 @@ fn parse_ty_postfix(orig_t: ast::ty_, p: parser, colons_before_params: bool)
alt
orig_t
{
ast
::
ty_path
(
pth
,
ann
)
{
let
hi
=
p
.get_hi_pos
();
ret
@
spanned
(
lo
,
hi
,
ast
::
ty_path
(
@
spanned
(
lo
,
hi
,
ret
@
spanned
(
lo
,
p
.get_last_hi_pos
(),
ast
::
ty_path
(
@
spanned
(
lo
,
p
.get_last_hi_pos
(),
{
global
:
pth
.node.global
,
idents
:
pth
.node.idents
,
types
:
seq
}),
ann
));
...
...
@@ -527,7 +524,7 @@ fn parse_ty(p: parser, colons_before_params: bool) -> @ast::ty {
let
path
=
parse_path
(
p
);
t
=
ast
::
ty_path
(
path
,
p
.get_id
());
}
else
{
p
.fatal
(
"expecting type"
);
}
ret
parse_ty_postfix
(
t
,
p
,
colons_before_params
);
ret
parse_ty_postfix
(
t
,
p
,
colons_before_params
,
lo
);
}
fn
parse_arg_mode
(
p
:
parser
)
->
ast
::
mode
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录