Skip to content

Commit 3ed783d

Browse files
committed
Swift: fix tests
1 parent ee5c30e commit 3ed783d

File tree

11 files changed

+287
-256
lines changed

11 files changed

+287
-256
lines changed

swift/codegen/schema.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,6 @@ UnresolvedDotExpr:
541541
_children:
542542
base: Expr
543543
name: string
544-
_tags: [ no_qltest ] # we should really never extract these
545544

546545
UnresolvedMemberExpr:
547546
_extends: Expr

swift/extractor/visitors/ExprVisitor.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -271,13 +271,10 @@ class ExprVisitor : public AstVisitorBase<ExprVisitor> {
271271
emitImplicitConversionExpr(expr, label);
272272
}
273273

274-
void visitTypeExpr(swift::TypeExpr* expr) {
275-
auto label = dispatcher_.assignNewLabel(expr);
276-
dispatcher_.emit(TypeExprsTrap{label});
277-
if (auto repr = expr->getTypeRepr()) {
278-
auto typeLabel = dispatcher_.fetchLabel(repr);
279-
dispatcher_.emit(TypeExprTypeReprsTrap{label, typeLabel});
280-
}
274+
codeql::TypeExpr translateTypeExpr(const swift::TypeExpr& expr) {
275+
TypeExpr entry{dispatcher_.assignNewLabel(expr)};
276+
entry.type_repr = dispatcher_.fetchOptionalLabel(expr.getTypeRepr());
277+
return entry;
281278
}
282279

283280
codeql::ParenExpr translateParenExpr(const swift::ParenExpr& expr) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
private import codeql.swift.generated.expr.TypeExpr
22

33
class TypeExpr extends TypeExprBase {
4-
override string toString() { result = this.getType().toString() }
4+
override string toString() { result = this.getTypeRepr().toString() }
55
}
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
21
private import codeql.swift.generated.expr.UnresolvedDotExpr
32

4-
class UnresolvedDotExpr extends UnresolvedDotExprBase { }
3+
class UnresolvedDotExpr extends UnresolvedDotExprBase {
4+
override string toString() { result = "... ." + getName() }
5+
}

swift/ql/test/extractor-tests/expressions/all.expected

Lines changed: 246 additions & 244 deletions
Large diffs are not rendered by default.

swift/ql/test/extractor-tests/expressions/all.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ import swift
22

33
from Expr expr
44
where expr.getLocation().getFile().getName().matches("%swift/ql/test%")
5-
select expr
5+
select expr, expr.getPrimaryQlClasses()
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
| unresolved_dot_expr.swift:5:6:5:8 | UnresolvedDotExpr | getBase: | unresolved_dot_expr.swift:5:6:5:6 | SimpleIdentTypeRepr | getName: | x |
2+
| unresolved_dot_expr.swift:11:6:11:8 | UnresolvedDotExpr | getBase: | unresolved_dot_expr.swift:11:6:11:6 | SimpleIdentTypeRepr | getName: | a |
3+
| unresolved_dot_expr.swift:11:6:11:10 | UnresolvedDotExpr | getBase: | unresolved_dot_expr.swift:11:6:11:8 | UnresolvedDotExpr | getName: | x |
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// generated by codegen/codegen.py
2+
import codeql.swift.elements
3+
import TestUtils
4+
5+
from UnresolvedDotExpr x, Expr getBase, string getName
6+
where
7+
toBeTested(x) and
8+
not x.isUnknown() and
9+
getBase = x.getBase() and
10+
getName = x.getName()
11+
select x, "getBase:", getBase, "getName:", getName

swift/ql/test/extractor-tests/generated/expr/UnresolvedDotExpr/UnresolvedDotExpr_getType.expected

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// generated by codegen/codegen.py
2+
import codeql.swift.elements
3+
import TestUtils
4+
5+
from UnresolvedDotExpr x
6+
where toBeTested(x) and not x.isUnknown()
7+
select x, x.getType()

0 commit comments

Comments
 (0)