New command line options parse-h-as-c and parse-some-h-as-c to decide that (some) .h header files should be parsed as C files instead of C++ files. C++ remains the default for .h files, as it is mostly a superset of C.
Refactored the Configuration constructor to make parameters more explicit
Added documentation for all available command line options to the Readme, removed outdated information.
Added system-independent unit tests for the new assumeLanguageFromFilePath(...) function that realizes the new command line options.
Added support and test cases for C and C++ enums and unions.
Added special queries for the C and C++ classes metric to avoid the duplicated counting of classes, structs, enums or unions when using typedef statements like typedef class name alias or forward declarations like class A; class A {};. Also considers opaque enums.
Added test cases for the typedef and forward declaration issues mentioned above.
Fixes a bug in the formatPrintPath(...) function of Helper.ts that resulted in an empty file path when the user supplied sources path is a path to a single file.
Added system-independent unit tests for formatPrintPath(...) to avoid regression, tested for both UNIX (/.../.../...) and DOS-style (C:\...\...\...) paths.
Adds support for the C programming language
Includes the following further changes:
parse-h-as-c
andparse-some-h-as-c
to decide that (some) .h header files should be parsed as C files instead of C++ files. C++ remains the default for .h files, as it is mostly a superset of C.assumeLanguageFromFilePath(...)
function that realizes the new command line options.typedef
statements liketypedef class name alias
or forward declarations likeclass A; class A {};
. Also considers opaque enums.formatPrintPath(...)
function of Helper.ts that resulted in an empty file path when the user supplied sources path is a path to a single file.formatPrintPath(...)
to avoid regression, tested for both UNIX (/.../.../...) and DOS-style (C:\...\...\...) paths.Closes #189