Skip to content

Commit d21e27c

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

20 files changed

+207
-23
lines changed

Diff for: swift/extractor/infra/SwiftTagTraits.h

+1-1
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

Diff for: swift/extractor/translators/ExprTranslator.cpp

+6
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

Diff for: swift/extractor/translators/ExprTranslator.h

+1
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);

Diff for: swift/ql/.generated.list

+10-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/.gitattributes

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/elements.qll

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/elements/expr/ConsumeExpr.qll

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/elements/expr/ConsumeExprConstructor.qll

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/generated/ParentChild.qll

+20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/generated/Raw.qll

+18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/generated/Synth.qll

+35-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: swift/ql/lib/codeql/swift/generated/SynthConstructors.qll

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)