Skip to content

Commit d2d2144

Browse files
committed
Refactor away NameSearchType
1 parent 1fcde2b commit d2d2144

File tree

2 files changed

+11
-55
lines changed

2 files changed

+11
-55
lines changed

src/librustc_resolve/lib.rs

+10-52
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ use self::RibKind::*;
4444
use self::UseLexicalScopeFlag::*;
4545
use self::ModulePrefixResult::*;
4646
use self::AssocItemResolveResult::*;
47-
use self::NameSearchType::*;
4847
use self::BareIdentifierPatternResolution::*;
4948
use self::ParentLink::*;
5049
use self::FallbackChecks::*;
@@ -784,16 +783,6 @@ enum AssocItemResolveResult {
784783
ResolveAttempt(Option<PathResolution>),
785784
}
786785

787-
#[derive(Copy, Clone, PartialEq)]
788-
enum NameSearchType {
789-
/// We're doing a name search in order to resolve a `use` directive.
790-
ImportSearch,
791-
792-
/// We're doing a name search in order to resolve a path type, a path
793-
/// expression, or a path pattern.
794-
PathSearch,
795-
}
796-
797786
#[derive(Copy, Clone)]
798787
enum BareIdentifierPatternResolution {
799788
FoundStructOrEnumVariant(Def, LastPrivate),
@@ -1370,7 +1359,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
13701359
module_path: &[Name],
13711360
index: usize,
13721361
span: Span,
1373-
name_search_type: NameSearchType,
13741362
lp: LastPrivate)
13751363
-> ResolveResult<(Module<'a>, LastPrivate)> {
13761364
fn search_parent_externals<'a>(needle: Name, module: Module<'a>)
@@ -1396,11 +1384,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
13961384
// modules as we go.
13971385
while index < module_path_len {
13981386
let name = module_path[index];
1399-
match self.resolve_name_in_module(search_module,
1400-
name,
1401-
TypeNS,
1402-
name_search_type,
1403-
false) {
1387+
match self.resolve_name_in_module(search_module, name, TypeNS, false) {
14041388
Failed(None) => {
14051389
let segment_name = name.as_str();
14061390
let module_name = module_to_string(search_module);
@@ -1477,8 +1461,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
14771461
module_: Module<'a>,
14781462
module_path: &[Name],
14791463
use_lexical_scope: UseLexicalScopeFlag,
1480-
span: Span,
1481-
name_search_type: NameSearchType)
1464+
span: Span)
14821465
-> ResolveResult<(Module<'a>, LastPrivate)> {
14831466
let module_path_len = module_path.len();
14841467
assert!(module_path_len > 0);
@@ -1559,7 +1542,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
15591542
module_path,
15601543
start_index,
15611544
span,
1562-
name_search_type,
15631545
last_private)
15641546
}
15651547

@@ -1658,11 +1640,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
16581640
}
16591641

16601642
// Resolve the name in the parent module.
1661-
match self.resolve_name_in_module(search_module,
1662-
name,
1663-
namespace,
1664-
PathSearch,
1665-
true) {
1643+
match self.resolve_name_in_module(search_module, name, namespace, true) {
16661644
Failed(Some((span, msg))) => {
16671645
resolve_error(self, span, ResolutionError::FailedToResolve(&*msg));
16681646
}
@@ -1787,7 +1765,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
17871765
module_: Module<'a>,
17881766
name: Name,
17891767
namespace: Namespace,
1790-
name_search_type: NameSearchType,
17911768
allow_private_imports: bool)
17921769
-> ResolveResult<(Target<'a>, bool)> {
17931770
debug!("(resolving name in module) resolving `{}` in `{}`",
@@ -3167,11 +3144,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
31673144
let containing_module;
31683145
let last_private;
31693146
let current_module = self.current_module;
3170-
match self.resolve_module_path(current_module,
3171-
&module_path[..],
3172-
UseLexicalScope,
3173-
span,
3174-
PathSearch) {
3147+
match self.resolve_module_path(current_module, &module_path, UseLexicalScope, span) {
31753148
Failed(err) => {
31763149
let (span, msg) = match err {
31773150
Some((span, msg)) => (span, msg),
@@ -3193,11 +3166,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
31933166
}
31943167

31953168
let name = segments.last().unwrap().identifier.name;
3196-
let def = match self.resolve_name_in_module(containing_module,
3197-
name,
3198-
namespace,
3199-
NameSearchType::PathSearch,
3200-
false) {
3169+
let def = match self.resolve_name_in_module(containing_module, name, namespace, false) {
32013170
Success((Target { binding, .. }, _)) => {
32023171
let (def, lp) = binding.def_and_lp();
32033172
(def, last_private.or(lp))
@@ -3232,7 +3201,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
32323201
&module_path[..],
32333202
0,
32343203
span,
3235-
PathSearch,
32363204
LastMod(AllPublic)) {
32373205
Failed(err) => {
32383206
let (span, msg) = match err {
@@ -3257,11 +3225,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
32573225
}
32583226

32593227
let name = segments.last().unwrap().identifier.name;
3260-
match self.resolve_name_in_module(containing_module,
3261-
name,
3262-
namespace,
3263-
NameSearchType::PathSearch,
3264-
false) {
3228+
match self.resolve_name_in_module(containing_module, name, namespace, false) {
32653229
Success((Target { binding, .. }, _)) => {
32663230
let (def, lp) = binding.def_and_lp();
32673231
Some((def, last_private.or(lp)))
@@ -3303,7 +3267,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
33033267
if let Success((target, _)) = self.resolve_name_in_module(module,
33043268
ident.unhygienic_name,
33053269
namespace,
3306-
PathSearch,
33073270
true) {
33083271
if let Some(def) = target.binding.def() {
33093272
return Some(LocalDef::from_def(def));
@@ -3399,11 +3362,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
33993362
}
34003363
}
34013364
} else {
3402-
match this.resolve_module_path(root,
3403-
&name_path[..],
3404-
UseLexicalScope,
3405-
span,
3406-
PathSearch) {
3365+
match this.resolve_module_path(root, &name_path, UseLexicalScope, span) {
34073366
Success((module, _)) => Some(module),
34083367
_ => None,
34093368
}
@@ -3649,10 +3608,9 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
36493608
let current_module = self.current_module;
36503609

36513610
match self.resolve_module_path(current_module,
3652-
&name_path[..],
3653-
UseLexicalScope,
3654-
expr.span,
3655-
PathSearch) {
3611+
&name_path[..],
3612+
UseLexicalScope,
3613+
expr.span) {
36563614
Success(_) => {
36573615
context = UnresolvedNameContext::PathIsMod(expr.id);
36583616
},

src/librustc_resolve/resolve_imports.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use Namespace::{self, TypeNS, ValueNS};
1616
use {NameBindings, NameBinding};
1717
use NamespaceResult::{BoundResult, UnboundResult, UnknownResult};
1818
use NamespaceResult;
19-
use NameSearchType;
2019
use ResolveResult;
2120
use Resolver;
2221
use UseLexicalScopeFlag;
@@ -321,8 +320,7 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> {
321320
match self.resolver.resolve_module_path(module_,
322321
&module_path[..],
323322
UseLexicalScopeFlag::DontUseLexicalScope,
324-
import_directive.span,
325-
NameSearchType::ImportSearch) {
323+
import_directive.span) {
326324
ResolveResult::Failed(err) => {
327325
resolution_result = ResolveResult::Failed(err);
328326
None

0 commit comments

Comments
 (0)