diff --git a/swift/extractor/translators/ExprTranslator.cpp b/swift/extractor/translators/ExprTranslator.cpp index 30cca659a8c..15a6765e5fc 100644 --- a/swift/extractor/translators/ExprTranslator.cpp +++ b/swift/extractor/translators/ExprTranslator.cpp @@ -691,7 +691,9 @@ codeql::CurrentContextIsolationExpr ExprTranslator::translateCurrentContextIsola codeql::TypeValueExpr ExprTranslator::translateTypeValueExpr(const swift::TypeValueExpr& expr) { auto entry = createExprEntry(expr); - entry.type_repr = dispatcher.fetchLabel(expr.getParamTypeRepr()); + if (expr.getParamTypeRepr() && expr.getParamType()) { + entry.type_repr = dispatcher.fetchLabel(expr.getParamTypeRepr(), expr.getParamType()); + } return entry; } diff --git a/swift/ql/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.expected b/swift/ql/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.expected index fa57faafb19..685ff810fcf 100644 --- a/swift/ql/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.expected +++ b/swift/ql/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.expected @@ -1,2 +1,2 @@ -| type_value_exprs.swift:4:13:4:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:4:13:4:13 | (no string representation) | -| type_value_exprs.swift:5:13:5:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:5:13:5:13 | (no string representation) | +| type_value_exprs.swift:4:13:4:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:4:13:4:13 | N | +| type_value_exprs.swift:5:13:5:13 | TypeValueExpr | hasType: | yes | getTypeRepr: | type_value_exprs.swift:5:13:5:13 | N |