Skip to content

Commit 8477058

Browse files
committed
ASTVerifier: Handle PropertyWrapperValuePlaceholderExpr
1 parent 9ad7461 commit 8477058

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
@@ -846,6 +846,21 @@ class Verifier : public ASTWalker {
846846
OpaqueValues.erase(expr->getInterpolationExpr());
847847
}
848848

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

0 commit comments

Comments
 (0)