Skip to content

Commit fd83515

Browse files
committed
Swift: Make extractor compile
1 parent 2fbfcb9 commit fd83515

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

swift/extractor/infra/SwiftTagTraits.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ MAP(swift::Expr, ExprTag)
146146
MAP(swift::ImplicitConversionExpr, ImplicitConversionExprTag)
147147
MAP(swift::LoadExpr, LoadExprTag)
148148
MAP(swift::DestructureTupleExpr, DestructureTupleExprTag)
149-
MAP(swift::UnresolvedTypeConversionExpr, UnresolvedTypeConversionExprTag)
150149
MAP(swift::FunctionConversionExpr, FunctionConversionExprTag)
151150
MAP(swift::CovariantFunctionConversionExpr, CovariantFunctionConversionExprTag)
152151
MAP(swift::CovariantReturnConversionExpr, CovariantReturnConversionExprTag)
@@ -267,8 +266,7 @@ MAP(swift::TypeRepr, TypeReprTag)
267266
MAP(swift::Type, TypeTag)
268267
MAP(swift::TypeBase, TypeTag)
269268
MAP(swift::ErrorType, ErrorTypeTag)
270-
MAP(swift::UnresolvedType, UnresolvedTypeTag)
271-
MAP(swift::PlaceholderType, void) // appears in ambiguous types but are then transformed to UnresolvedType
269+
MAP(swift::PlaceholderType, void) // appears in ambiguous types but are then transformed to ErrorType
272270
MAP(swift::BuiltinType, BuiltinTypeTag)
273271
MAP(swift::AnyBuiltinIntegerType, AnyBuiltinIntegerTypeTag)
274272
MAP(swift::BuiltinIntegerType, BuiltinIntegerTypeTag)
@@ -285,7 +283,8 @@ MAP(swift::TypeBase, TypeTag)
285283
MAP(swift::BuiltinVectorType, BuiltinVectorTypeTag)
286284
MAP(swift::BuiltinPackIndexType, void) // SIL type, cannot really appear in the frontend run
287285
MAP(swift::BuiltinNonDefaultDistributedActorStorageType, void) // Does not appear in AST/SIL, only used during IRGen
288-
MAP(swift::BuiltinFixedArrayType, BuiltinFixedArrayTypeTag)
286+
MAP(swift::BuiltinGenericType, BuiltinGenericTypeTag)
287+
MAP(swift::BuiltinFixedArrayType, BuiltinFixedArrayTypeTag)
289288
MAP(swift::BuiltinUnboundGenericType, void) // Only used during type resolution
290289
MAP(swift::BuiltinImplicitActorType, void) // SIL type
291290
MAP(swift::TupleType, TupleTypeTag)

swift/extractor/translators/StmtTranslator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ codeql::CaseStmt StmtTranslator::translateCaseStmt(const swift::CaseStmt& stmt)
137137
auto entry = dispatcher.createEntry(stmt);
138138
entry.body = dispatcher.fetchLabel(stmt.getBody());
139139
entry.labels = dispatcher.fetchRepeatedLabels(stmt.getCaseLabelItems());
140-
entry.variables = dispatcher.fetchRepeatedLabels(stmt.getCaseBodyVariablesOrEmptyArray());
140+
entry.variables = dispatcher.fetchRepeatedLabels(stmt.getCaseBodyVariables());
141141
return entry;
142142
}
143143

swift/extractor/translators/TypeTranslator.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,14 @@ codeql::BuiltinIntegerType TypeTranslator::translateBuiltinIntegerType(
233233
return entry;
234234
}
235235

236+
codeql::BuiltinFixedArrayType TypeTranslator::translateBuiltinFixedArrayType(
237+
const swift::BuiltinFixedArrayType& type) {
238+
// currently the translate dispatching mechanism does not go up more than one step in the
239+
// hierarchy so we need to put this explicitly here, as BuiltinFixedArrayType derives from
240+
// BuiltinGenericType which then derives from BuiltinType
241+
return translateBuiltinType(type);
242+
}
243+
236244
codeql::ExistentialArchetypeType TypeTranslator::translateExistentialArchetypeType(
237245
const swift::ExistentialArchetypeType& type) {
238246
auto entry = createTypeEntry(type);
@@ -258,10 +266,6 @@ codeql::ErrorType TypeTranslator::translateErrorType(const swift::ErrorType& typ
258266
return createTypeEntry(type);
259267
}
260268

261-
codeql::UnresolvedType TypeTranslator::translateUnresolvedType(const swift::UnresolvedType& type) {
262-
return createTypeEntry(type);
263-
}
264-
265269
codeql::ParameterizedProtocolType TypeTranslator::translateParameterizedProtocolType(
266270
const swift::ParameterizedProtocolType& type) {
267271
auto entry = createTypeEntry(type);

swift/extractor/translators/TypeTranslator.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,14 @@ class TypeTranslator : public TypeTranslatorBase<TypeTranslator> {
6969
codeql::BuiltinIntegerLiteralType translateBuiltinIntegerLiteralType(
7070
const swift::BuiltinIntegerLiteralType& type);
7171
codeql::BuiltinIntegerType translateBuiltinIntegerType(const swift::BuiltinIntegerType& type);
72+
codeql::BuiltinFixedArrayType translateBuiltinFixedArrayType(
73+
const swift::BuiltinFixedArrayType& type);
7274
codeql::ExistentialArchetypeType translateExistentialArchetypeType(
7375
const swift::ExistentialArchetypeType& type);
7476
codeql::ModuleType translateModuleType(const swift::ModuleType& type);
7577
codeql::OpaqueTypeArchetypeType translateOpaqueTypeArchetypeType(
7678
const swift::OpaqueTypeArchetypeType& type);
7779
codeql::ErrorType translateErrorType(const swift::ErrorType& type);
78-
codeql::UnresolvedType translateUnresolvedType(const swift::UnresolvedType& type);
7980
codeql::ParameterizedProtocolType translateParameterizedProtocolType(
8081
const swift::ParameterizedProtocolType& type);
8182
codeql::PackArchetypeType translatePackArchetypeType(const swift::PackArchetypeType& type);

0 commit comments

Comments
 (0)