FunctionDeclaration *source_func;
Block *target_block;
std::map<std::string, VariableDeclaration *> variable_map;
- bool remap_names;
+ 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;
std::string r_result_name;
public:
const std::string &apply(Stage &, FunctionDeclaration &, Block &, const NodeList<Statement>::iterator &, FunctionDeclaration &);
private:
- std::string create_unused_name(const std::string &, bool);
-
virtual void visit(VariableReference &);
virtual void visit(InterfaceBlockReference &);
virtual void visit(FunctionCall &);
bool apply(Stage &);
private:
- void visit_and_record(RefPtr<Expression> &);
void inline_expression(Expression &, RefPtr<Expression> &);
virtual void visit(Block &);
virtual void visit(RefPtr<Expression> &);