/** * Marks the method and the returned reference parameters of the specified * stack entry at the given instruction offset. */ private void markReturnedParameters(Clazz clazz, Method method, int returnOffset, int stackEntryIndex) { TracedStack stackBefore = partialEvaluator.getStackBefore(returnOffset); Value stackEntry = stackBefore.getTop(stackEntryIndex); if (stackEntry.computationalType() == Value.TYPE_REFERENCE) { ReferenceValue referenceValue = stackEntry.referenceValue(); // The null reference value may not have a trace value. if (referenceValue.isNull() != Value.ALWAYS && mayReturnType(clazz, method, referenceValue)) { markReturnedParameters(method, referenceValue); } } }
/** * Marks the method and the returned reference parameters of the specified * stack entry at the given instruction offset. */ private void markReturnedParameters(Clazz clazz, Method method, int returnOffset, int stackEntryIndex) { TracedStack stackBefore = partialEvaluator.getStackBefore(returnOffset); Value stackEntry = stackBefore.getTop(stackEntryIndex); if (stackEntry.computationalType() == Value.TYPE_REFERENCE) { ReferenceValue referenceValue = stackEntry.referenceValue(); // The null reference value may not have a trace value. if (referenceValue.isNull() != Value.ALWAYS && mayReturnType(clazz, method, referenceValue)) { markReturnedParameters(method, referenceValue); } } }
/** * Marks the method and the returned reference parameters of the specified * stack entry at the given instruction offset. */ private void markReturnedParameters(Clazz clazz, Method method, int returnOffset, int stackEntryIndex) { TracedStack stackBefore = partialEvaluator.getStackBefore(returnOffset); Value stackEntry = stackBefore.getTop(stackEntryIndex); if (stackEntry.computationalType() == Value.TYPE_REFERENCE) { ReferenceValue referenceValue = stackEntry.referenceValue(); // The null reference value may not have a trace value. if (referenceValue.isNull() != Value.ALWAYS && mayReturnType(clazz, method, referenceValue)) { markReturnedParameters(method, referenceValue); } } }