Skip to content

Commit ccbd041

Browse files
committed
Swift: Use asNominalTypeDecl() to simplify models.
1 parent c8dfc87 commit ccbd041

File tree

6 files changed

+9
-35
lines changed

6 files changed

+9
-35
lines changed

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Collection.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ private class CollectionFieldsInheritTaint extends TaintInheritingContent,
4848
{
4949
CollectionFieldsInheritTaint() {
5050
exists(FieldDecl f | this.getField() = f |
51-
(
52-
f.getEnclosingDecl().(NominalTypeDecl).getName() = ["Collection", "BidirectionalCollection"] or
53-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getName() =
54-
["Collection", "BidirectionalCollection"]
55-
) and
51+
f.getEnclosingDecl().asNominalTypeDecl().getName() = ["Collection", "BidirectionalCollection"] and
5652
f.getName() = ["first", "last"]
5753
)
5854
}

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,7 @@ private class FilePathFieldsInheritTaint extends TaintInheritingContent,
6060
{
6161
FilePathFieldsInheritTaint() {
6262
exists(FieldDecl f | this.getField() = f |
63-
(
64-
f.getEnclosingDecl().(NominalTypeDecl) instanceof FilePath or
65-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl() instanceof FilePath
66-
) and
63+
f.getEnclosingDecl().asNominalTypeDecl() instanceof FilePath and
6764
f.getName() =
6865
[
6966
"description", "debugDescription", "components", "extension", "lastComponent", "root",
@@ -82,12 +79,8 @@ private class FilePathComponentFieldsInheritTaint extends TaintInheritingContent
8279
{
8380
FilePathComponentFieldsInheritTaint() {
8481
exists(FieldDecl f | this.getField() = f |
85-
(
86-
f.getEnclosingDecl().(NominalTypeDecl).getFullName() =
87-
["FilePath.Component", "FilePath.Root"] or
88-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getFullName() =
89-
["FilePath.Component", "FilePath.Root"]
90-
) and
82+
f.getEnclosingDecl().asNominalTypeDecl().getFullName() =
83+
["FilePath.Component", "FilePath.Root"] and
9184
f.getName() = ["extension", "stem", "string"]
9285
)
9386
}

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/NsString.qll

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,7 @@ private class NsStringFieldsInheritTaint extends TaintInheritingContent,
133133
{
134134
NsStringFieldsInheritTaint() {
135135
exists(FieldDecl f | this.getField() = f |
136-
(
137-
f.getEnclosingDecl().(NominalTypeDecl).getName() = "NSString" or
138-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getName() = "NSString"
139-
) and
136+
f.getEnclosingDecl().asNominalTypeDecl().getName() = "NSString" and
140137
f.getName() =
141138
[
142139
"utf8String", "lowercased", "localizedLowedCase", "uppercased", "localizedUppercase",

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Sequence.qll

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@ private class SequenceFieldsInheritTaint extends TaintInheritingContent,
3838
{
3939
SequenceFieldsInheritTaint() {
4040
exists(FieldDecl f | this.getField() = f |
41-
(
42-
f.getEnclosingDecl().(NominalTypeDecl).getName() = "Sequence" or
43-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getName() = "Sequence"
44-
) and
41+
f.getEnclosingDecl().asNominalTypeDecl().getName() = "Sequence" and
4542
f.getName() = "lazy"
4643
)
4744
}

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,7 @@ private class StringFieldsInheritTaint extends TaintInheritingContent,
125125
{
126126
StringFieldsInheritTaint() {
127127
exists(FieldDecl f | this.getField() = f |
128-
(
129-
f.getEnclosingDecl().(NominalTypeDecl).getName() = ["String", "StringProtocol"] or
130-
f.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getName() =
131-
["String", "StringProtocol"]
132-
) and
128+
f.getEnclosingDecl().asNominalTypeDecl().getName() = ["String", "StringProtocol"] and
133129
f.getName() =
134130
[
135131
"unicodeScalars", "utf8", "utf16", "lazy", "utf8CString", "description",

swift/ql/lib/codeql/swift/security/XXEExtensions.qll

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,8 @@ private predicate lib2xmlOptionLocalTaintStep(DataFlow::Node source, DataFlow::N
190190
)
191191
or
192192
exists(ApplyExpr int32Init |
193-
int32Init
194-
.getStaticTarget()
195-
.(Initializer)
196-
.getEnclosingDecl()
197-
.(ExtensionDecl)
198-
.getExtendedTypeDecl()
199-
.getName() = "SignedInteger"
193+
int32Init.getStaticTarget().(Initializer).getEnclosingDecl().asNominalTypeDecl().getName() =
194+
"SignedInteger"
200195
|
201196
source.asExpr() = int32Init.getAnArgument().getExpr() and sink.asExpr() = int32Init
202197
)

0 commit comments

Comments
 (0)