/** * Attaches the current trace value to given reference value. */ public ReferenceValue trace(ReferenceValue referenceValue) { return traceValue != null ? new TracedReferenceValue(referenceValue, traceValue) : referenceValue; } }
/** * Attaches the current trace value to given reference value. */ public ReferenceValue trace(ReferenceValue referenceValue) { return traceValue != null ? new TracedReferenceValue(referenceValue, traceValue) : referenceValue; } }
public ReferenceValue generalize(IdentifiedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(DetailedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(UnknownReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(IdentifiedReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(IdentifiedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(IdentifiedReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(ArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(IdentifiedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(DetailedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(TypedReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(ArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(TypedReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(ArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(DetailedArrayReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
public ReferenceValue generalize(IdentifiedReferenceValue other) { return new TracedReferenceValue(referenceValue.generalize(other), traceValue); }
/** * Sets or replaces the trace value on a given value, returning the result. */ protected Value trace(Value value, InstructionOffsetValue traceValue) { return new TracedReferenceValue(untrace(value).referenceValue(), traceValue); }
/** * Sets or replaces the trace value on a given value, returning the result. */ protected Value trace(Value value, InstructionOffsetValue traceValue) { return new TracedReferenceValue(untrace(value).referenceValue(), traceValue); }
public ReferenceValue generalize(TracedReferenceValue other) { if (this.equals(other)) { return this; } return new TracedReferenceValue(this.referenceValue.generalize(other.referenceValue), this.traceValue .generalize(other.traceValue)); }