Changes in src/AST/DeclReplacer.cpp [490fb92e:e9b44489]
- File:
-
- 1 edited
-
src/AST/DeclReplacer.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/DeclReplacer.cpp
r490fb92e re9b44489 38 38 const ast::TypeInstType * previsit( const ast::TypeInstType * ); 39 39 }; 40 41 struct VarExprReplacer {42 private:43 const ExprMap & exprMap;44 45 public:46 VarExprReplacer(const ExprMap & exprMap): exprMap (exprMap) {}47 48 const Expr * postvisit (const VariableExpr *);49 };50 40 } 51 41 … … 64 54 DeclMap declMap; 65 55 return replace( node, declMap, typeMap, debug ); 66 }67 68 const ast::Node * replace( const ast::Node * node, const ExprMap & exprMap) {69 Pass<VarExprReplacer> replacer = {exprMap};70 return node->accept( replacer );71 56 } 72 57 … … 103 88 return ninst; 104 89 } 105 106 const Expr * VarExprReplacer::postvisit( const VariableExpr * expr ) {107 if (!exprMap.count(expr->var)) return expr;108 109 return exprMap.at(expr->var);110 }111 112 90 } 113 91 }
Note:
See TracChangeset
for help on using the changeset viewer.