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/DefaultCodeBuilder.java
DefaultCodeBuilder.java | ||
---|---|---|
6 | 6 |
import java.util.List; |
7 | 7 |
import org.apache.commons.lang3.StringUtils; |
8 | 8 |
import org.gvsig.expressionevaluator.Code; |
9 |
import static org.gvsig.expressionevaluator.Code.CALLER; |
|
10 | 9 |
import static org.gvsig.expressionevaluator.Code.CONSTANT; |
11 | 10 |
import static org.gvsig.expressionevaluator.Code.IDENTIFIER; |
12 | 11 |
import static org.gvsig.expressionevaluator.Code.UNDEFINED; |
13 | 12 |
import static org.gvsig.expressionevaluator.Code.CODES; |
14 |
import org.gvsig.expressionevaluator.Code.Caller; |
|
15 | 13 |
import org.gvsig.expressionevaluator.Code.Constant; |
16 | 14 |
import static org.gvsig.expressionevaluator.Code.EMPTY_FORMATTER; |
17 | 15 |
import org.gvsig.expressionevaluator.Code.Identifier; |
... | ... | |
53 | 51 |
import org.gvsig.tools.dynobject.exception.DynMethodNotSupportedException; |
54 | 52 |
import org.gvsig.tools.exception.BaseException; |
55 | 53 |
import org.gvsig.tools.visitor.Visitor; |
54 |
import static org.gvsig.expressionevaluator.Code.CALLABLE; |
|
55 |
import org.gvsig.expressionevaluator.Code.Callable; |
|
56 | 56 |
|
57 | 57 |
@SuppressWarnings("UseSpecificCatch") |
58 | 58 |
public class DefaultCodeBuilder implements CodeBuilder { |
... | ... | |
82 | 82 |
|
83 | 83 |
@Override |
84 | 84 |
public void link(SymbolTable symbolTable) { |
85 |
if( this.code() == Code.CALLER ) {
|
|
86 |
Caller caller = (Caller) this;
|
|
85 |
if( this.code() == Code.CALLABLE ) {
|
|
86 |
Callable caller = (Callable) this;
|
|
87 | 87 |
Function fn = symbolTable.function(caller.name()); |
88 | 88 |
if( fn != null ) { |
89 | 89 |
caller.function(fn); |
... | ... | |
363 | 363 |
|
364 | 364 |
} |
365 | 365 |
|
366 |
public class BaseCaller extends BaseCode implements Caller, RecursionControlSupport {
|
|
366 |
public class BaseCaller extends BaseCode implements Callable, RecursionControlSupport {
|
|
367 | 367 |
|
368 | 368 |
private final String name; |
369 | 369 |
private final Codes args; |
... | ... | |
381 | 381 |
|
382 | 382 |
@Override |
383 | 383 |
public int code() { |
384 |
return CALLER;
|
|
384 |
return CALLABLE;
|
|
385 | 385 |
} |
386 | 386 |
|
387 | 387 |
@Override |
... | ... | |
670 | 670 |
} |
671 | 671 |
|
672 | 672 |
@Override |
673 |
public Caller tuple() {
|
|
673 |
public Callable tuple() {
|
|
674 | 674 |
BaseCodes args = this.args(); |
675 | 675 |
return function(FUNCTION_TUPLE, args); |
676 | 676 |
} |
677 | 677 |
|
678 | 678 |
@Override |
679 |
public Caller tuple(Codes args) {
|
|
679 |
public Callable tuple(Codes args) {
|
|
680 | 680 |
if( args == null ) { |
681 | 681 |
args = this.args(); |
682 | 682 |
} |
... | ... | |
684 | 684 |
} |
685 | 685 |
|
686 | 686 |
@Override |
687 |
public Caller function(String name, int type, Codes args) {
|
|
687 |
public Callable function(String name, int type, Codes args) {
|
|
688 | 688 |
return new BaseCaller(name, type, args); |
689 | 689 |
} |
690 | 690 |
|
691 | 691 |
@Override |
692 |
public Caller function(String name, Codes args) {
|
|
693 |
return function(name, Caller.FUNCTION, args);
|
|
692 |
public Callable function(String name, Codes args) {
|
|
693 |
return function(name, Callable.FUNCTION, args);
|
|
694 | 694 |
} |
695 | 695 |
|
696 | 696 |
@Override |
... | ... | |
700 | 700 |
} |
701 | 701 |
|
702 | 702 |
@Override |
703 |
public Caller operator(String name, Code arg1) {
|
|
703 |
public Callable operator(String name, Code arg1) {
|
|
704 | 704 |
BaseCodes args = args(); |
705 | 705 |
args.add(arg1); |
706 |
return function(name, Caller.UNARY_OPERATOR, args);
|
|
706 |
return function(name, Callable.UNARY_OPERATOR, args);
|
|
707 | 707 |
} |
708 | 708 |
|
709 | 709 |
@Override |
710 |
public Caller operator(String name, Code arg1, Code arg2) {
|
|
710 |
public Callable operator(String name, Code arg1, Code arg2) {
|
|
711 | 711 |
BaseCodes args = args(); |
712 | 712 |
args.add(arg1); |
713 | 713 |
args.add(arg2); |
714 |
return function(name, Caller.BINARY_OPERATOR, args);
|
|
714 |
return function(name, Callable.BINARY_OPERATOR, args);
|
|
715 | 715 |
} |
716 | 716 |
|
717 | 717 |
@Override |
Also available in: Unified diff