Revision 47299 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 | ||
---|---|---|
108 | 108 |
|
109 | 109 |
@Override |
110 | 110 |
public void link(SymbolTable symbolTable) { |
111 |
this.link(symbolTable, true); |
|
112 |
} |
|
113 |
|
|
114 |
@Override |
|
115 |
public void link(SymbolTable symbolTable, boolean force) { |
|
111 | 116 |
if( this.code() == Code.CALLABLE ) { |
112 | 117 |
Callable caller = (Callable) this; |
113 |
Function fn = symbolTable.function(caller.name()); |
|
114 |
if( fn != null ) { |
|
115 |
caller.function(fn); |
|
118 |
if( force || caller.function()==null ) { |
|
119 |
Function fn = symbolTable.function(caller.name()); |
|
120 |
if( fn != null ) { |
|
121 |
caller.function(fn); |
|
122 |
} |
|
116 | 123 |
} |
117 | 124 |
if( caller.parameters() != null ) { |
118 | 125 |
for( Code arg : caller.parameters() ) { |
119 | 126 |
if( arg!=null ) { |
120 |
arg.link(symbolTable); |
|
127 |
arg.link(symbolTable, force);
|
|
121 | 128 |
} |
122 | 129 |
} |
123 | 130 |
} |
... | ... | |
425 | 432 |
|
426 | 433 |
@Override |
427 | 434 |
public void link(SymbolTable symbolTable) { |
435 |
this.link(symbolTable, true); |
|
436 |
} |
|
437 |
|
|
438 |
@Override |
|
439 |
public void link(SymbolTable symbolTable, boolean force) { |
|
428 | 440 |
for (Code arg : this.codes) { |
429 |
arg.link(symbolTable); |
|
441 |
arg.link(symbolTable, force);
|
|
430 | 442 |
} |
431 | 443 |
} |
432 | 444 |
|
Also available in: Unified diff