if (opcode == Constants.INSTANCEOF && valueNumberDataflow != null) { Type instanceOfType = visitor.getInstanceOfType(); if (!(instanceOfType instanceof ReferenceType)) throw new DataflowAnalysisException( "Instanceof instruction checks for non-reference type " + instanceOfType, methodGen, handle);    ValueNumberFrame vnaFrameAfter = valueNumberDataflow.getFactAfterLocation( new Location(handle, basicBlock)); if (vnaFrameAfter.getNumSlots() == fact.getNumSlots()) { int numSlots = fact.getNumSlots(); for (int i = 0; i < numSlots; ++i) { if (vnaFrameAfter.getValue(i).equals(tosValueNumber)) { fact.setValue(i, visitor.getInstanceOfType()); } } } }
	public void transferInstruction(InstructionHandle handle, BasicBlock basicBlock, TypeFrame fact)	        throws DataflowAnalysisException {		visitor.setFrameAndLocation(fact, new Location(handle, basicBlock));		visitor.analyzeInstruction(handle.getInstruction());	}