Swift: extract CurrentContextIsolationExpr

This commit is contained in:
Paolo Tranquilli
2025-04-14 09:48:05 +02:00
parent 42ec6b018d
commit 712142cde9
16 changed files with 207 additions and 15 deletions

View File

@@ -203,7 +203,7 @@ MAP(swift::Expr, ExprTag)
MAP(swift::MaterializePackExpr, MaterializePackExprTag)
MAP(swift::SingleValueStmtExpr, SingleValueStmtExprTag)
MAP(swift::ExtractFunctionIsolationExpr, ExtractFunctionIsolationExprTag)
MAP(swift::CurrentContextIsolationExpr, void) // TODO swift 6.0
MAP(swift::CurrentContextIsolationExpr, CurrentContextIsolationExprTag)
MAP(swift::Decl, DeclTag)
MAP(swift::ValueDecl, ValueDeclTag)
MAP(swift::TypeDecl, TypeDeclTag)

View File

@@ -678,4 +678,11 @@ codeql::ExtractFunctionIsolationExpr ExprTranslator::translateExtractFunctionIso
return entry;
}
codeql::CurrentContextIsolationExpr ExprTranslator::translateCurrentContextIsolationExpr(
const swift::CurrentContextIsolationExpr& expr) {
auto entry = createExprEntry(expr);
entry.actor = dispatcher.fetchLabel(expr.getActor());
return entry;
}
} // namespace codeql

View File

@@ -127,6 +127,8 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
codeql::MaterializePackExpr translateMaterializePackExpr(const swift::MaterializePackExpr& expr);
codeql::ExtractFunctionIsolationExpr translateExtractFunctionIsolationExpr(
const swift::ExtractFunctionIsolationExpr& expr);
codeql::CurrentContextIsolationExpr translateCurrentContextIsolationExpr(
const swift::CurrentContextIsolationExpr& expr);
private:
void fillClosureExpr(const swift::AbstractClosureExpr& expr, codeql::ClosureExpr& entry);