cppast icon indicating copy to clipboard operation
cppast copied to clipboard

parser::parse: Inconsistency in documentation or unwanted behavior when file already in index

Open rafzi opened this issue 2 years ago • 0 comments

  • cppast version: main branch
  • parser: libclang_parser
  • clang version: 16.0.4

simple_file_parser::parse states: \returns The parsed file or an empty optional, if a fatal error occurred.

https://github.com/foonathan/cppast/blob/main/include/cppast/parser.hpp#L110

It does internally call parser::parse, which states: \returns The [cppast::cpp_file]() object describing it. It can be 'nullptr', if there was an error or the specified file already registered in the index.

Therefore, simple_file_parser::parse actually also returns nullptr if the file is already in the index. A user of it will then expect that the parsing failed, when it actually succeeded.

rafzi avatar May 31 '23 10:05 rafzi