Skip to content

Commit 2910cb6

Browse files
committed
Swift: extract ExtracFunctionIsolationExpr
1 parent 8631371 commit 2910cb6

21 files changed

+262
-9
lines changed

swift/extractor/infra/SwiftTagTraits.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ MAP(swift::Expr, ExprTag)
202202
MAP(swift::ConsumeExpr, ConsumeExprTag)
203203
MAP(swift::MaterializePackExpr, MaterializePackExprTag)
204204
MAP(swift::SingleValueStmtExpr, SingleValueStmtExprTag)
205-
MAP(swift::ExtractFunctionIsolationExpr, void) // TODO swift 6.0
205+
MAP(swift::ExtractFunctionIsolationExpr, ExtractFunctionIsolationExprTag)
206206
MAP(swift::CurrentContextIsolationExpr, void) // TODO swift 6.0
207207
MAP(swift::Decl, DeclTag)
208208
MAP(swift::ValueDecl, ValueDeclTag)

swift/extractor/translators/ExprTranslator.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,4 +671,11 @@ codeql::MaterializePackExpr ExprTranslator::translateMaterializePackExpr(
671671
return entry;
672672
}
673673

674+
codeql::ExtractFunctionIsolationExpr ExprTranslator::translateExtractFunctionIsolationExpr(
675+
const swift::ExtractFunctionIsolationExpr& expr) {
676+
auto entry = createExprEntry(expr);
677+
entry.function_expr = dispatcher.fetchLabel(expr.getFunctionExpr());
678+
return entry;
679+
}
680+
674681
} // namespace codeql

swift/extractor/translators/ExprTranslator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
125125
codeql::CopyExpr translateCopyExpr(const swift::CopyExpr& expr);
126126
codeql::ConsumeExpr translateConsumeExpr(const swift::ConsumeExpr& expr);
127127
codeql::MaterializePackExpr translateMaterializePackExpr(const swift::MaterializePackExpr& expr);
128+
codeql::ExtractFunctionIsolationExpr translateExtractFunctionIsolationExpr(
129+
const swift::ExtractFunctionIsolationExpr& expr);
128130

129131
private:
130132
void fillClosureExpr(const swift::AbstractClosureExpr& expr, codeql::ClosureExpr& entry);

swift/ql/.generated.list

Lines changed: 11 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/.gitattributes

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/lib/codeql/swift/elements.qll

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/lib/codeql/swift/elements/expr/ExtractFunctionIsolationExpr.qll

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/lib/codeql/swift/elements/expr/internal/ExtractFunctionIsolationExprConstructor.qll

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/lib/codeql/swift/elements/expr/internal/ExtractFunctionIsolationExprImpl.qll

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/lib/codeql/swift/generated/ParentChild.qll

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)