@@ -141,61 +141,58 @@ class RecursiveTypeProperties {
141
141
// / This type expression contains a GenericTypeParamType.
142
142
HasTypeParameter = 0x04 ,
143
143
144
- // / This type expression contains an UnresolvedType.
145
- HasUnresolvedType = 0x08 ,
146
-
147
144
// / Whether this type expression contains an unbound generic type.
148
- HasUnboundGeneric = 0x10 ,
145
+ HasUnboundGeneric = 0x08 ,
149
146
150
147
// / This type expression contains an LValueType other than as a
151
148
// / function input, and can be loaded to convert to an rvalue.
152
- IsLValue = 0x20 ,
149
+ IsLValue = 0x10 ,
153
150
154
151
// / This type expression contains an opened existential ArchetypeType.
155
- HasOpenedExistential = 0x40 ,
152
+ HasOpenedExistential = 0x20 ,
156
153
157
154
// / This type expression contains a DynamicSelf type.
158
- HasDynamicSelf = 0x80 ,
155
+ HasDynamicSelf = 0x40 ,
159
156
160
157
// / This type contains an Error type.
161
- HasError = 0x100 ,
158
+ HasError = 0x80 ,
162
159
163
160
// / This type contains an Error type without an underlying original type.
164
- HasBareError = 0x200 ,
161
+ HasBareError = 0x100 ,
165
162
166
163
// / This type contains a DependentMemberType.
167
- HasDependentMember = 0x400 ,
164
+ HasDependentMember = 0x200 ,
168
165
169
166
// / This type contains an OpaqueTypeArchetype.
170
- HasOpaqueArchetype = 0x800 ,
167
+ HasOpaqueArchetype = 0x400 ,
171
168
172
169
// / This type contains a type placeholder.
173
- HasPlaceholder = 0x1000 ,
170
+ HasPlaceholder = 0x800 ,
174
171
175
172
// / This type contains a generic type parameter that is declared as a
176
173
// / parameter pack.
177
- HasParameterPack = 0x2000 ,
174
+ HasParameterPack = 0x1000 ,
178
175
179
176
// / This type contains a parameterized existential type \c any P<T>.
180
- HasParameterizedExistential = 0x4000 ,
177
+ HasParameterizedExistential = 0x2000 ,
181
178
182
179
// / This type contains an ElementArchetypeType.
183
- HasElementArchetype = 0x8000 ,
180
+ HasElementArchetype = 0x4000 ,
184
181
185
182
// / Whether the type is allocated in the constraint solver arena. This can
186
183
// / differ from \c HasTypeVariable for types such as placeholders, which do
187
184
// / not have type variables, but we still want to allocate in the solver if
188
185
// / they have a type variable originator.
189
- SolverAllocated = 0x10000 ,
186
+ SolverAllocated = 0x8000 ,
190
187
191
188
// / Contains a PackType.
192
- HasPack = 0x20000 ,
189
+ HasPack = 0x10000 ,
193
190
194
191
// / Contains a PackArchetypeType. Also implies HasPrimaryArchetype.
195
- HasPackArchetype = 0x40000 ,
192
+ HasPackArchetype = 0x20000 ,
196
193
197
194
// / Whether this type contains an unsafe type.
198
- IsUnsafe = 0x080000 ,
195
+ IsUnsafe = 0x040000 ,
199
196
200
197
Last_Property = IsUnsafe
201
198
};
@@ -228,9 +225,6 @@ class RecursiveTypeProperties {
228
225
// / Does a type with these properties have a type parameter somewhere in it?
229
226
bool hasTypeParameter () const { return Bits & HasTypeParameter; }
230
227
231
- // / Does a type with these properties have an unresolved type somewhere in it?
232
- bool hasUnresolvedType () const { return Bits & HasUnresolvedType; }
233
-
234
228
// / Is a type with these properties an lvalue?
235
229
bool isLValue () const { return Bits & IsLValue; }
236
230
@@ -756,11 +750,6 @@ class alignas(1 << TypeAlignInBits) TypeBase
756
750
// / member root in a type variable.
757
751
bool isTypeVariableOrMember ();
758
752
759
- // / Determine whether this type involves a UnresolvedType.
760
- bool hasUnresolvedType () const {
761
- return getRecursiveProperties ().hasUnresolvedType ();
762
- }
763
-
764
753
// / Determine whether this type involves a \c PlaceholderType.
765
754
bool hasPlaceholder () const {
766
755
return getRecursiveProperties ().hasPlaceholder ();
@@ -1712,25 +1701,6 @@ class ErrorType final : public TypeBase {
1712
1701
}
1713
1702
};
1714
1703
DEFINE_EMPTY_CAN_TYPE_WRAPPER (ErrorType, Type)
1715
-
1716
- // / UnresolvedType - This represents a type variable that cannot be resolved to
1717
- // / a concrete type because the expression is ambiguous. This is produced when
1718
- // / parsing expressions and producing diagnostics. Any instance of this should
1719
- // / cause the entire expression to be ambiguously typed.
1720
- class UnresolvedType : public TypeBase {
1721
- friend class ASTContext ;
1722
- // The Unresolved type is always canonical.
1723
- UnresolvedType (ASTContext &C)
1724
- : TypeBase(TypeKind::Unresolved, &C,
1725
- RecursiveTypeProperties (RecursiveTypeProperties::HasUnresolvedType)) { }
1726
- public:
1727
- // Implement isa/cast/dyncast/etc.
1728
- static bool classof (const TypeBase *T) {
1729
- return T->getKind () == TypeKind::Unresolved;
1730
- }
1731
- };
1732
- DEFINE_EMPTY_CAN_TYPE_WRAPPER (UnresolvedType, Type)
1733
-
1734
1704
1735
1705
// / BuiltinType - An abstract class for all the builtin types.
1736
1706
class BuiltinType : public TypeBase {
0 commit comments