@@ -14,7 +14,7 @@ private import semmle.code.java.dataflow.internal.BaseSSA
1414private import semmle.code.java.controlflow.Guards
1515private import codeql.typeflow.TypeFlow
1616
17- private module Input implements TypeFlowInput {
17+ private module Input implements TypeFlowInput< J :: Location > {
1818 private newtype TTypeFlowNode =
1919 TField ( Field f ) { not f .getType ( ) instanceof PrimitiveType } or
2020 TSsa ( BaseSsaVariable ssa ) { not ssa .getSourceVariable ( ) .getType ( ) instanceof PrimitiveType } or
@@ -38,12 +38,6 @@ private module Input implements TypeFlowInput {
3838 result = this .asMethod ( ) .toString ( )
3939 }
4040
41- predicate hasLocationInfo (
42- string filepath , int startline , int startcolumn , int endline , int endcolumn
43- ) {
44- this .getLocation ( ) .hasLocationInfo ( filepath , startline , startcolumn , endline , endcolumn )
45- }
46-
4741 Location getLocation ( ) {
4842 result = this .asField ( ) .getLocation ( ) or
4943 result = this .asSsa ( ) .getLocation ( ) or
@@ -164,7 +158,7 @@ private module Input implements TypeFlowInput {
164158 */
165159 pragma [ nomagic]
166160 private predicate upcastCand ( TypeFlowNode n , RefType t1 , RefType t1e , RefType t2 , RefType t2e ) {
167- exists ( TypeFlowNode next | step ( n , next ) or Make< Input > :: joinStep ( n , next ) |
161+ exists ( TypeFlowNode next | step ( n , next ) or Make< J :: Location , Input > :: joinStep ( n , next ) |
168162 n .getType ( ) = t1 and
169163 next .getType ( ) = t2 and
170164 t1 .getErasure ( ) = t1e and
@@ -356,7 +350,7 @@ private module Input implements TypeFlowInput {
356350
357351cached
358352private module TypeFlowBounds {
359- private module TypeFlow = Make< Input > ;
353+ private module TypeFlow = Make< J :: Location , Input > ;
360354
361355 /**
362356 * Holds if the runtime type of `f` is bounded by `t` and if this bound is
0 commit comments