]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/parser.cpp
Add GLSL keywords for overriding functions
[libs/gl.git] / source / glsl / parser.cpp
index 0c3a5e35a57a35033024989aa96076b06bd141cd..31f9fcb65cc7ffe4da48cacd8cc41e0c7787dba5 100644 (file)
@@ -294,6 +294,8 @@ RefPtr<Statement> Parser::parse_global_declaration()
        }
        else if(is_qualifier(token))
                return parse_variable_declaration();
+       else if(token=="virtual")
+               return parse_function_declaration();
        else if(is_type(token))
        {
                if(tokenizer.peek_token(2)=="(")
@@ -750,6 +752,7 @@ RefPtr<FunctionDeclaration> Parser::parse_function_declaration()
 {
        RefPtr<FunctionDeclaration> func = create_node<FunctionDeclaration>();
 
+       func->virtua = check("virtual");
        func->return_type = expect_type();
        func->name = expect_identifier();
        tokenizer.expect("(");
@@ -768,6 +771,8 @@ RefPtr<FunctionDeclaration> Parser::parse_function_declaration()
        }
        tokenizer.expect(")");
 
+       func->overrd = check("override");
+
        string token = tokenizer.peek_token();
        if(token=="{")
        {