@ Override public void sawOpcode ( int seen ) { if ( seen == Const . INVOKEINTERFACE ) { String clsName = getClassConstantOperand ( ) ; String methodName = getNameConstantOperand ( ) ; if ( queryClasses . contains ( clsName ) && queryMethods . contains ( methodName ) ) { queryLocations . add ( Integer . valueOf ( getPC ( ) ) ) ; } } else if ( OpcodeUtils . isBranch ( seen ) ) { int branchTarget = getBranchTarget ( ) ; int pc = getPC ( ) ; if ( branchTarget < pc ) { loops . add ( new LoopLocation ( branchTarget , pc ) ) ; } } }
implements the visitor to collect positions of queries and loops