@@ -141,61 +141,58 @@ class RecursiveTypeProperties {
141141 // / This type expression contains a GenericTypeParamType.
142142 HasTypeParameter = 0x04 ,
143143
144- // / This type expression contains an UnresolvedType.
145- HasUnresolvedType = 0x08 ,
146-
147144 // / Whether this type expression contains an unbound generic type.
148- HasUnboundGeneric = 0x10 ,
145+ HasUnboundGeneric = 0x08 ,
149146
150147 // / This type expression contains an LValueType other than as a
151148 // / function input, and can be loaded to convert to an rvalue.
152- IsLValue = 0x20 ,
149+ IsLValue = 0x10 ,
153150
154151 // / This type expression contains an opened existential ArchetypeType.
155- HasOpenedExistential = 0x40 ,
152+ HasOpenedExistential = 0x20 ,
156153
157154 // / This type expression contains a DynamicSelf type.
158- HasDynamicSelf = 0x80 ,
155+ HasDynamicSelf = 0x40 ,
159156
160157 // / This type contains an Error type.
161- HasError = 0x100 ,
158+ HasError = 0x80 ,
162159
163160 // / This type contains an Error type without an underlying original type.
164- HasBareError = 0x200 ,
161+ HasBareError = 0x100 ,
165162
166163 // / This type contains a DependentMemberType.
167- HasDependentMember = 0x400 ,
164+ HasDependentMember = 0x200 ,
168165
169166 // / This type contains an OpaqueTypeArchetype.
170- HasOpaqueArchetype = 0x800 ,
167+ HasOpaqueArchetype = 0x400 ,
171168
172169 // / This type contains a type placeholder.
173- HasPlaceholder = 0x1000 ,
170+ HasPlaceholder = 0x800 ,
174171
175172 // / This type contains a generic type parameter that is declared as a
176173 // / parameter pack.
177- HasParameterPack = 0x2000 ,
174+ HasParameterPack = 0x1000 ,
178175
179176 // / This type contains a parameterized existential type \c any P<T>.
180- HasParameterizedExistential = 0x4000 ,
177+ HasParameterizedExistential = 0x2000 ,
181178
182179 // / This type contains an ElementArchetypeType.
183- HasElementArchetype = 0x8000 ,
180+ HasElementArchetype = 0x4000 ,
184181
185182 // / Whether the type is allocated in the constraint solver arena. This can
186183 // / differ from \c HasTypeVariable for types such as placeholders, which do
187184 // / not have type variables, but we still want to allocate in the solver if
188185 // / they have a type variable originator.
189- SolverAllocated = 0x10000 ,
186+ SolverAllocated = 0x8000 ,
190187
191188 // / Contains a PackType.
192- HasPack = 0x20000 ,
189+ HasPack = 0x10000 ,
193190
194191 // / Contains a PackArchetypeType. Also implies HasPrimaryArchetype.
195- HasPackArchetype = 0x40000 ,
192+ HasPackArchetype = 0x20000 ,
196193
197194 // / Whether this type contains an unsafe type.
198- IsUnsafe = 0x080000 ,
195+ IsUnsafe = 0x040000 ,
199196
200197 Last_Property = IsUnsafe
201198 };
@@ -228,9 +225,6 @@ class RecursiveTypeProperties {
228225 // / Does a type with these properties have a type parameter somewhere in it?
229226 bool hasTypeParameter () const { return Bits & HasTypeParameter; }
230227
231- // / Does a type with these properties have an unresolved type somewhere in it?
232- bool hasUnresolvedType () const { return Bits & HasUnresolvedType; }
233-
234228 // / Is a type with these properties an lvalue?
235229 bool isLValue () const { return Bits & IsLValue; }
236230
@@ -756,11 +750,6 @@ class alignas(1 << TypeAlignInBits) TypeBase
756750 // / member root in a type variable.
757751 bool isTypeVariableOrMember ();
758752
759- // / Determine whether this type involves a UnresolvedType.
760- bool hasUnresolvedType () const {
761- return getRecursiveProperties ().hasUnresolvedType ();
762- }
763-
764753 // / Determine whether this type involves a \c PlaceholderType.
765754 bool hasPlaceholder () const {
766755 return getRecursiveProperties ().hasPlaceholder ();
@@ -1712,25 +1701,6 @@ class ErrorType final : public TypeBase {
17121701 }
17131702};
17141703DEFINE_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-
17341704
17351705// / BuiltinType - An abstract class for all the builtin types.
17361706class BuiltinType : public TypeBase {
0 commit comments