Skip to content

Commit d21e27c

Browse files
committed
Swift: extract ConsumeExpr
1 parent 30e4822 commit d21e27c

20 files changed

+207
-23
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::TypeJoinExpr, void) // TODO (introduced in 5.8)
203203
MAP(swift::MacroExpansionExpr, void) // TODO (introduced in 5.8)
204204
MAP(swift::CopyExpr, CopyExprTag)
205-
MAP(swift::ConsumeExpr, void) // TODO (introduced in 5.9)
205+
MAP(swift::ConsumeExpr, ConsumeExprTag)
206206
MAP(swift::MaterializePackExpr, void) // TODO (introduced in 5.9)
207207
MAP(swift::SingleValueStmtExpr, SingleValueStmtExprTag)
208208

swift/extractor/translators/ExprTranslator.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,4 +663,10 @@ codeql::CopyExpr ExprTranslator::translateCopyExpr(const swift::CopyExpr& expr)
663663
return entry;
664664
}
665665

666+
codeql::ConsumeExpr ExprTranslator::translateConsumeExpr(const swift::ConsumeExpr& expr) {
667+
auto entry = createExprEntry(expr);
668+
entry.sub_expr = dispatcher.fetchLabel(expr.getSubExpr());
669+
return entry;
670+
}
671+
666672
} // namespace codeql

swift/extractor/translators/ExprTranslator.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
123123
codeql::PackExpansionExpr translatePackExpansionExpr(const swift::PackExpansionExpr& expr);
124124
codeql::PackElementExpr translatePackElementExpr(const swift::PackElementExpr& expr);
125125
codeql::CopyExpr translateCopyExpr(const swift::CopyExpr& expr);
126+
codeql::ConsumeExpr translateConsumeExpr(const swift::ConsumeExpr& expr);
126127

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

swift/ql/.generated.list

Lines changed: 10 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: 5 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/ConsumeExpr.qll

Lines changed: 8 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/ConsumeExprConstructor.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/generated/ParentChild.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/generated/Raw.qll

Lines changed: 18 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)