| Index: src/types.cc
|
| diff --git a/src/types.cc b/src/types.cc
|
| index 9716686f25f1a4a285a8b6b4cf6bfd7f277a7128..17a19b29e4263ac4ef2907c0c9ba45d62baa4cf5 100644
|
| --- a/src/types.cc
|
| +++ b/src/types.cc
|
| @@ -240,6 +240,7 @@ int Type::GlbBitset() {
|
| // Check this <= that.
|
| bool Type::SlowIs(Type* that) {
|
| // Fast path for bitsets.
|
| + if (this->is_none()) return true;
|
| if (that->is_bitset()) {
|
| return (this->LubBitset() | that->as_bitset()) == that->as_bitset();
|
| }
|
| @@ -526,9 +527,13 @@ void Type::TypePrint(FILE* out) {
|
| }
|
| PrintF(out, "}");
|
| } else if (is_constant()) {
|
| - PrintF(out, "Constant(%p)", static_cast<void*>(*as_constant()));
|
| + PrintF(out, "Constant(%p : ", static_cast<void*>(*as_constant()));
|
| + from_bitset(LubBitset())->TypePrint(out);
|
| + PrintF(")");
|
| } else if (is_class()) {
|
| - PrintF(out, "Class(%p)", static_cast<void*>(*as_class()));
|
| + PrintF(out, "Class(%p < ", static_cast<void*>(*as_class()));
|
| + from_bitset(LubBitset())->TypePrint(out);
|
| + PrintF(")");
|
| } else if (is_union()) {
|
| PrintF(out, "{");
|
| Handle<Unioned> unioned = as_union();
|
|
|