use switch/cases instead of if/else blocks

parent 24747af2
......@@ -173,30 +173,19 @@ StructEqualityResult AnyList::Reader::equals(AnyList::Reader right) {
}
StructEqualityResult AnyPointer::Reader::equals(AnyPointer::Reader right) {
if(right.isCapability()) {
return StructEqualityResult::UNKNOWN_CONTAINS_CAPS;
}
if(isNull()) {
if(right.isNull()) {
return StructEqualityResult::EQUAL;
} else {
if(getPointerType() != right.getPointerType()) {
return StructEqualityResult::NOT_EQUAL;
}
} else if(isStruct()) {
if(right.isStruct()) {
switch(getPointerType()) {
case PointerType::NULL_:
return StructEqualityResult::EQUAL;
case PointerType::STRUCT:
return getAs<AnyStruct>().equals(right.getAs<AnyStruct>());
} else {
return StructEqualityResult::NOT_EQUAL;
}
} else if(isList()) {
if(right.isList()) {
case PointerType::LIST:
return getAs<AnyList>().equals(right.getAs<AnyList>());
} else {
return StructEqualityResult::NOT_EQUAL;
}
} else if(isCapability()) {
case PointerType::CAPABILITY:
return StructEqualityResult::UNKNOWN_CONTAINS_CAPS;
} else {
default:
// There aren't currently any other types of pointers
KJ_FAIL_REQUIRE();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment