Rename 'RequirementKind::ValueWitnessMarker' to 'WitnessMarker'.

It's witnessing protocol requirements, not values, and "value witness" has a particular meaning in IRGen.

Swift SVN r11814
This commit is contained in:
Joe Groff
2014-01-02 17:47:40 +00:00
parent e1d3cbd01d
commit 8bebb084e6
15 changed files with 28 additions and 28 deletions

View File

@@ -31,12 +31,12 @@ enum class RequirementKind : unsigned int {
/// A same-type requirement T == U, where T and U are types that shall be
/// equivalent.
SameType,
/// A marker that indicates where the value witness for the given (first)
/// A marker that indicates where the witness for the given (first)
/// type should be located.
///
/// FIXME: This is a crutch used to help us eliminate various walks over
/// "all archetypes".
ValueWitnessMarker
WitnessMarker
};
/// \brief A single requirement placed on the type parameters (or associated

View File

@@ -345,7 +345,7 @@ void PrintAST::printGenericParams(GenericParamList *Params) {
bool IsFirst = true;
for (auto &Req : Requirements) {
if (Req.isInvalid() ||
Req.getKind() == RequirementKind::ValueWitnessMarker)
Req.getKind() == RequirementKind::WitnessMarker)
continue;
if (IsFirst) {
@@ -366,7 +366,7 @@ void PrintAST::printGenericParams(GenericParamList *Params) {
Printer << " == ";
printTypeLoc(Req.getSecondTypeLoc());
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("Handled above");
}
}
@@ -1458,7 +1458,7 @@ public:
// Print the requirements.
bool isFirstReq = true;
for (const auto &req : T->getRequirements()) {
if (req.getKind() == RequirementKind::ValueWitnessMarker)
if (req.getKind() == RequirementKind::WitnessMarker)
continue;
if (isFirstReq) {
@@ -1478,7 +1478,7 @@ public:
Printer << " == ";
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("Handled above");
}
visit(req.getSecondType());

View File

@@ -537,7 +537,7 @@ bool ArchetypeBuilder::addRequirement(const RequirementRepr &Req) {
return addSameTypeRequirement(FirstPA, Req.getEqualLoc(), SecondPA);
}
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("Value witness marker in requirement");
}
@@ -580,7 +580,7 @@ void ArchetypeBuilder::addRequirement(const Requirement &req) {
return;
}
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
return;
}

View File

@@ -180,7 +180,7 @@ getBuiltinGenericFunction(Identifier Id,
->castTo<GenericTypeParamType>());
}
Requirement Marker(RequirementKind::ValueWitnessMarker,
Requirement Marker(RequirementKind::WitnessMarker,
GenericParamTypes[0], Type());
Type InterfaceType = GenericFunctionType::get(GenericParamTypes, Marker,
ArgParamType, ResType,

View File

@@ -247,7 +247,7 @@ addRequirementForRepr(SmallVectorImpl<Requirement> &requirements,
*/
return;
}
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("should not exist after typechecking (?)");
}
}

View File

@@ -2138,7 +2138,7 @@ case TypeKind::Id:
return true;
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
break;
}
}

View File

@@ -1204,7 +1204,7 @@ struct ASTNodeBase {};
// Skip the next same-type constraint.
continue;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
done = true;
break;
}
@@ -1265,7 +1265,7 @@ struct ASTNodeBase {};
}
if (requirements.front().getKind()
== RequirementKind::ValueWitnessMarker) {
== RequirementKind::WitnessMarker) {
auto type = ArchetypeBuilder::mapTypeIntoContext(
dc,
requirements.front().getFirstType());

View File

@@ -2679,7 +2679,7 @@ namespace {
auto genericParam = selfDecl->getDeclaredType()
->castTo<GenericTypeParamType>();
Requirement genericRequirements[2] = {
Requirement(RequirementKind::ValueWitnessMarker, genericParam, Type()),
Requirement(RequirementKind::WitnessMarker, genericParam, Type()),
Requirement(RequirementKind::Conformance, genericParam,
result->getDeclaredType())
};

View File

@@ -103,7 +103,7 @@ Type Solution::computeSubstitutions(
// Same-type requirements aren't recorded in substitutions.
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
// Flush the current conformances.
if (!substitutions.empty()) {
substitutions.back().Conformance

View File

@@ -718,7 +718,7 @@ void ConstraintSystem::openGeneric(
break;
}
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
break;
}
}

View File

@@ -823,7 +823,7 @@ static void checkGenericParamList(ArchetypeBuilder &builder,
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("value witness markers in syntactic requirement?");
}
@@ -863,7 +863,7 @@ void TypeChecker::revertGenericParamList(GenericParamList *genericParams,
revertDependentTypeLoc(req.getSecondTypeLoc());
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("value witness markers in syntactic requirement?");
}
}
@@ -922,7 +922,7 @@ static void finalizeGenericParamList(ArchetypeBuilder &builder,
}
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("value witness markers in syntactic requirement?");
}
}

View File

@@ -319,7 +319,7 @@ static bool checkGenericParameters(TypeChecker &tc, ArchetypeBuilder *builder,
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("value witness markers in syntactic requirement?");
}
@@ -407,7 +407,7 @@ addRequirements(
using PotentialArchetype = ArchetypeBuilder::PotentialArchetype;
// Add a value witness marker.
requirements.push_back(Requirement(RequirementKind::ValueWitnessMarker,
requirements.push_back(Requirement(RequirementKind::WitnessMarker,
type, Type()));
// Add superclass requirement, if needed.

View File

@@ -709,7 +709,7 @@ GenericParamList *ModuleFile::maybeReadGenericParams(DeclContext *DC) {
break;
}
case ValueWitnessMarker: {
case WitnessMarker: {
// Shouldn't happen where we have requirement representations.
error();
break;
@@ -794,11 +794,11 @@ void ModuleFile::readGenericRequirements(
first, second));
break;
}
case GenericRequirementKind::ValueWitnessMarker: {
case GenericRequirementKind::WitnessMarker: {
assert(rawTypeIDs.size() == 1);
auto first = getType(rawTypeIDs[0]);
requirements.push_back(Requirement(RequirementKind::ValueWitnessMarker,
requirements.push_back(Requirement(RequirementKind::WitnessMarker,
first, Type()));
break;
}

View File

@@ -125,7 +125,7 @@ static inline OperatorKind getStableFixity(DeclKind kind) {
enum GenericRequirementKind : uint8_t {
Conformance = 0,
SameType,
ValueWitnessMarker
WitnessMarker
};
using GenericRequirementKindField = BCFixed<2>;

View File

@@ -492,7 +492,7 @@ static uint8_t getRawStableRequirementKind(RequirementKind kind) {
switch (kind) {
CASE(Conformance)
CASE(SameType)
CASE(ValueWitnessMarker)
CASE(WitnessMarker)
}
#undef CASE
}
@@ -515,7 +515,7 @@ void Serializer::writeRequirements(ArrayRef<Requirement> requirements) {
addTypeRef(req.getSecondType()));
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
GenericRequirementLayout::emitRecord(
Out, ScratchRecord, reqAbbrCode,
getRawStableRequirementKind(req.getKind()),
@@ -564,7 +564,7 @@ bool Serializer::writeGenericParams(const GenericParamList *genericParams) {
addTypeRef(next.getFirstType()),
addTypeRef(next.getSecondType()));
break;
case RequirementKind::ValueWitnessMarker:
case RequirementKind::WitnessMarker:
llvm_unreachable("Can't show up in requirement representations");
break;
}