@@ -10,11 +10,13 @@ private import semmle.code.csharp.controlflow.internal.PreSsa
1010private module SsaInput implements SsaImplCommon:: InputSig< Location > {
1111 class BasicBlock = ControlFlow:: BasicBlock ;
1212
13+ class ControlFlowNode = ControlFlow:: Node ;
14+
1315 BasicBlock getImmediateBasicBlockDominator ( BasicBlock bb ) { result = bb .getImmediateDominator ( ) }
1416
1517 BasicBlock getABasicBlockSuccessor ( BasicBlock bb ) { result = bb .getASuccessor ( ) }
1618
17- class ExitBasicBlock = ControlFlow:: BasicBlocks:: ExitBlock ;
19+ class ExitBasicBlock extends BasicBlock , ControlFlow:: BasicBlocks:: ExitBlock { }
1820
1921 class SourceVariable = Ssa:: SourceVariable ;
2022
@@ -24,7 +26,7 @@ private module SsaInput implements SsaImplCommon::InputSig<Location> {
2426 *
2527 * This includes implicit writes via calls.
2628 */
27- predicate variableWrite ( ControlFlow :: BasicBlock bb , int i , Ssa:: SourceVariable v , boolean certain ) {
29+ predicate variableWrite ( BasicBlock bb , int i , Ssa:: SourceVariable v , boolean certain ) {
2830 variableWriteDirect ( bb , i , v , certain )
2931 or
3032 variableWriteQualifier ( bb , i , v , certain )
@@ -38,7 +40,7 @@ private module SsaInput implements SsaImplCommon::InputSig<Location> {
3840 *
3941 * This includes implicit reads via calls.
4042 */
41- predicate variableRead ( ControlFlow :: BasicBlock bb , int i , Ssa:: SourceVariable v , boolean certain ) {
43+ predicate variableRead ( BasicBlock bb , int i , Ssa:: SourceVariable v , boolean certain ) {
4244 variableReadActual ( bb , i , v ) and
4345 certain = true
4446 or
@@ -1089,7 +1091,7 @@ class DefinitionExt extends Impl::DefinitionExt {
10891091 override string toString ( ) { result = this .( Ssa:: Definition ) .toString ( ) }
10901092
10911093 /** Gets the location of this definition. */
1092- Location getLocation ( ) { result = this .( Ssa:: Definition ) .getLocation ( ) }
1094+ override Location getLocation ( ) { result = this .( Ssa:: Definition ) .getLocation ( ) }
10931095
10941096 /** Gets the enclosing callable of this definition. */
10951097 Callable getEnclosingCallable ( ) { result = this .( Ssa:: Definition ) .getEnclosingCallable ( ) }
0 commit comments