Skip to content

Commit b30a6d3

Browse files
committed
Swift: extract AwaitExpr
1 parent b94066a commit b30a6d3

File tree

13 files changed

+43
-35
lines changed

13 files changed

+43
-35
lines changed

swift/extractor/translators/ExprTranslator.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,6 @@ codeql::TypeExpr ExprTranslator::translateTypeExpr(const swift::TypeExpr& expr)
243243
return entry;
244244
}
245245

246-
codeql::ParenExpr ExprTranslator::translateParenExpr(const swift::ParenExpr& expr) {
247-
auto entry = createExprEntry(expr);
248-
fillIdentityExpr(expr, entry);
249-
return entry;
250-
}
251-
252246
codeql::InOutExpr ExprTranslator::translateInOutExpr(const swift::InOutExpr& expr) {
253247
auto entry = createExprEntry(expr);
254248
entry.sub_expr = dispatcher.fetchLabel(expr.getSubExpr());
@@ -463,12 +457,6 @@ codeql::SequenceExpr ExprTranslator::translateSequenceExpr(const swift::Sequence
463457
return entry;
464458
}
465459

466-
codeql::DotSelfExpr ExprTranslator::translateDotSelfExpr(const swift::DotSelfExpr& expr) {
467-
auto entry = createExprEntry(expr);
468-
fillIdentityExpr(expr, entry);
469-
return entry;
470-
}
471-
472460
codeql::ErrorExpr ExprTranslator::translateErrorExpr(const swift::ErrorExpr& expr) {
473461
auto entry = createExprEntry(expr);
474462
return entry;

swift/extractor/translators/ExprTranslator.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,14 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
5353
}
5454

5555
codeql::TypeExpr translateTypeExpr(const swift::TypeExpr& expr);
56-
codeql::ParenExpr translateParenExpr(const swift::ParenExpr& expr);
56+
57+
template <typename E>
58+
TrapClassOf<E> translateIdentityExpr(const E& expr) {
59+
auto entry = createExprEntry(expr);
60+
fillIdentityExpr(expr, entry);
61+
return entry;
62+
}
63+
5764
codeql::InOutExpr translateInOutExpr(const swift::InOutExpr& expr);
5865
codeql::OpaqueValueExpr translateOpaqueValueExpr(const swift::OpaqueValueExpr& expr);
5966
codeql::TapExpr translateTapExpr(const swift::TapExpr& expr);
@@ -91,7 +98,6 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
9198
codeql::UnresolvedMemberExpr translateUnresolvedMemberExpr(
9299
const swift::UnresolvedMemberExpr& expr);
93100
codeql::SequenceExpr translateSequenceExpr(const swift::SequenceExpr& expr);
94-
codeql::DotSelfExpr translateDotSelfExpr(const swift::DotSelfExpr& expr);
95101
codeql::ErrorExpr translateErrorExpr(const swift::ErrorExpr& expr);
96102
codeql::UnresolvedPatternExpr translateUnresolvedPatternExpr(
97103
const swift::UnresolvedPatternExpr& expr);

swift/ql/test/extractor-tests/generated/expr/AwaitExpr/MISSING_SOURCE.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

swift/ql/test/extractor-tests/generated/expr/DotSelfExpr/DotSelfExpr.expected

Lines changed: 0 additions & 2 deletions
This file was deleted.

swift/ql/test/extractor-tests/generated/expr/DotSelfExpr/DotSelfExpr_getType.expected

Lines changed: 0 additions & 2 deletions
This file was deleted.

swift/ql/test/extractor-tests/generated/expr/DotSelfExpr/dotself.swift

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
| identity_expressions.swift:4:9:4:14 | .self | DotSelfExpr | getSubExpr: | identity_expressions.swift:4:9:4:9 | self |
2+
| identity_expressions.swift:4:9:4:21 | .self | DotSelfExpr | getSubExpr: | identity_expressions.swift:4:9:4:19 | .x |
3+
| identity_expressions.swift:4:28:4:31 | (...) | ParenExpr | getSubExpr: | identity_expressions.swift:4:29:4:29 | 42 |
4+
| identity_expressions.swift:8:5:8:9 | (...) | ParenExpr | getSubExpr: | identity_expressions.swift:8:6:8:8 | call to init() |
5+
| identity_expressions.swift:11:28:11:43 | (...) | ParenExpr | getSubExpr: | identity_expressions.swift:11:35:11:42 | call to create() |
6+
| identity_expressions.swift:11:29:11:42 | await ... | AwaitExpr | getSubExpr: | identity_expressions.swift:11:35:11:42 | call to create() |
7+
| identity_expressions.swift:14:5:14:21 | await ... | AwaitExpr | getSubExpr: | identity_expressions.swift:14:11:14:21 | call to process() |
8+
| identity_expressions.swift:14:11:14:19 | (...) | ParenExpr | getSubExpr: | identity_expressions.swift:14:12:14:12 | process() |

swift/ql/test/extractor-tests/generated/expr/DotSelfExpr/DotSelfExpr.ql renamed to swift/ql/test/extractor-tests/generated/expr/IdentityExpr/IdentityExpr.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import codeql.swift.elements
33
import TestUtils
44

5-
from DotSelfExpr x, Expr getSubExpr
5+
from IdentityExpr x, Expr getSubExpr
66
where
77
toBeTested(x) and
88
not x.isUnknown() and
99
getSubExpr = x.getSubExpr()
10-
select x, "getSubExpr:", getSubExpr
10+
select x, x.getPrimaryQlClasses(), "getSubExpr:", getSubExpr
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
| identity_expressions.swift:4:9:4:14 | .self | A |
2+
| identity_expressions.swift:4:9:4:21 | .self | @lvalue Int |
3+
| identity_expressions.swift:4:28:4:31 | (...) | (Int) |
4+
| identity_expressions.swift:8:5:8:9 | (...) | (A) |
5+
| identity_expressions.swift:11:28:11:43 | (...) | (A) |
6+
| identity_expressions.swift:11:29:11:42 | await ... | A |
7+
| identity_expressions.swift:14:5:14:21 | await ... | () |
8+
| identity_expressions.swift:14:11:14:19 | (...) | (() async -> ()) |

swift/ql/test/extractor-tests/generated/expr/DotSelfExpr/DotSelfExpr_getType.ql renamed to swift/ql/test/extractor-tests/generated/expr/IdentityExpr/IdentityExpr_getType.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
import codeql.swift.elements
33
import TestUtils
44

5-
from DotSelfExpr x
5+
from IdentityExpr x
66
where toBeTested(x) and not x.isUnknown()
77
select x, x.getType()

0 commit comments

Comments
 (0)