Swift: Make the 'semantics.ql' test plantform-independent.

This commit is contained in:
Mathias Vorreiter Pedersen
2022-05-24 10:00:14 +01:00
parent a0659072b5
commit 21641eb1cd
2 changed files with 23 additions and 49 deletions

View File

@@ -68,32 +68,3 @@
| expressions.swift:137:3:137:7 | SubscriptExpr | OrdinarySemantics |
| expressions.swift:138:10:138:10 | DeclRefExpr | OrdinarySemantics |
| expressions.swift:138:10:138:17 | SubscriptExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | DeclRefExpr | OrdinarySemantics |
| file://:0:0:0:0 | MemberRefExpr | DirectToStorage |
| file://:0:0:0:0 | MemberRefExpr | DirectToStorage |
| file://:0:0:0:0 | MemberRefExpr | DirectToStorage |
| file://:0:0:0:0 | MemberRefExpr | DirectToStorage |

View File

@@ -2,27 +2,30 @@ import swift
from Expr e, string semantics
where
exists(DeclRefExpr ref | ref = e |
ref.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
e.getLocation().getFile().getName().matches("%swift/ql/test%") and
(
exists(DeclRefExpr ref | ref = e |
ref.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
or
ref.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
or
ref.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
)
or
ref.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
exists(SubscriptExpr sub | sub = e |
sub.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
or
sub.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
or
sub.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
)
or
ref.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
)
or
exists(SubscriptExpr sub | sub = e |
sub.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
or
sub.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
or
sub.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
)
or
exists(MemberRefExpr memberRef | memberRef = e |
memberRef.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
or
memberRef.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
or
memberRef.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
exists(MemberRefExpr memberRef | memberRef = e |
memberRef.hasDirectToImplementationSemantics() and semantics = "DirectToImplementation"
or
memberRef.hasDirectToStorageSemantics() and semantics = "DirectToStorage"
or
memberRef.hasOrdinarySemantics() and semantics = "OrdinarySemantics"
)
)
select e, semantics