/** Assigns IDs to specialization constants with an automatic ID. */
class ConstantIdAssigner: private TraversingVisitor
{
+private:
+ std::set<unsigned> used_ids;
+ std::vector<VariableDeclaration *> auto_constants;
+
public:
- void apply(Stage &);
+ void apply(Module &, const Features &);
private:
virtual void visit(VariableDeclaration &);