Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
8d8876c0
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
8d8876c0
编写于
8月 08, 2017
作者:
N
Nick Cameron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
driver: factor out a helper and make another helper public
上级
65b0a0c2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
15 deletion
+20
-15
src/librustc_driver/lib.rs
src/librustc_driver/lib.rs
+20
-15
未找到文件。
src/librustc_driver/lib.rs
浏览文件 @
8d8876c0
...
...
@@ -518,7 +518,7 @@ fn build_controller(&mut self,
->
CompileController
<
'a
>
{
let
mut
control
=
CompileController
::
basic
();
control
.keep_ast
=
sess
.opts.debugging_opts.keep_ast
||
save_analysis
(
sess
)
;
control
.keep_ast
=
sess
.opts.debugging_opts.keep_ast
;
if
let
Some
((
ppm
,
opt_uii
))
=
parse_pretty
(
sess
,
matches
)
{
if
ppm
.needs_ast_map
(
&
opt_uii
)
{
...
...
@@ -574,19 +574,7 @@ fn build_controller(&mut self,
}
if
save_analysis
(
sess
)
{
control
.after_analysis.callback
=
box
|
state
|
{
time
(
state
.session
.time_passes
(),
"save analysis"
,
||
{
save
::
process_crate
(
state
.tcx
.unwrap
(),
state
.expanded_crate
.unwrap
(),
state
.analysis
.unwrap
(),
state
.crate_name
.unwrap
(),
None
,
DumpHandler
::
new
(
state
.out_dir
,
state
.crate_name
.unwrap
()))
});
};
control
.after_analysis.run_callback_on_error
=
true
;
control
.make_glob_map
=
resolve
::
MakeGlobMap
::
Yes
;
enable_save_analysis
(
&
mut
control
);
}
if
sess
.print_fuel_crate
.is_some
()
{
...
...
@@ -603,6 +591,23 @@ fn build_controller(&mut self,
}
}
pub
fn
enable_save_analysis
(
control
:
&
mut
CompileController
)
{
control
.keep_ast
=
true
;
control
.after_analysis.callback
=
box
|
state
|
{
time
(
state
.session
.time_passes
(),
"save analysis"
,
||
{
save
::
process_crate
(
state
.tcx
.unwrap
(),
state
.expanded_crate
.unwrap
(),
state
.analysis
.unwrap
(),
state
.crate_name
.unwrap
(),
None
,
DumpHandler
::
new
(
state
.out_dir
,
state
.crate_name
.unwrap
()))
});
};
control
.after_analysis.run_callback_on_error
=
true
;
control
.make_glob_map
=
resolve
::
MakeGlobMap
::
Yes
;
}
fn
save_analysis
(
sess
:
&
Session
)
->
bool
{
sess
.opts.debugging_opts.save_analysis
}
...
...
@@ -1215,7 +1220,7 @@ pub fn diagnostics_registry() -> errors::registry::Registry {
Registry
::
new
(
&
all_errors
)
}
fn
get_args
()
->
Vec
<
String
>
{
pub
fn
get_args
()
->
Vec
<
String
>
{
env
::
args_os
()
.enumerate
()
.map
(|(
i
,
arg
)|
arg
.into_string
()
.unwrap_or_else
(|
arg
|
{
early_error
(
ErrorOutputType
::
default
(),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录