Skip to content

Commit cf4ab1d

Browse files
committed
C#: Replace old-style unbind with pragmas.
1 parent 5e145aa commit cf4ab1d

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

csharp/ql/lib/semmle/code/csharp/Conversion.qll

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,9 @@ private module Identity {
232232
*/
233233
pragma[nomagic]
234234
private predicate convTypeArguments(Type fromTypeArgument, Type toTypeArgument, int i) {
235-
exists(int j |
236-
fromTypeArgument = getTypeArgumentRanked(_, _, i) and
237-
toTypeArgument = getTypeArgumentRanked(_, _, j) and
238-
i <= j and
239-
j <= i
240-
|
241-
convIdentity(fromTypeArgument, toTypeArgument)
242-
)
235+
fromTypeArgument = getTypeArgumentRanked(_, _, pragma[only_bind_into](i)) and
236+
toTypeArgument = getTypeArgumentRanked(_, _, pragma[only_bind_into](i)) and
237+
convIdentity(fromTypeArgument, toTypeArgument)
243238
}
244239

245240
pragma[nomagic]
@@ -929,19 +924,16 @@ private module Variance {
929924
private predicate convTypeArguments(
930925
TypeArgument fromTypeArgument, TypeArgument toTypeArgument, int i, TVariance v
931926
) {
932-
exists(int j |
933-
fromTypeArgument = getTypeArgumentRanked(_, _, i, _) and
934-
toTypeArgument = getTypeArgumentRanked(_, _, j, _) and
935-
i <= j and
936-
j <= i
937-
|
927+
fromTypeArgument = getTypeArgumentRanked(_, _, pragma[only_bind_into](i), _) and
928+
toTypeArgument = getTypeArgumentRanked(_, _, pragma[only_bind_into](i), _) and
929+
(
938930
convIdentity(fromTypeArgument, toTypeArgument) and
939931
v = TNone()
940932
or
941-
convRefTypeTypeArgumentOut(fromTypeArgument, toTypeArgument, j) and
933+
convRefTypeTypeArgumentOut(fromTypeArgument, toTypeArgument, i) and
942934
v = TOut()
943935
or
944-
convRefTypeTypeArgumentIn(toTypeArgument, fromTypeArgument, j) and
936+
convRefTypeTypeArgumentIn(toTypeArgument, fromTypeArgument, i) and
945937
v = TIn()
946938
)
947939
}

0 commit comments

Comments
 (0)