Revision 44198 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/DefaultInterpreter.java
DefaultInterpreter.java | ||
---|---|---|
165 | 165 |
|
166 | 166 |
@Override |
167 | 167 |
public void link(Code code) { |
168 |
linkCode(code);
|
|
168 |
code.link(this.getSymbolTable());
|
|
169 | 169 |
} |
170 | 170 |
|
171 |
private void linkCode(Code code) { |
|
172 |
if( code.code() == Code.CALLER ) { |
|
173 |
Caller caller = (Caller) code; |
|
174 |
if( caller.function() == null ) { |
|
175 |
caller.function(this.getSymbolTable().function(caller.name())); |
|
176 |
} |
|
177 |
if( caller.args() != null ) { |
|
178 |
for( Code arg : caller.args() ) { |
|
179 |
linkCode(arg); |
|
180 |
} |
|
181 |
} |
|
182 |
} |
|
183 |
} |
|
184 |
|
|
185 | 171 |
public Object runCode(Code code) throws Exception { |
186 | 172 |
RecursionControlSupport recursionControl = null; |
187 | 173 |
if( code instanceof RecursionControlSupport ) { |
... | ... | |
235 | 221 |
if( !function.isSQLCompatible() && this.sqlCompatible ) { |
236 | 222 |
throw new ExpressionRuntimeException(code, I18N.Cant_use_non_SQL_compatible_functions(function.name())); |
237 | 223 |
} |
238 |
Codes args = caller.args();
|
|
224 |
Codes args = caller.parameters();
|
|
239 | 225 |
try { |
240 | 226 |
switch( caller.type() ) { |
241 | 227 |
case Caller.UNARY_OPERATOR: |
Also available in: Unified diff