Skip to content

Commit 7c1db3c

Browse files
committed
ASTVerifier: Handle PropertyWrapperValuePlaceholderExpr
1 parent a823cad commit 7c1db3c

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

lib/AST/ASTVerifier.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,21 @@ class Verifier : public ASTWalker {
845845
OpaqueValues.erase(expr->getInterpolationExpr());
846846
}
847847

848+
bool shouldVerify(PropertyWrapperValuePlaceholderExpr *expr) {
849+
if (!shouldVerify(cast<Expr>(expr)))
850+
return false;
851+
852+
assert(expr->getOpaqueValuePlaceholder());
853+
assert(!OpaqueValues.count(expr->getOpaqueValuePlaceholder()));
854+
OpaqueValues[expr->getOpaqueValuePlaceholder()] = 0;
855+
return true;
856+
}
857+
858+
void cleanup(PropertyWrapperValuePlaceholderExpr *expr) {
859+
assert(OpaqueValues.count(expr->getOpaqueValuePlaceholder()));
860+
OpaqueValues.erase(expr->getOpaqueValuePlaceholder());
861+
}
862+
848863
void pushLocalGenerics(GenericEnvironment *env) {
849864
assert(LocalGenerics.count(env)==0);
850865
LocalGenerics.insert(env);
@@ -2287,7 +2302,7 @@ class Verifier : public ASTWalker {
22872302
}
22882303
verifyCheckedBase(E);
22892304
}
2290-
2305+
22912306
void verifyChecked(MakeTemporarilyEscapableExpr *E) {
22922307
PrettyStackTraceExpr debugStack(
22932308
Ctx, "verifying MakeTemporarilyEscapableExpr", E);

0 commit comments

Comments
 (0)