Skip to content

Commit 0f2d2b7

Browse files
authored
Merge pull request #19582 from jketema/jketema/swift-type
Swift: Fix type string representation
2 parents c971737 + f17076e commit 0f2d2b7

File tree

5 files changed

+7
-11
lines changed

5 files changed

+7
-11
lines changed

swift/extractor/translators/ExprTranslator.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,9 @@ codeql::CurrentContextIsolationExpr ExprTranslator::translateCurrentContextIsola
691691

692692
codeql::TypeValueExpr ExprTranslator::translateTypeValueExpr(const swift::TypeValueExpr& expr) {
693693
auto entry = createExprEntry(expr);
694-
entry.type_repr = dispatcher.fetchLabel(expr.getParamTypeRepr());
694+
if (expr.getParamTypeRepr() && expr.getParamType()) {
695+
entry.type_repr = dispatcher.fetchLabel(expr.getParamTypeRepr(), expr.getParamType());
696+
}
695697
return entry;
696698
}
697699

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
| type_value_exprs.swift:4:13:4:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:4:13:4:13 | (no string representation) |
2-
| type_value_exprs.swift:5:13:5:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:5:13:5:13 | (no string representation) |
1+
| type_value_exprs.swift:4:13:4:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:4:13:4:13 | N |
2+
| type_value_exprs.swift:5:13:5:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:5:13:5:13 | N |
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
| cfg.swift:591:13:591:13 | missing type from TypeRepr | UnspecifiedElement |
2-
| cfg.swift:595:13:595:13 | missing type from TypeRepr | UnspecifiedElement |
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
| cfg.swift:591:13:591:13 | missing type from TypeRepr |
2-
| cfg.swift:595:13:595:13 | missing type from TypeRepr |

swift/ql/test/library-tests/ast/PrintAst.expected

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3552,7 +3552,7 @@ cfg.swift:
35523552
# 590| getGenericTypeParam(0): [GenericTypeParamDecl] N
35533553
# 591| getMember(0): [PatternBindingDecl] var ... = ...
35543554
# 591| getInit(0): [TypeValueExpr] TypeValueExpr
3555-
# 591| getTypeRepr(): (no string representation)
3555+
# 591| getTypeRepr(): [TypeRepr] N
35563556
# 591| getPattern(0): [NamedPattern] x
35573557
# 591| getMember(1): [ConcreteVarDecl] x
35583558
# 591| Type = Int
@@ -3596,7 +3596,6 @@ cfg.swift:
35963596
# 590| Type = ValueGenericsStruct<N>
35973597
# 590| getBody(): [BraceStmt] { ... }
35983598
# 590| getElement(0): [ReturnStmt] return
3599-
# 591| [UnspecifiedElement] missing type from TypeRepr
36003599
# 594| [NamedFunction] valueGenericsFn(_:)
36013600
# 594| InterfaceType = <let N : Int> (ValueGenericsStruct<N>) -> ()
36023601
# 594| getGenericTypeParam(0): [GenericTypeParamDecl] N
@@ -3607,7 +3606,7 @@ cfg.swift:
36073606
# 595| Type = Int
36083607
# 595| getElement(0): [PatternBindingDecl] var ... = ...
36093608
# 595| getInit(0): [TypeValueExpr] TypeValueExpr
3610-
# 595| getTypeRepr(): (no string representation)
3609+
# 595| getTypeRepr(): [TypeRepr] N
36113610
# 595| getPattern(0): [NamedPattern] x
36123611
# 596| getElement(1): [CallExpr] call to print(_:separator:terminator:)
36133612
# 596| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
@@ -3624,7 +3623,6 @@ cfg.swift:
36243623
# 597| getElement(2): [AssignExpr] ... = ...
36253624
# 597| getDest(): [DiscardAssignmentExpr] _
36263625
# 597| getSource(): [DeclRefExpr] value
3627-
# 595| [UnspecifiedElement] missing type from TypeRepr
36283626
declarations.swift:
36293627
# 1| [StructDecl] Foo
36303628
# 2| getMember(0): [PatternBindingDecl] var ... = ...

0 commit comments

Comments
 (0)