Swift: extract ObjectLiteralExpr

This commit is contained in:
Paolo Tranquilli
2022-11-09 15:51:08 +01:00
parent a05706d89d
commit 5f8e7e67b4
16 changed files with 137 additions and 11 deletions

View File

@@ -526,4 +526,16 @@ codeql::UnresolvedPatternExpr ExprTranslator::translateUnresolvedPatternExpr(
return entry;
}
codeql::ObjectLiteralExpr ExprTranslator::translateObjectLiteralExpr(
const swift::ObjectLiteralExpr& expr) {
auto entry = createExprEntry(expr);
entry.kind = static_cast<int>(expr.getLiteralKind());
if (auto args = expr.getArgs()) {
for (const auto& arg : *args) {
entry.arguments.push_back(emitArgument(arg));
}
}
return entry;
}
} // namespace codeql

View File

@@ -102,6 +102,7 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
codeql::ErrorExpr translateErrorExpr(const swift::ErrorExpr& expr);
codeql::UnresolvedPatternExpr translateUnresolvedPatternExpr(
const swift::UnresolvedPatternExpr& expr);
codeql::ObjectLiteralExpr translateObjectLiteralExpr(const swift::ObjectLiteralExpr& expr);
private:
void fillAbstractClosureExpr(const swift::AbstractClosureExpr& expr,