Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
27b9182d
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,发现更多精彩内容 >>
提交
27b9182d
编写于
8月 01, 2017
作者:
N
Nick Cameron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
review changes
上级
bbc00c9e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
11 addition
and
7 deletion
+11
-7
src/Cargo.lock
src/Cargo.lock
+1
-0
src/librustc_save_analysis/Cargo.toml
src/librustc_save_analysis/Cargo.toml
+1
-0
src/librustc_save_analysis/dump_visitor.rs
src/librustc_save_analysis/dump_visitor.rs
+3
-3
src/librustc_save_analysis/lib.rs
src/librustc_save_analysis/lib.rs
+1
-0
src/librustc_save_analysis/span_utils.rs
src/librustc_save_analysis/span_utils.rs
+5
-4
未找到文件。
src/Cargo.lock
浏览文件 @
27b9182d
...
...
@@ -1549,6 +1549,7 @@ dependencies = [
"rls-span 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc 0.0.0",
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc_data_structures 0.0.0",
"rustc_typeck 0.0.0",
"syntax 0.0.0",
"syntax_pos 0.0.0",
...
...
src/librustc_save_analysis/Cargo.toml
浏览文件 @
27b9182d
...
...
@@ -11,6 +11,7 @@ crate-type = ["dylib"]
[dependencies]
log
=
"0.3"
rustc
=
{
path
=
"../librustc"
}
rustc_data_structures
=
{
path
=
"../librustc_data_structures"
}
rustc_typeck
=
{
path
=
"../librustc_typeck"
}
syntax
=
{
path
=
"../libsyntax"
}
syntax_pos
=
{
path
=
"../libsyntax_pos"
}
...
...
src/librustc_save_analysis/dump_visitor.rs
浏览文件 @
27b9182d
...
...
@@ -29,8 +29,8 @@
use
rustc
::
hir
::
map
::
Node
;
use
rustc
::
session
::
Session
;
use
rustc
::
ty
::{
self
,
TyCtxt
};
use
rustc_data_structures
::
fx
::
FxHashSet
;
use
std
::
collections
::
HashSet
;
use
std
::
path
::
Path
;
use
syntax
::
ast
::{
self
,
NodeId
,
PatKind
,
Attribute
,
CRATE_NODE_ID
};
...
...
@@ -75,7 +75,7 @@ pub struct DumpVisitor<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> {
// we only write one macro def per unique macro definition, and
// one macro use per unique callsite span.
// mac_defs: HashSet<Span>,
macro_calls
:
HashSet
<
Span
>
,
macro_calls
:
Fx
HashSet
<
Span
>
,
}
impl
<
'l
,
'tcx
:
'l
,
'll
,
O
:
DumpOutput
+
'll
>
DumpVisitor
<
'l
,
'tcx
,
'll
,
O
>
{
...
...
@@ -91,7 +91,7 @@ pub fn new(save_ctxt: SaveContext<'l, 'tcx>,
span
:
span_utils
.clone
(),
cur_scope
:
CRATE_NODE_ID
,
// mac_defs: HashSet::new(),
macro_calls
:
HashSet
::
new
(),
macro_calls
:
FxHashSet
(),
}
}
...
...
src/librustc_save_analysis/lib.rs
浏览文件 @
27b9182d
...
...
@@ -23,6 +23,7 @@
#[macro_use]
extern
crate
log
;
#[macro_use]
extern
crate
syntax
;
extern
crate
rustc_data_structures
;
extern
crate
rustc_serialize
;
extern
crate
rustc_typeck
;
extern
crate
syntax_pos
;
...
...
src/librustc_save_analysis/span_utils.rs
浏览文件 @
27b9182d
...
...
@@ -398,9 +398,10 @@ pub fn filter_generated(&self, sub_span: Option<Span>, parent: Span) -> bool {
return
false
;
}
// If sub_span is none, filter out generated code.
if
sub_span
.is_none
()
{
return
true
;
}
let
sub_span
=
match
sub_span
{
Some
(
ss
)
=>
ss
,
None
=>
return
true
,
};
//If the span comes from a fake filemap, filter it.
if
!
self
.sess
.codemap
()
.lookup_char_pos
(
parent
.lo
)
.file
.is_real_file
()
{
...
...
@@ -409,7 +410,7 @@ pub fn filter_generated(&self, sub_span: Option<Span>, parent: Span) -> bool {
// Otherwise, a generated span is deemed invalid if it is not a sub-span of the root
// callsite. This filters out macro internal variables and most malformed spans.
!
parent
.source_callsite
()
.contains
(
sub_span
.unwrap
()
)
!
parent
.source_callsite
()
.contains
(
sub_span
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录