rustc: Remove direct access to the cname field of types

This commit is contained in:
Patrick Walton 2011-04-22 13:45:21 -07:00
parent c7473c8260
commit 14d1c53a9c

View file

@ -217,6 +217,9 @@ fn mk_native(@type_store ts) -> t { ret gen_ty(ts, ty_native); }
// Returns the one-level-deep type structure of the given type. // Returns the one-level-deep type structure of the given type.
fn struct(t typ) -> sty { ret typ.struct; } fn struct(t typ) -> sty { ret typ.struct; }
// Returns the canonical name of the given type.
fn cname(t typ) -> option.t[str] { ret typ.cname; }
// Stringification // Stringification
@ -346,7 +349,7 @@ fn ty_to_str(&t typ) -> str {
} }
case (ty_obj(?meths)) { case (ty_obj(?meths)) {
alt (typ.cname) { alt (cname(typ)) {
case (some[str](?cs)) { case (some[str](?cs)) {
s += cs; s += cs;
} }
@ -1214,15 +1217,15 @@ fn eq_ty_full(&t a, &t b) -> bool {
} }
// Check canonical names. // Check canonical names.
alt (a.cname) { alt (cname(a)) {
case (none[str]) { case (none[str]) {
alt (b.cname) { alt (cname(b)) {
case (none[str]) { /* ok */ } case (none[str]) { /* ok */ }
case (_) { ret false; } case (_) { ret false; }
} }
} }
case (some[str](?s_a)) { case (some[str](?s_a)) {
alt (b.cname) { alt (cname(b)) {
case (some[str](?s_b)) { case (some[str](?s_b)) {
if (!_str.eq(s_a, s_b)) { ret false; } if (!_str.eq(s_a, s_b)) { ret false; }
} }