X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.cpp;h=a1be91ca4f575228fe2f48ccb374fb0097c6dccb;hp=1a3cd34fae5067201f81dabf8ffcdf76121b0d59;hb=e37d3b91500994df3de4fe47bd3d3e75d3104b46;hpb=8e14c298d9eaa47b81e27d5c25174bda958b445f diff --git a/source/programcompiler.cpp b/source/programcompiler.cpp index 1a3cd34f..a1be91ca 100644 --- a/source/programcompiler.cpp +++ b/source/programcompiler.cpp @@ -557,8 +557,12 @@ void ProgramCompiler::Formatter::visit(Iteration &iter) void ProgramCompiler::Formatter::visit(Return &ret) { - formatted += "return "; - ret.expression->visit(*this); + formatted += "return"; + if(ret.expression) + { + formatted += ' '; + ret.expression->visit(*this); + } formatted += ';'; } @@ -1171,6 +1175,12 @@ void ProgramCompiler::FunctionInliner::visit(BinaryExpression &binary) inline_result = 0; } +void ProgramCompiler::FunctionInliner::visit(MemberAccess &memacc) +{ + visit_and_inline(memacc.left); + inline_result = 0; +} + void ProgramCompiler::FunctionInliner::visit(FunctionCall &call) { for(vector >::iterator i=call.arguments.begin(); i!=call.arguments.end(); ++i)