if (frame.isValid()) {  IsNullValue refValue = frame.getValue(frame.getNumSlots() - consumed);  boolean onExceptionPath = refValue.isException(); if (refValue.isDefinitelyNull()) { String type = onExceptionPath ? "NP_ALWAYS_NULL_EXCEPTION" : "NP_ALWAYS_NULL"; int priority = onExceptionPath ? LOW_PRIORITY : HIGH_PRIORITY; reportNullDeref(classContext, method, exceptionThrowerHandle, type, priority); } else if (refValue.isNullOnSomePath()) { String type = onExceptionPath ? "NP_NULL_ON_SOME_PATH_EXCEPTION" : "NP_NULL_ON_SOME_PATH"; int priority = onExceptionPath ? LOW_PRIORITY : NORMAL_PRIORITY; if (DEBUG) System.out.println("Reporting null on some path: value=" + refValue); reportNullDeref(classContext, method, exceptionThrowerHandle, type, priority); } }
IsNullValue refValue = frame.getValue(frame.getNumSlots() - consumed); if (!refValue.mightBeNull()) return;   issueNullDerefWarning(classContext, method, new Location(exceptionThrowerHandle, basicBlock), refValue);
	private void analyzeNullCheck(ClassContext classContext, Method method, IsNullValueDataflow invDataflow,	                              BasicBlock basicBlock)	        throws DataflowAnalysisException {		// Look for null checks where the value checked is definitely		// null or null on some path.		InstructionHandle exceptionThrowerHandle = basicBlock.getExceptionThrower();		Instruction exceptionThrower = exceptionThrowerHandle.getInstruction();		// Figurinformation out where the reference operand is in the stack frame.		int consumed = exceptionThrower.consumeStack(classContext.getConstantPoolGen());		if (consumed == Constants.UNPREDICTABLE)			throw new DataflowAnalysisException("Unpredictable stack consumption for " + exceptionThrower);		// Get the stack values at entry to the null check.		IsNullValueFrame frame = invDataflow.getStartFact(basicBlock);		if (frame.isValid()) {			// Could the reference be null?			IsNullValue refValue = frame.getValue(frame.getNumSlots() - consumed);			boolean onExceptionPath = refValue.isException();			if (refValue.isDefinitelyNull()) {				String type = onExceptionPath ? "NP_ALWAYS_NULL_EXCEPTION" : "NP_ALWAYS_NULL";				int priority = onExceptionPath ? LOW_PRIORITY : HIGH_PRIORITY;				reportNullDeref(classContext, method, exceptionThrowerHandle, type, priority);			} else if (refValue.isNullOnSomePath()) {				String type = onExceptionPath ? "NP_NULL_ON_SOME_PATH_EXCEPTION" : "NP_NULL_ON_SOME_PATH";				int priority = onExceptionPath ? LOW_PRIORITY : NORMAL_PRIORITY;				if (DEBUG) System.out.println("Reporting null on some path: value=" + refValue);				reportNullDeref(classContext, method, exceptionThrowerHandle, type, priority);			}		}	}