Recursive method that performs the actual substitution for try/substitute() while removing implicit casts. The implicit cast removal is in the CastExpr class which overrides this method. Resets the analysis state in all non-SlotRef expressions. Exprs that have non-child exprs which should be affecte
(ExprSubstitutionMap smap, Analyzer analyzer)
| 1214 | * well. |
| 1215 | */ |
| 1216 | protected Expr substituteImpl(ExprSubstitutionMap smap, Analyzer analyzer) { |
| 1217 | if (smap != null) { |
| 1218 | Expr substExpr = smap.get(this); |
| 1219 | if (substExpr != null) return substExpr.clone(); |
| 1220 | } |
| 1221 | substituteImplOnChildren(smap, analyzer); |
| 1222 | resetAnalysisState(); |
| 1223 | return this; |
| 1224 | } |
| 1225 | |
| 1226 | protected final void substituteImplOnChildren(ExprSubstitutionMap smap, |
| 1227 | Analyzer analyzer) { |
no test coverage detected