std::map<std::string, VariableDeclaration *> variable_map;
std::string remap_prefix;
unsigned remap_names;
- bool deps_only;
RefPtr<Statement> r_inlined_statement;
std::set<Node *> dependencies;
std::set<std::string> referenced_names;
NodeList<Statement>::iterator insert_point;
RefPtr<Expression> r_inline_result;
bool r_any_inlined;
+ bool r_inlined_here;
public:
FunctionInliner();
NodeList<Statement>::iterator insert_point;
std::set<Node *> nodes_to_remove;
+ RefPtr<Expression> r_ternary_result;
public:
void apply(Stage &);
ConstantStatus check_constant_condition(const Expression &);
virtual void visit(Block &);
+ virtual void visit(RefPtr<Expression> &);
+ virtual void visit(TernaryExpression &);
virtual void visit(Conditional &);
virtual void visit(Iteration &);
};