X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=5a2f42401620505c5801cf0326a5311e16a58f37;hp=461fac9a2e649b1fb3f2597da5ebed6759b218ff;hb=16a9d75c8e124a0faf89c56533792cb97a214e37;hpb=aa9873652630db493b5bd9faee4117e9c30ef226 diff --git a/source/programcompiler.h b/source/programcompiler.h index 461fac9a..5a2f4240 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -29,12 +29,12 @@ private: struct BlockModifier: Visitor { bool remove_node; - std::vector > insert_nodes; + std::vector > insert_nodes; BlockModifier(); void flatten_block(ProgramSyntax::Block &); - void apply_and_increment(ProgramSyntax::Block &, std::list >::iterator &); + void apply_and_increment(ProgramSyntax::Block &, std::list >::iterator &); using Visitor::visit; virtual void visit(ProgramSyntax::Block &); }; @@ -218,6 +218,7 @@ private: virtual void visit(ProgramSyntax::BinaryExpression &); virtual void visit(ProgramSyntax::MemberAccess &); virtual void visit(ProgramSyntax::FunctionCall &); + virtual void visit(ProgramSyntax::VariableDeclaration &); virtual void visit(ProgramSyntax::Return &); }; @@ -278,6 +279,7 @@ private: std::vector variables; ProgramSyntax::Assignment *assignment; bool assignment_target; + bool assign_to_subscript; bool global_scope; UnusedVariableLocator(); @@ -324,6 +326,7 @@ private: using Visitor::visit; virtual void visit(ProgramSyntax::Block &); virtual void visit(ProgramSyntax::VariableDeclaration &); + virtual void visit(ProgramSyntax::Iteration &); }; struct PrecisionRemover: BlockModifier @@ -357,6 +360,7 @@ private: LegacyConverter(const Version &); bool check_version(const Version &) const; + bool check_extension(const Extension &) const; using Visitor::visit; bool supports_unified_interface_syntax() const; virtual void visit(ProgramSyntax::VariableReference &);