1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Bug 397205. Fixed StackOverflowError in EvalFunctionCall.getValue()

This commit is contained in:
Sergey Prigogin 2012-12-27 16:58:50 -08:00
parent f7f56bb08e
commit cf42513ae6

View file

@ -143,9 +143,11 @@ public class EvalFunctionCall extends CPPEvaluation {
@Override @Override
public IValue getValue(IASTNode point) { public IValue getValue(IASTNode point) {
ICPPEvaluation eval = computeForFunctionCall(Value.MAX_RECURSION_DEPTH, point); ICPPEvaluation eval = computeForFunctionCall(Value.MAX_RECURSION_DEPTH, point);
if (eval instanceof EvalFixed) if (eval != this) {
return ((EvalFixed) eval).getValue(); if (eval instanceof EvalFixed)
eval = new EvalFixed(getTypeOrFunctionSet(point), PRVALUE, eval.getValue(point)); return ((EvalFixed) eval).getValue();
eval = new EvalFixed(getTypeOrFunctionSet(point), PRVALUE, eval.getValue(point));
}
return Value.create(eval); return Value.create(eval);
} }