Skip to content

Commit 47a9a8b

Browse files
committed
Swift: MAke TypeDecl.getFullName robust to when there's an ExtensionDecl extending more than one thing.
1 parent 515e935 commit 47a9a8b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

swift/ql/lib/codeql/swift/elements/decl/TypeDecl.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ class TypeDecl extends Generated::TypeDecl {
109109
cached
110110
string getFullName() {
111111
not this.getEnclosingDecl() instanceof TypeDecl and
112-
not this.getEnclosingDecl() instanceof ExtensionDecl and
112+
not count(this.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl()) = 1 and
113113
result = this.getName()
114114
or
115115
result = this.getEnclosingDecl().(TypeDecl).getFullName() + "." + this.getName()
116116
or
117117
result =
118-
this.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl().getFullName() + "." +
119-
this.getName()
118+
unique(NominalTypeDecl td | td = this.getEnclosingDecl().(ExtensionDecl).getExtendedTypeDecl())
119+
.getFullName() + "." + this.getName()
120120
}
121121
}

0 commit comments

Comments
 (0)