@@ -17,15 +17,15 @@ private import semmle.code.csharp.frameworks.NHibernate
1717private module ThisFlow {
1818 private class BasicBlock = ControlFlow:: BasicBlock ;
1919
20- /** Holds if the `i`th node `n` of basic block `bb` is a `this` access. */
21- private predicate thisAccess ( Node n , BasicBlock bb , int i ) {
22- bb .getNode ( i ) = any ( ControlFlow:: Nodes:: EntryNode en |
23- n .( InstanceParameterNode ) .getCallable ( ) = en .getEnclosingCallable ( )
24- )
20+ /** Holds if `n` is a `this` access at control flow node `cfn`. */
21+ private predicate thisAccess ( Node n , ControlFlow:: Node cfn ) {
22+ n .( InstanceParameterNode ) .getCallable ( ) = cfn .( ControlFlow:: Nodes:: EntryNode ) .getCallable ( )
2523 or
26- n .asExprAtNode ( bb . getNode ( i ) ) = any ( Expr e | e instanceof ThisAccess or e instanceof BaseAccess )
24+ n .asExprAtNode ( cfn ) = any ( Expr e | e instanceof ThisAccess or e instanceof BaseAccess )
2725 }
2826
27+ private predicate thisAccess ( Node n , BasicBlock bb , int i ) { thisAccess ( n , bb .getNode ( i ) ) }
28+
2929 private predicate thisRank ( Node n , BasicBlock bb , int rankix ) {
3030 exists ( int i |
3131 i = rank [ rankix ] ( int j | thisAccess ( _, bb , j ) ) and
@@ -470,16 +470,16 @@ private module ParameterNodes {
470470
471471 /** An implicit instance (`this`) parameter. */
472472 class InstanceParameterNode extends ParameterNode , TInstanceParameterNode {
473- private DataFlowCallable callable ;
473+ private Callable callable ;
474474
475475 InstanceParameterNode ( ) { this = TInstanceParameterNode ( callable ) }
476476
477477 /** Gets the callable containing this implicit instance parameter. */
478- DataFlowCallable getCallable ( ) { result = callable }
478+ Callable getCallable ( ) { result = callable }
479479
480480 override predicate isParameterOf ( DataFlowCallable c , int pos ) { callable = c and pos = - 1 }
481481
482- override DataFlowCallable getEnclosingCallable ( ) { result = callable }
482+ override Callable getEnclosingCallable ( ) { result = callable }
483483
484484 override Type getType ( ) { result = callable .getDeclaringType ( ) }
485485
@@ -511,7 +511,7 @@ private module ParameterNodes {
511511 i = parameter .getPosition ( ) + c .getNumberOfParameters ( )
512512 }
513513
514- override DotNet :: Callable getEnclosingCallable ( ) {
514+ override Callable getEnclosingCallable ( ) {
515515 result = this .getUnderlyingNode ( ) .getEnclosingCallable ( )
516516 }
517517
@@ -852,7 +852,7 @@ private module ReturnNodes {
852852
853853 override YieldReturnKind getKind ( ) { any ( ) }
854854
855- override DotNet :: Callable getEnclosingCallable ( ) {
855+ override Callable getEnclosingCallable ( ) {
856856 result = this .getUnderlyingNode ( ) .getEnclosingCallable ( )
857857 }
858858
0 commit comments