SymbolicValue { public void computedFrom(List<ProgramState.SymbolicValueSymbol> symbolicValues) { } SymbolicValue(); @Override int hashCode(); @Override boolean equals(Object o); static boolean isDisposable(SymbolicValue symbolicValue); boolean references(SymbolicValue other); @Override String toString(); void computedFrom(List<ProgramState.SymbolicValueSymbol> symbolicValues); List<Symbol> computedFromSymbols(); List<SymbolicValue> computedFrom(); List<ProgramState> setConstraint(ProgramState programState, ObjectConstraint nullConstraint); List<ProgramState> setConstraint(ProgramState programState, BooleanConstraint booleanConstraint); List<ProgramState> setConstraint(ProgramState programState, Constraint constraint); ProgramState setSingleConstraint(ProgramState programState, ObjectConstraint nullConstraint); SymbolicValue wrappedValue(); static final SymbolicValue NULL_LITERAL; static final SymbolicValue TRUE_LITERAL; static final SymbolicValue FALSE_LITERAL; static final List<SymbolicValue> PROTECTED_SYMBOLIC_VALUES; }
@Test void test_computed_from() throws Exception { SymbolicValue symbolicValue = new SymbolicValue(); assertThat(symbolicValue.computedFrom()).isEmpty(); SymbolicValue.NotSymbolicValue notSymbolicValue = new SymbolicValue.NotSymbolicValue(); SymbolicValueTestUtil.computedFrom(notSymbolicValue, symbolicValue); assertThat(notSymbolicValue.computedFrom()).contains(symbolicValue); RelationalSymbolicValue relationalSymbolicValue = new RelationalSymbolicValue(RelationalSymbolicValue.Kind.METHOD_EQUALS); SymbolicValueTestUtil.computedFrom(relationalSymbolicValue, symbolicValue, notSymbolicValue); assertThat(relationalSymbolicValue.computedFrom()).contains(symbolicValue, notSymbolicValue); }