File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
java/ql/lib/semmle/code/java Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -1261,14 +1261,21 @@ private Type erase(Type t) {
1261
1261
*
1262
1262
* For the definition of the notion of *erasure* see JLS v8, section 4.6 (Type Erasure).
1263
1263
*/
1264
+ bindingset [ t1, t2]
1264
1265
overlay [ caller?]
1265
- pragma [ inline ]
1266
+ pragma [ inline_late ]
1266
1267
predicate haveIntersection ( RefType t1 , RefType t2 ) {
1267
1268
exists ( RefType e1 , RefType e2 | e1 = erase ( t1 ) and e2 = erase ( t2 ) |
1268
- erasedHaveIntersection ( e1 , e2 )
1269
+ erasedHaveIntersectionFilter ( e1 , e2 )
1269
1270
)
1270
1271
}
1271
1272
1273
+ bindingset [ t1, t2]
1274
+ pragma [ inline_late]
1275
+ private predicate erasedHaveIntersectionFilter ( RefType t1 , RefType t2 ) {
1276
+ erasedHaveIntersection ( t1 , t2 )
1277
+ }
1278
+
1272
1279
/**
1273
1280
* Holds if there is no common (reflexive, transitive) subtype of the erasures
1274
1281
* of types `t1` and `t2`.
You can’t perform that action at this time.
0 commit comments