Revision 44738 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultOptimizer.java

View differences:

DefaultOptimizer.java
7 7
import org.gvsig.expressionevaluator.Code;
8 8
import org.gvsig.expressionevaluator.Code.Caller;
9 9
import org.gvsig.expressionevaluator.CodeBuilder;
10
import org.gvsig.expressionevaluator.Codes;
10 11
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
11 12
import org.gvsig.expressionevaluator.Function;
12 13
import org.gvsig.expressionevaluator.Interpreter;
......
212 213
                            boolean canOptimize = true;
213 214
                            if (caller.parameters() != null) {
214 215
                                newArgs = (BaseCodes) this.getCodeBuilder().args();
215
                                for (Code arg : caller.parameters()) {
216
                                Codes parameters = caller.parameters();
217
                                for (int i = 0; i < parameters.size(); i++) {
218
                                    Code arg = parameters.get(i);
216 219
                                    Code newArg = this.doOptimize(arg);
217
                                    newArgs.add(newArg);
220
                                    newArgs.add(parameters.getName(i), newArg);
218 221
                                    if (newArg.code() != Code.CONSTANT) {
219 222
                                        canOptimize = false;
220 223
                                    }

Also available in: Unified diff