mirror of
https://github.com/github/codeql.git
synced 2026-04-19 14:04:09 +02:00
Swift: First fix for MaD on generics.
This commit is contained in:
@@ -446,17 +446,17 @@ private Element interpretElement0(
|
||||
or
|
||||
// Fields
|
||||
signature = "" and
|
||||
exists(NominalType nomType, IterableDeclContext decl, FieldDecl field |
|
||||
exists(NominalTypeDecl nomTypeDecl, IterableDeclContext decl, FieldDecl field |
|
||||
field.getName() = name and
|
||||
field = decl.getAMember() and
|
||||
nomType.getFullName() = type and
|
||||
nomTypeDecl.getFullName() = type and
|
||||
result = field
|
||||
|
|
||||
subtypes = true and
|
||||
getDeclType(decl) = nomType.getADerivedType*()
|
||||
decl = nomTypeDecl.getADerivedTypeDecl*()
|
||||
or
|
||||
subtypes = false and
|
||||
getDeclType(decl) = nomType
|
||||
decl = nomTypeDecl
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -6,17 +6,30 @@
|
||||
| data.swift:18:20:18:20 | call to init(contentsOf:options:) | external |
|
||||
| data.swift:18:20:18:54 | call to init(contentsOf:options:) | external |
|
||||
| file://:0:0:0:0 | .source1 | external |
|
||||
| file://:0:0:0:0 | .source1 | external |
|
||||
| file://:0:0:0:0 | .source4 | external |
|
||||
| file://:0:0:0:0 | .source9 | external |
|
||||
| generics.swift:10:9:10:16 | .source1 | external |
|
||||
| generics.swift:11:9:11:16 | .source2 | external |
|
||||
| generics.swift:12:9:12:24 | call to source3() | external |
|
||||
| generics.swift:48:9:48:17 | .source1 | external |
|
||||
| generics.swift:49:9:49:17 | .source2 | external |
|
||||
| generics.swift:51:9:51:18 | .source1 | external |
|
||||
| generics.swift:52:9:52:18 | .source2 | external |
|
||||
| generics.swift:54:9:54:17 | .source1 | external |
|
||||
| generics.swift:55:9:55:17 | .source2 | external |
|
||||
| generics.swift:57:9:57:17 | .source4 | external |
|
||||
| generics.swift:58:9:58:17 | .source5 | external |
|
||||
| generics.swift:62:9:62:18 | .source1 | external |
|
||||
| generics.swift:63:9:63:18 | .source2 | external |
|
||||
| generics.swift:65:9:65:18 | .source9 | external |
|
||||
| generics.swift:66:9:66:18 | .source10 | external |
|
||||
| generics.swift:67:9:67:27 | call to source11() | external |
|
||||
| generics.swift:68:9:68:18 | .source12 | external |
|
||||
| generics.swift:69:9:69:27 | call to source13() | external |
|
||||
| generics.swift:88:9:88:15 | .source1 | external |
|
||||
| generics.swift:89:9:89:15 | .source2 | external |
|
||||
| generics.swift:90:9:90:14 | .source1 | external |
|
||||
| generics.swift:92:9:92:15 | .source1 | external |
|
||||
| generics.swift:112:9:112:15 | .source1 | external |
|
||||
| generics.swift:113:9:113:15 | .source2 | external |
|
||||
| nsdata.swift:18:17:18:17 | call to init(contentsOf:) | external |
|
||||
|
||||
@@ -45,27 +45,27 @@ extension MyDerived2
|
||||
}
|
||||
|
||||
func useDerived(generic: MyGeneric<Int>, generic2: MyGeneric<Any>, derived: MyDerived<Int>, derived2: MyDerived2) {
|
||||
_ = generic.source1 // SOURCE [NOT DETECTED]
|
||||
_ = generic.source2 // SOURCE [NOT DETECTED]
|
||||
_ = generic.source1 // SOURCE
|
||||
_ = generic.source2 // SOURCE
|
||||
_ = generic.source3() // SOURCE [NOT DETECTED]
|
||||
_ = generic2.source1 // SOURCE [NOT DETECTED]
|
||||
_ = generic2.source2 // SOURCE [NOT DETECTED]
|
||||
_ = generic2.source1 // SOURCE
|
||||
_ = generic2.source2 // SOURCE
|
||||
_ = generic2.source3() // SOURCE [NOT DETECTED]
|
||||
_ = derived.source1 // SOURCE [NOT DETECTED]
|
||||
_ = derived.source2 // SOURCE [NOT DETECTED]
|
||||
_ = derived.source1 // SOURCE
|
||||
_ = derived.source2 // SOURCE
|
||||
_ = derived.source3() // SOURCE [NOT DETECTED]
|
||||
_ = derived.source4 // SOURCE [NOT DETECTED]
|
||||
_ = derived.source5 // SOURCE [NOT DETECTED]
|
||||
_ = derived.source4 // SOURCE
|
||||
_ = derived.source5 // SOURCE
|
||||
_ = derived.source6() // SOURCE [NOT DETECTED]
|
||||
_ = derived.source7 // SOURCE [NOT DETECTED]
|
||||
_ = derived.source8() // SOURCE [NOT DETECTED]
|
||||
_ = derived2.source1 // SOURCE [NOT DETECTED]
|
||||
_ = derived2.source2 // SOURCE [NOT DETECTED]
|
||||
_ = derived2.source1 // SOURCE
|
||||
_ = derived2.source2 // SOURCE
|
||||
_ = derived2.source3() // SOURCE [NOT DETECTED]
|
||||
_ = derived2.source9 // SOURCE
|
||||
_ = derived2.source10 // SOURCE
|
||||
_ = derived2.source11() // SOURCE
|
||||
_ = derived2.source12 // SOURCE
|
||||
_ = derived2.source12 // SOURCE [NOT DETECTED]
|
||||
_ = derived2.source13() // SOURCE
|
||||
}
|
||||
|
||||
@@ -87,9 +87,9 @@ extension MyImpl {
|
||||
func useProtocol(proto: MyProtocol, impl: MyImpl<Int>, impl2: MyImpl<Any>) {
|
||||
_ = proto.source1 // SOURCE
|
||||
_ = proto.source2 // SOURCE
|
||||
_ = impl.source1 // SOURCE [NOT DETECTED]
|
||||
_ = impl.source1 // SOURCE
|
||||
_ = impl.source2 // SOURCE [NOT DETECTED]
|
||||
_ = impl2.source1 // SOURCE [NOT DETECTED]
|
||||
_ = impl2.source1 // SOURCE
|
||||
_ = impl2.source2 // SOURCE [NOT DETECTED]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user