]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/generate.cpp
Resolve the return types of functions
[libs/gl.git] / source / glsl / generate.cpp
index 8626cac6761c6f42f896b76ef47d53111df5c460..433d506e1a8ab762f50a0e930e314bf387c58be0 100644 (file)
@@ -162,6 +162,13 @@ void TypeResolver::visit(VariableDeclaration &var)
                var.type_declaration = i->second;
 }
 
+void TypeResolver::visit(FunctionDeclaration &func)
+{
+       map<string, TypeDeclaration *>::iterator i = stage->types.find(func.return_type);
+       func.return_type_declaration = (i!=stage->types.end() ? i->second : 0);
+       TraversingVisitor::visit(func);
+}
+
 
 VariableResolver::VariableResolver():
        stage(0),