From eac8e3d68b9ca67f97c1f9aedef01e8e93cde323 Mon Sep 17 00:00:00 2001 From: "John Hodge (sonata)" Date: Mon, 5 Jan 2015 08:43:45 +0800 Subject: Implementing path lookup (bottom level of resolve) --- src/parse/expr.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/parse') diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index fd6f14b8..478673e3 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -402,7 +402,7 @@ ExprNodeP Parse_ExprFC(TokenStream& lex) switch(GET_TOK(tok, lex)) { case TOK_PAREN_OPEN: - // Function call + // Expression method call lex.putback(tok); val = NEWNODE( AST::ExprNode_CallObject, ::std::move(val), Parse_ParenList(lex) ); break; @@ -411,6 +411,12 @@ ExprNodeP Parse_ExprFC(TokenStream& lex) // TODO: What about tuple indexing? GET_CHECK_TOK(tok, lex, TOK_IDENT); val = NEWNODE( AST::ExprNode_Field, ::std::move(val), ::std::string(tok.str()) ); + //if( GET_TOK(tok, lex) == TOK_PAREN_OPEN || tok.type() == TOK_DOUBLE_COLON ) { + // throw ParseError::Todo("method calls"); + //} + //else { + // lex.putback(tok); + //} break; default: lex.putback(tok); -- cgit v1.2.3