/** * Creates a new PartialEvaluator. * @param valueFactory the value factory that will create all values * during evaluation. */ public PartialEvaluator(ValueFactory valueFactory) { this(valueFactory, new BasicInvocationUnit(valueFactory), true); }
public Value getFieldClassValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field class value. ReferenceValue value = StoringInvocationUnit.getFieldClassValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldClassValue(clazz, refConstant, type); }
public Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, String type, Clazz referencedClass) { if (loadMethodParameterValues) { // Retrieve the stored method parameter value. Value value = StoringInvocationUnit.getMethodParameterValue(method, parameterIndex); if (value != null) { return value; } } return super.getMethodParameterValue(clazz, method, parameterIndex, type, referencedClass); }
public void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant) { // Pop the field value, if applicable. if (!isLoad) { setFieldValue(clazz, fieldrefConstant, stack.pop()); } // Pop the reference value, if applicable. if (!isStatic) { setFieldClassValue(clazz, fieldrefConstant, stack.apop()); } // Push the field value, if applicable. if (isLoad) { String type = fieldrefConstant.getType(clazz); stack.push(getFieldValue(clazz, fieldrefConstant, type)); } }
public Value getFieldValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field value. Value value = StoringInvocationUnit.getFieldValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldValue(clazz, refConstant, type); }
public Value getMethodReturnValue(Clazz clazz, RefConstant refConstant, String type) { if (loadMethodReturnValues) { // Do we know this method? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored method return value. Value value = StoringInvocationUnit.getMethodReturnValue((Method)referencedMember); if (value != null) { return value; } } } return super.getMethodReturnValue(clazz, refConstant, type); } }
public void visitAnyMethodrefConstant(Clazz clazz, RefConstant methodrefConstant) { String type = methodrefConstant.getType(clazz); // Count the number of parameters. int parameterCount = ClassUtil.internalMethodParameterCount(type); if (!isStatic) { parameterCount++; } // Pop the parameters and the class reference, in reverse order. for (int parameterIndex = parameterCount-1; parameterIndex >= 0; parameterIndex--) { setMethodParameterValue(clazz, methodrefConstant, parameterIndex, stack.pop()); } // Push the return value, if applicable. String returnType = ClassUtil.internalMethodReturnType(type); if (returnType.charAt(0) != ClassConstants.INTERNAL_TYPE_VOID) { stack.push(getMethodReturnValue(clazz, methodrefConstant, returnType)); } }
public Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, String type, Clazz referencedClass) { if (loadMethodParameterValues) { // Retrieve the stored method parameter value. Value value = StoringInvocationUnit.getMethodParameterValue(method, parameterIndex); if (value != null) { return value; } } return super.getMethodParameterValue(clazz, method, parameterIndex, type, referencedClass); }
public Value getFieldValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field value. Value value = StoringInvocationUnit.getFieldValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldValue(clazz, refConstant, type); }
public Value getMethodReturnValue(Clazz clazz, RefConstant refConstant, String type) { if (loadMethodReturnValues) { // Do we know this method? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored method return value. Value value = StoringInvocationUnit.getMethodReturnValue((Method)referencedMember); if (value != null) { return value; } } } return super.getMethodReturnValue(clazz, refConstant, type); } }
/** * Creates a new PartialEvaluator. * @param valueFactory the value factory that will create all values * during evaluation. */ public PartialEvaluator(ValueFactory valueFactory) { this(valueFactory, new BasicInvocationUnit(valueFactory), true); }
public Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, String type, Clazz referencedClass) { if (loadMethodParameterValues) { // Retrieve the stored method parameter value. Value value = StoringInvocationUnit.getMethodParameterValue(method, parameterIndex); if (value != null) { return value; } } return super.getMethodParameterValue(clazz, method, parameterIndex, type, referencedClass); }
public Value getFieldClassValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field class value. ReferenceValue value = StoringInvocationUnit.getFieldClassValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldClassValue(clazz, refConstant, type); }
public Value getFieldValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field value. Value value = StoringInvocationUnit.getFieldValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldValue(clazz, refConstant, type); }
public Value getMethodReturnValue(Clazz clazz, RefConstant refConstant, String type) { if (loadMethodReturnValues) { // Do we know this method? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored method return value. Value value = StoringInvocationUnit.getMethodReturnValue((Method)referencedMember); if (value != null) { return value; } } } return super.getMethodReturnValue(clazz, refConstant, type); } }
/** * Creates a new PartialEvaluator. * @param valueFactory the value factory that will create all values * during evaluation. */ public PartialEvaluator(ValueFactory valueFactory) { this(valueFactory, new BasicInvocationUnit(valueFactory), true); }
protected Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, String type, Clazz referencedClass) { if (loadMethodParameterValues) { // Retrieve the stored method parameter value. Value value = StoringInvocationUnit.getMethodParameterValue(method, parameterIndex); if (value != null && value.isParticular()) { return value; // // Make sure the value is refreshed. // return refresh(value); } } return super.getMethodParameterValue(clazz, method, parameterIndex, type, referencedClass); }
public Value getFieldClassValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field class value. ReferenceValue value = StoringInvocationUnit.getFieldClassValue((Field)referencedMember); if (value != null) { return value; } } } return super.getFieldClassValue(clazz, refConstant, type); }
protected Value getFieldValue(Clazz clazz, RefConstant refConstant, String type) { if (loadFieldValues) { // Do we know this field? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored field value. Value value = StoringInvocationUnit.getFieldValue((Field)referencedMember); if (value != null && value.isParticular()) { return value; // // Make sure the value is refreshed. // return refresh(value); } } } return super.getFieldValue(clazz, refConstant, type); }
protected Value getMethodReturnValue(Clazz clazz, RefConstant refConstant, String type) { if (loadMethodReturnValues) { // Do we know this method? Member referencedMember = refConstant.referencedMember; if (referencedMember != null) { // Retrieve the stored method return value. Value value = StoringInvocationUnit.getMethodReturnValue((Method)referencedMember); if (value != null && value.isParticular()) { return value; // // Make sure the value is refreshed. // return refresh(value); } } } return super.getMethodReturnValue(clazz, refConstant, type); } //