@@ -520,7 +520,10 @@ class SsaExplicitDefinition extends SsaDefinition, TExplicitDef {
520520 override predicate hasLocationInfo (
521521 string filepath , int startline , int startcolumn , int endline , int endcolumn
522522 ) {
523- getDef ( ) .getLocation ( ) .hasLocationInfo ( filepath , startline , startcolumn , endline , endcolumn )
523+ exists ( Location loc |
524+ pragma [ only_bind_into ] ( loc ) = pragma [ only_bind_into ] ( getDef ( ) ) .getLocation ( ) and
525+ loc .hasLocationInfo ( filepath , startline , startcolumn , endline , endcolumn )
526+ )
524527 }
525528
526529 /**
@@ -552,7 +555,10 @@ abstract class SsaImplicitDefinition extends SsaDefinition {
552555 ) {
553556 endline = startline and
554557 endcolumn = startcolumn and
555- getBasicBlock ( ) .getLocation ( ) .hasLocationInfo ( filepath , startline , startcolumn , _, _)
558+ exists ( Location loc |
559+ pragma [ only_bind_into ] ( loc ) = pragma [ only_bind_into ] ( getBasicBlock ( ) ) .getLocation ( ) and
560+ loc .hasLocationInfo ( filepath , startline , startcolumn , _, _)
561+ )
556562 }
557563}
558564
@@ -660,14 +666,6 @@ class SsaPhiNode extends SsaPseudoDefinition, TPhi {
660666
661667 override string prettyPrintDef ( ) { result = getSourceVariable ( ) + " = phi(" + ppInputs ( ) + ")" }
662668
663- override predicate hasLocationInfo (
664- string filepath , int startline , int startcolumn , int endline , int endcolumn
665- ) {
666- endline = startline and
667- endcolumn = startcolumn and
668- getBasicBlock ( ) .getLocation ( ) .hasLocationInfo ( filepath , startline , startcolumn , _, _)
669- }
670-
671669 /**
672670 * If all inputs to this phi node are (transitive) refinements of the same variable,
673671 * gets that variable.
0 commit comments