diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-18 08:07:50 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-18 08:07:50 +0000 |
| commit | 345e3d419eafb0e234aecb4a33f37efe2afbbf53 (patch) | |
| tree | 9330322103f26f15c6df91cbbd62bf5a1f6e72da /lib/Parser/Parser.cc | |
| parent | 927e3fc0384c941f9ad313a28768660c3cdb1777 (diff) | |
feat(classes): add copy constructors and statement-scoped temporaries
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'lib/Parser/Parser.cc')
| -rw-r--r-- | lib/Parser/Parser.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Parser/Parser.cc b/lib/Parser/Parser.cc index afe0e80..48f4df4 100644 --- a/lib/Parser/Parser.cc +++ b/lib/Parser/Parser.cc @@ -299,6 +299,12 @@ std::unique_ptr<StmtAST> Parser::ParseAssignStmt() { getNextToken(); auto Args = ParseExprList(')', true); if (!Args) return nullptr; + if (CurTok == '.') { + auto Result = ParseResultMethods(std::make_unique<CallExprAST>(Name, std::move(*Args), Line), Line); + if (!Result) return nullptr; + return std::make_unique<MemberCallStmtAST>( + std::unique_ptr<MemberCallExprAST>(static_cast<MemberCallExprAST *>(Result.release()))); + } return std::make_unique<CallStmtAST>(Name, std::move(*Args), Line); } |
