boolean receiverTypeIsExact = typeFrame.isExact(instanceSlot);
	public static Set<XMethod> resolveMethodCallTargets(			InvokeInstruction invokeInstruction,			TypeFrame typeFrame,			ConstantPoolGen cpg) throws DataflowAnalysisException, ClassNotFoundException {				if (invokeInstruction.getOpcode() == Constants.INVOKESTATIC) {			HashSet<XMethod> result = new HashSet<XMethod>();			Method targetMethod = findPrototypeMethod(invokeInstruction, cpg);			if (targetMethod != null) {				JavaClass targetClass = AnalysisContext.currentAnalysisContext().lookupClass(						invokeInstruction.getClassName(cpg));				result.add(XMethodFactory.createXMethod(targetClass, targetMethod));			}			return result;		}				if (!typeFrame.isValid()) {			return new HashSet<XMethod>();		}		int instanceSlot = typeFrame.getInstanceSlot(invokeInstruction, cpg);		Type receiverType = typeFrame.getValue(instanceSlot);		if (!(receiverType instanceof ReferenceType)) {			return new HashSet<XMethod>();		}		boolean receiverTypeIsExact = typeFrame.isExact(instanceSlot);		if (DEBUG_METHOD_LOOKUP) {			System.out.println("[receiver type is " + receiverType + ", " +					(receiverTypeIsExact ? "exact]" : " not exact]"));		}		return resolveMethodCallTargets((ReferenceType) receiverType, invokeInstruction, cpg, receiverTypeIsExact);	}