diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/typecheck/rust-tyty.cc | 80 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-tyty.h | 76 |
2 files changed, 78 insertions, 78 deletions
diff --git a/gcc/rust/typecheck/rust-tyty.cc b/gcc/rust/typecheck/rust-tyty.cc index 6a65923..1f62aa5 100644 --- a/gcc/rust/typecheck/rust-tyty.cc +++ b/gcc/rust/typecheck/rust-tyty.cc @@ -30,12 +30,86 @@ #include "rust-hir-trait-ref.h" #include "rust-hir-type-bounds.h" -extern ::Backend * -rust_get_backend (); - namespace Rust { namespace TyTy { +std::string +TypeKindFormat::to_string (TypeKind kind) +{ + switch (kind) + { + case TypeKind::INFER: + return "Infer"; + + case TypeKind::ADT: + return "ADT"; + + case TypeKind::STR: + return "STR"; + + case TypeKind::REF: + return "REF"; + + case TypeKind::POINTER: + return "POINTER"; + + case TypeKind::PARAM: + return "PARAM"; + + case TypeKind::ARRAY: + return "ARRAY"; + + case TypeKind::FNDEF: + return "FnDef"; + + case TypeKind::FNPTR: + return "FnPtr"; + + case TypeKind::TUPLE: + return "Tuple"; + + case TypeKind::BOOL: + return "Bool"; + + case TypeKind::CHAR: + return "Char"; + + case TypeKind::INT: + return "Int"; + + case TypeKind::UINT: + return "Uint"; + + case TypeKind::FLOAT: + return "Float"; + + case TypeKind::USIZE: + return "Usize"; + + case TypeKind::ISIZE: + return "Isize"; + + case TypeKind::NEVER: + return "Never"; + + case TypeKind::PLACEHOLDER: + return "Placeholder"; + + case TypeKind::PROJECTION: + return "Projection"; + + case TypeKind::DYNAMIC: + return "Dynamic"; + + case TypeKind::CLOSURE: + return "Closure"; + + case TypeKind::ERROR: + return "ERROR"; + } + gcc_unreachable (); +} + bool BaseType::satisfies_bound (const TypeBoundPredicate &predicate) const { diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h index 6c9daf7..1362a96 100644 --- a/gcc/rust/typecheck/rust-tyty.h +++ b/gcc/rust/typecheck/rust-tyty.h @@ -69,81 +69,7 @@ enum TypeKind class TypeKindFormat { public: - static std::string to_string (TypeKind kind) - { - switch (kind) - { - case TypeKind::INFER: - return "Infer"; - - case TypeKind::ADT: - return "ADT"; - - case TypeKind::STR: - return "STR"; - - case TypeKind::REF: - return "REF"; - - case TypeKind::POINTER: - return "POINTER"; - - case TypeKind::PARAM: - return "PARAM"; - - case TypeKind::ARRAY: - return "ARRAY"; - - case TypeKind::FNDEF: - return "FnDef"; - - case TypeKind::FNPTR: - return "FnPtr"; - - case TypeKind::TUPLE: - return "Tuple"; - - case TypeKind::BOOL: - return "Bool"; - - case TypeKind::CHAR: - return "Char"; - - case TypeKind::INT: - return "Int"; - - case TypeKind::UINT: - return "Uint"; - - case TypeKind::FLOAT: - return "Float"; - - case TypeKind::USIZE: - return "Usize"; - - case TypeKind::ISIZE: - return "Isize"; - - case TypeKind::NEVER: - return "Never"; - - case TypeKind::PLACEHOLDER: - return "Placeholder"; - - case TypeKind::PROJECTION: - return "Projection"; - - case TypeKind::DYNAMIC: - return "Dynamic"; - - case TypeKind::CLOSURE: - return "Closure"; - - case TypeKind::ERROR: - return "ERROR"; - } - gcc_unreachable (); - } + static std::string to_string (TypeKind kind); }; class BaseType; |