Skip to content

Commit 87422a4

Browse files
committed
---
yaml --- r: 3277 b: refs/heads/master c: 77af54b h: refs/heads/master i: 3275: 965d116 v: v3
1 parent f74d8fa commit 87422a4

File tree

2 files changed

+56
-52
lines changed

2 files changed

+56
-52
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 75681f9ad7a6b79c5a34fd80c95c22258e30ddb5
2+
refs/heads/master: 77af54bf6f7d5e7cb704e08689ea96746bc57819

trunk/src/comp/middle/resolve.rs

Lines changed: 55 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -502,12 +502,12 @@ fn resolve_import(&env e, &@ast::view_item it, &scopes sc) {
502502
}
503503
}
504504
}
505-
fn register(&env e, def_id defid, &span sp, &ident id,
505+
fn register(&env e, def_id defid, &span sp, &ident name,
506506
&option::t[def] val, &option::t[def] typ,
507507
&option::t[def] md) {
508508
if (option::is_none(val) && option::is_none(typ) &&
509509
option::is_none(md)) {
510-
unresolved_err(e, sp, id, "import");
510+
unresolved_err(e, sp, name, "import");
511511
} else {
512512
e.imports.insert(defid._1, resolved(val, typ, md));
513513
}
@@ -538,8 +538,8 @@ fn ns_name(namespace ns) -> str {
538538
}
539539
}
540540

541-
fn unresolved_err(&env e, &span sp, &ident id, &str kind) {
542-
e.sess.span_err(sp, mk_unresolved_msg(id, kind));
541+
fn unresolved_err(&env e, &span sp, &ident name, &str kind) {
542+
e.sess.span_err(sp, mk_unresolved_msg(name, kind));
543543
}
544544

545545
fn unresolved_fatal(&env e, &span sp, &ident id, &str kind) -> ! {
@@ -566,11 +566,11 @@ fn lookup_path_strict(&env e, &scopes sc, &span sp, vec[ident] idents,
566566
ret dcur;
567567
}
568568

569-
fn lookup_in_scope_strict(&env e, scopes sc, &span sp, &ident id,
569+
fn lookup_in_scope_strict(&env e, scopes sc, &span sp, &ident name,
570570
namespace ns) -> option::t[def] {
571-
alt (lookup_in_scope(e, sc, sp, id, ns)) {
571+
alt (lookup_in_scope(e, sc, sp, name, ns)) {
572572
case (none) {
573-
unresolved_err(e, sp, id, ns_name(ns));
573+
unresolved_err(e, sp, name, ns_name(ns));
574574
ret none;
575575
}
576576
case (some(?d)) { ret some(d); }
@@ -598,35 +598,37 @@ fn def_is_obj_field(&def d) -> bool {
598598
ret alt (d) { case (ast::def_obj_field(_)) { true } case (_) { false } };
599599
}
600600

601-
fn lookup_in_scope(&env e, scopes sc, &span sp, &ident id, namespace ns) ->
601+
fn lookup_in_scope(&env e, scopes sc, &span sp, &ident name, namespace ns) ->
602602
option::t[def] {
603-
fn in_scope(&env e, &span sp, &ident id, &scope s, namespace ns) ->
603+
fn in_scope(&env e, &span sp, &ident name, &scope s, namespace ns) ->
604604
option::t[def] {
605605
//not recursing through globs
606606

607607
alt (s) {
608608
case (scope_crate(?c)) {
609-
ret lookup_in_local_mod(e, -1, sp, id, ns, inside);
609+
ret lookup_in_local_mod(e, -1, sp, name, ns, inside);
610610
}
611611
case (scope_item(?it)) {
612612
alt (it.node) {
613613
case (ast::item_obj(?ob, ?ty_params, _)) {
614-
ret lookup_in_obj(id, ob, ty_params, ns);
614+
ret lookup_in_obj(name, ob, ty_params, ns);
615615
}
616616
case (ast::item_tag(_, ?ty_params)) {
617617
if (ns == ns_type) {
618-
ret lookup_in_ty_params(id, ty_params);
618+
ret lookup_in_ty_params(name, ty_params);
619619
}
620620
}
621621
case (ast::item_mod(_)) {
622-
ret lookup_in_local_mod(e, it.id, sp, id, ns, inside);
622+
ret lookup_in_local_mod
623+
(e, it.id, sp, name, ns, inside);
623624
}
624625
case (ast::item_native_mod(?m)) {
625-
ret lookup_in_local_native_mod(e, it.id, sp, id, ns);
626+
ret lookup_in_local_native_mod
627+
(e, it.id, sp, name, ns);
626628
}
627629
case (ast::item_ty(_, ?ty_params)) {
628630
if (ns == ns_type) {
629-
ret lookup_in_ty_params(id, ty_params);
631+
ret lookup_in_ty_params(name, ty_params);
630632
}
631633
}
632634
case (_) { }
@@ -636,23 +638,23 @@ fn lookup_in_scope(&env e, scopes sc, &span sp, &ident id, namespace ns) ->
636638
alt (it.node) {
637639
case (ast::native_item_fn(_, _, ?decl, ?ty_params, _))
638640
{
639-
ret lookup_in_fn(id, decl, ty_params, ns);
641+
ret lookup_in_fn(name, decl, ty_params, ns);
640642
}
641643
}
642644
}
643645
case (scope_fn(?decl, ?ty_params)) {
644-
ret lookup_in_fn(id, decl, ty_params, ns);
646+
ret lookup_in_fn(name, decl, ty_params, ns);
645647
}
646648
case (scope_loop(?local)) {
647649
if (ns == ns_value) {
648-
if (str::eq(local.node.ident, id)) {
650+
if (str::eq(local.node.ident, name)) {
649651
ret some(ast::def_local(local_def(local.node.id)));
650652
}
651653
}
652654
}
653-
case (scope_block(?b)) { ret lookup_in_block(id, b.node, ns); }
655+
case (scope_block(?b)) { ret lookup_in_block(name, b.node, ns); }
654656
case (scope_arm(?a)) {
655-
if (ns == ns_value) { ret lookup_in_pat(id, *a.pat); }
657+
if (ns == ns_value) { ret lookup_in_pat(name, *a.pat); }
656658
}
657659
}
658660
ret none[def];
@@ -665,7 +667,7 @@ fn lookup_in_scope(&env e, scopes sc, &span sp, &ident id, namespace ns) ->
665667
alt ({ sc }) {
666668
case (nil) { ret none[def]; }
667669
case (cons(?hd, ?tl)) {
668-
auto fnd = in_scope(e, sp, id, hd, ns);
670+
auto fnd = in_scope(e, sp, name, hd, ns);
669671
if (!option::is_none(fnd)) {
670672
auto df = option::get(fnd);
671673
if (left_fn && def_is_local(df) ||
@@ -686,89 +688,90 @@ fn lookup_in_scope(&env e, scopes sc, &span sp, &ident id, namespace ns) ->
686688

687689
}
688690

689-
fn lookup_in_ty_params(&ident id, &vec[ast::ty_param] ty_params) ->
691+
fn lookup_in_ty_params(&ident name, &vec[ast::ty_param] ty_params) ->
690692
option::t[def] {
691693
auto i = 0u;
692694
for (ast::ty_param tp in ty_params) {
693-
if (str::eq(tp, id)) { ret some(ast::def_ty_arg(i)); }
695+
if (str::eq(tp, name)) { ret some(ast::def_ty_arg(i)); }
694696
i += 1u;
695697
}
696698
ret none[def];
697699
}
698700

699-
fn lookup_in_pat(&ident ident, &ast::pat pat) -> option::t[def] {
701+
fn lookup_in_pat(&ident name, &ast::pat pat) -> option::t[def] {
700702
alt (pat.node) {
701-
case (ast::pat_bind(?name, ?id)) {
702-
if (str::eq(name, ident)) {
703+
case (ast::pat_bind(?p_name, ?id)) {
704+
if (str::eq(p_name, name)) {
703705
ret some(ast::def_binding(local_def(id)));
704706
}
705707
}
706708
case (ast::pat_wild(_)) { }
707709
case (ast::pat_lit(_, _)) { }
708710
case (ast::pat_tag(_, ?pats, _)) {
709711
for (@ast::pat p in pats) {
710-
auto found = lookup_in_pat(ident, *p);
712+
auto found = lookup_in_pat(name, *p);
711713
if (!option::is_none(found)) { ret found; }
712714
}
713715
}
714716
}
715717
ret none[def];
716718
}
717719

718-
fn lookup_in_fn(&ident id, &ast::fn_decl decl, &vec[ast::ty_param] ty_params,
720+
fn lookup_in_fn(&ident name, &ast::fn_decl decl,
721+
&vec[ast::ty_param] ty_params,
719722
namespace ns) -> option::t[def] {
720723
alt (ns) {
721724
case (ns_value) {
722725
for (ast::arg a in decl.inputs) {
723-
if (str::eq(a.ident, id)) {
726+
if (str::eq(a.ident, name)) {
724727
ret some(ast::def_arg(local_def(a.id)));
725728
}
726729
}
727730
ret none[def];
728731
}
729-
case (ns_type) { ret lookup_in_ty_params(id, ty_params); }
732+
case (ns_type) { ret lookup_in_ty_params(name, ty_params); }
730733
case (_) { ret none[def]; }
731734
}
732735
}
733736

734-
fn lookup_in_obj(&ident id, &ast::_obj ob, &vec[ast::ty_param] ty_params,
737+
fn lookup_in_obj(&ident name, &ast::_obj ob, &vec[ast::ty_param] ty_params,
735738
namespace ns) -> option::t[def] {
736739
alt (ns) {
737740
case (ns_value) {
738741
for (ast::obj_field f in ob.fields) {
739-
if (str::eq(f.ident, id)) {
742+
if (str::eq(f.ident, name)) {
740743
ret some(ast::def_obj_field(local_def(f.id)));
741744
}
742745
}
743746
ret none[def];
744747
}
745-
case (ns_type) { ret lookup_in_ty_params(id, ty_params); }
748+
case (ns_type) { ret lookup_in_ty_params(name, ty_params); }
746749
case (_) { ret none[def]; }
747750
}
748751
}
749752

750-
fn lookup_in_block(&ident id, &ast::block_ b, namespace ns) ->
753+
fn lookup_in_block(&ident name, &ast::block_ b, namespace ns) ->
751754
option::t[def] {
752755
for (@ast::stmt st in b.stmts) {
753756
alt (st.node) {
754757
case (ast::stmt_decl(?d, _)) {
755758
alt (d.node) {
756759
case (ast::decl_local(?loc)) {
757-
if (ns == ns_value && str::eq(id, loc.node.ident)) {
760+
if (ns == ns_value && str::eq(name, loc.node.ident)) {
758761
ret some(ast::def_local(local_def(loc.node.id)));
759762
}
760763
}
761764
case (ast::decl_item(?it)) {
762765
alt (it.node) {
763766
case (ast::item_tag(?variants, _)) {
764767
if (ns == ns_type) {
765-
if (str::eq(it.ident, id)) {
768+
if (str::eq(it.ident, name)) {
766769
ret some(ast::def_ty
767770
(local_def(it.id)));
768771
}
769772
} else if (ns == ns_value) {
770773
for (ast::variant v in variants) {
771-
if (str::eq(v.node.name, id)) {
774+
if (str::eq(v.node.name, name)) {
772775
auto i = v.node.id;
773776
ret some(ast::def_variant
774777
(local_def(it.id),
@@ -778,7 +781,7 @@ fn lookup_in_block(&ident id, &ast::block_ b, namespace ns) ->
778781
}
779782
}
780783
case (_) {
781-
if (str::eq(it.ident, id)) {
784+
if (str::eq(it.ident, name)) {
782785
auto found = found_def_item(it, ns);
783786
if (!option::is_none(found)) {
784787
ret found;
@@ -839,39 +842,40 @@ fn found_def_item(&@ast::item i, namespace ns) -> option::t[def] {
839842
ret none[def];
840843
}
841844

842-
fn lookup_in_mod_strict(&env e, def m, &span sp, &ident id, namespace ns,
845+
fn lookup_in_mod_strict(&env e, def m, &span sp, &ident name, namespace ns,
843846
dir dr) -> option::t[def] {
844-
alt (lookup_in_mod(e, m, sp, id, ns, dr)) {
847+
alt (lookup_in_mod(e, m, sp, name, ns, dr)) {
845848
case (none) {
846-
unresolved_err(e, sp, id, ns_name(ns));
849+
unresolved_err(e, sp, name, ns_name(ns));
847850
ret none;
848851
}
849852
case (some(?d)) { ret some(d); }
850853
}
851854
}
852855

853-
fn lookup_in_mod(&env e, def m, &span sp, &ident id, namespace ns, dir dr) ->
856+
fn lookup_in_mod(&env e, def m, &span sp, &ident name, namespace ns,
857+
dir dr) ->
854858
option::t[def] {
855859
auto defid = ast::def_id_of_def(m);
856860
if (defid._0 != ast::local_crate) {
857861
// examining a module in an external crate
858862

859-
auto cached = e.ext_cache.find(tup(defid, id, ns));
863+
auto cached = e.ext_cache.find(tup(defid, name, ns));
860864
if (!option::is_none(cached)) { ret cached; }
861-
auto path = [id];
865+
auto path = [name];
862866
if (defid._1 != -1) { path = e.ext_map.get(defid) + path; }
863867
auto fnd = lookup_external(e, defid._0, path, ns);
864868
if (!option::is_none(fnd)) {
865-
e.ext_cache.insert(tup(defid, id, ns), option::get(fnd));
869+
e.ext_cache.insert(tup(defid, name, ns), option::get(fnd));
866870
}
867871
ret fnd;
868872
}
869873
alt (m) {
870874
case (ast::def_mod(?defid)) {
871-
ret lookup_in_local_mod(e, defid._1, sp, id, ns, dr);
875+
ret lookup_in_local_mod(e, defid._1, sp, name, ns, dr);
872876
}
873877
case (ast::def_native_mod(?defid)) {
874-
ret lookup_in_local_native_mod(e, defid._1, sp, id, ns);
878+
ret lookup_in_local_native_mod(e, defid._1, sp, name, ns);
875879
}
876880
}
877881
}
@@ -1319,13 +1323,13 @@ fn checker(&env e, str kind) -> checker {
13191323
ret @rec(mutable seen=seen, kind=kind, sess=e.sess);
13201324
}
13211325

1322-
fn add_name(&checker ch, &span sp, &ident id) {
1326+
fn add_name(&checker ch, &span sp, &ident name) {
13231327
for (ident s in ch.seen) {
1324-
if (str::eq(s, id)) {
1325-
ch.sess.span_fatal(sp, "duplicate " + ch.kind + " name: " + id);
1328+
if (str::eq(s, name)) {
1329+
ch.sess.span_fatal(sp, "duplicate " + ch.kind + " name: " + name);
13261330
}
13271331
}
1328-
vec::push(ch.seen, id);
1332+
vec::push(ch.seen, name);
13291333
}
13301334

13311335
fn ident_id(&ident i) -> ident { ret i; }

0 commit comments

Comments
 (0)