virtual void visit(ImageTypeDeclaration &);
virtual void visit(StructDeclaration &);
virtual void visit(VariableDeclaration &);
virtual void visit(ImageTypeDeclaration &);
virtual void visit(StructDeclaration &);
virtual void visit(VariableDeclaration &);
virtual void visit(RefPtr<Expression> &);
void check_assignment_target(Statement *);
virtual void visit(VariableReference &);
virtual void visit(RefPtr<Expression> &);
void check_assignment_target(Statement *);
virtual void visit(VariableReference &);
virtual void visit(MemberAccess &);
virtual void visit(Swizzle &);
virtual void visit(BinaryExpression &);
virtual void visit(MemberAccess &);
virtual void visit(Swizzle &);
virtual void visit(BinaryExpression &);
void merge_layouts(Layout &, const Layout &);
void redeclare_builtin(VariableDeclaration &, VariableDeclaration &);
virtual void visit(VariableDeclaration &);
void merge_layouts(Layout &, const Layout &);
void redeclare_builtin(VariableDeclaration &, VariableDeclaration &);
virtual void visit(VariableDeclaration &);
std::vector<BasicTypeDeclaration *> basic_types;
NodeList<Statement>::iterator insert_point;
bool r_any_resolved = false;
std::vector<BasicTypeDeclaration *> basic_types;
NodeList<Statement>::iterator insert_point;
bool r_any_resolved = false;
virtual void visit(Block &);
virtual void visit(Literal &);
virtual void visit(VariableReference &);
virtual void visit(Block &);
virtual void visit(Literal &);
virtual void visit(VariableReference &);
virtual void visit(MemberAccess &);
virtual void visit(Swizzle &);
virtual void visit(UnaryExpression &);
virtual void visit(MemberAccess &);
virtual void visit(Swizzle &);
virtual void visit(UnaryExpression &);
virtual void visit(FunctionCall &);
virtual void visit(BasicTypeDeclaration &);
virtual void visit(VariableDeclaration &);
virtual void visit(FunctionCall &);
virtual void visit(BasicTypeDeclaration &);
virtual void visit(VariableDeclaration &);