int lockNumber = frame.getTopValue().getNumber(); lockOp(fact, lockNumber, opcode == Constants.MONITORENTER ? 1 : -1);
if (frame.isValid()) { int lockNumber = frame.getTopValue().getNumber(); lockOp(fact, lockNumber, opcode == Constants.MONITORENTER ? 1 : -1); }
	public void transferInstruction(InstructionHandle handle, BasicBlock basicBlock, LockSet fact)		throws DataflowAnalysisException {		Instruction ins = handle.getInstruction();		short opcode = ins.getOpcode();		if (opcode == Constants.MONITORENTER || opcode == Constants.MONITOREXIT) {			ValueNumberFrame frame = vnaDataflow.getFactAtLocation(new Location(handle, basicBlock));			int lockNumber = frame.getTopValue().getNumber();			lockOp(fact, lockNumber, opcode == Constants.MONITORENTER ? 1 : -1);		} else if ((ins instanceof ReturnInstruction) && isSynchronized && !isStatic) {			lockOp(fact, vna.getThisValue().getNumber(), -1);		}	}