Revision 44752 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
5 5
import java.util.Collections;
6 6
import java.util.Iterator;
7 7
import org.gvsig.expressionevaluator.Code;
8
import org.gvsig.expressionevaluator.Code.Caller;
9 8
import org.gvsig.expressionevaluator.CodeBuilder;
10 9
import org.gvsig.expressionevaluator.Codes;
11 10
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
......
13 12
import org.gvsig.expressionevaluator.Interpreter;
14 13
import org.gvsig.expressionevaluator.SymbolTable;
15 14
import org.gvsig.expressionevaluator.impl.DefaultCodeBuilder.BaseCodes;
15
import org.gvsig.expressionevaluator.Code.Callable;
16 16

  
17 17
/**
18 18
 *
......
170 170

  
171 171
    private Code doOptimize(Code code) {
172 172
        switch (code.code()) {
173
            case Code.CALLER:
174
                Caller caller = (Caller) code;
173
            case Code.CALLABLE:
174
                Callable caller = (Callable) code;
175 175
                Function function = caller.function();
176 176
                if ( function == null) {
177 177
                    // resolve and link function
......
182 182
                    return ((FunctionOptimizer) caller.function()).optimize(this, caller);
183 183
                } else {
184 184
                    switch (caller.type()) {
185
                        case Caller.BINARY_OPERATOR: {
185
                        case Callable.BINARY_OPERATOR: {
186 186
                            Code op1 = this.doOptimize(caller.parameters().get(0));
187 187
                            Code op2 = this.doOptimize(caller.parameters().get(1));
188 188
                            if ( function.allowConstantFolding()) {
......
196 196
                            }
197 197
                        }
198 198

  
199
                        case Code.Caller.UNARY_OPERATOR: {
199
                        case Code.Callable.UNARY_OPERATOR: {
200 200
                            Code op1 = this.doOptimize(caller.parameters().get(0));
201 201
                            if (function.allowConstantFolding()
202 202
                                    && op1.code() == Code.CONSTANT) {
......
207 207
                            return code;
208 208
                        }
209 209

  
210
                        case Code.Caller.FUNCTION:
210
                        case Code.Callable.FUNCTION:
211 211
                        default: {
212 212
                            BaseCodes newArgs = null;
213 213
                            boolean canOptimize = true;

Also available in: Unified diff