(final QueryContext qc)
| 16 | */ |
| 17 | public final class MapGet extends MapFn { |
| 18 | @Override |
| 19 | public Value value(final QueryContext qc) throws QueryException { |
| 20 | final XQMap map = toMap(arg(0), qc); |
| 21 | final Item key = toAtomItem(arg(1), qc); |
| 22 | |
| 23 | final Value value = map.getOrNull(key); |
| 24 | if(value != null) return value; |
| 25 | if(defined(2)) return arg(2).value(qc); |
| 26 | return Empty.VALUE; |
| 27 | } |
| 28 | |
| 29 | @Override |
| 30 | protected Expr opt(final CompileContext cc) throws QueryException { |