| 132 | } |
| 133 | |
| 134 | @Override |
| 135 | public Expr inline(final InlineContext ic) throws QueryException { |
| 136 | final Expr fnlInlined = fnlly.inline(ic); |
| 137 | if(fnlInlined != null) fnlly = fnlInlined; |
| 138 | boolean changed = false; |
| 139 | for(final Catch ctch : catches) { |
| 140 | changed |= ctch.inline(ic) != null; |
| 141 | } |
| 142 | Expr inlined; |
| 143 | try { |
| 144 | inlined = expr.inline(ic); |
| 145 | } catch(final QueryException ex) { |
| 146 | inlined = FnError.get(ex, expr); |
| 147 | } |
| 148 | if(inlined != null) expr = inlined; |
| 149 | |
| 150 | return changed || inlined != null || fnlInlined != null ? optimize(ic.cc) : null; |
| 151 | } |
| 152 | |
| 153 | @Override |
| 154 | public Expr copy(final CompileContext cc, final IntObjectMap<Var> vm) { |