tree-sitter / tree-sitter-cpp

C++ grammar for tree-sitter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

function_declarator node in unexpected place

Jendker opened this issue · comments

Moving the issue from nvim-treesitter/nvim-treesitter#4552.

If I have following line:

auto object_plane_pose(Eigen::Isometry3d::Identity());

A function_declarator node is marked between columns 5 and 53, what is not expected. We have a call as one of the arguments, so it cannot be a function declaration. I am not sure how to adjust the syntax parsing to fix that. Could someone have a look?

Screenshot from 2023-03-24 12-14-15

This is called most vexing parse. It's impossible to determine the actual semantic meaning of this expression without a compiler's assistance. A language server (clangd) with semantic token highlighting enabled in your editor would likely help.