CppHeaderParser 2.1 Released

Posted by: senex 4 years, 10 months ago

(Comments)

CppHeaderParser version 2.1 is now released.  This release fixed many bugs and added support for more complex C++ header files.  Some features where handling and support were added and improved include:

  • unions
  • templates
  • virtual inheritance
  • anonymous structs (and structs in general)
  • operator overloading functions
  • function pointers

Project page can be found at http://senexcanis.com/open-source/cppheaderparser/


Fixed bugs:
3488053: Nested classes have incorrect member access specifiers
3488360: Inheriting class with namespace causes error
3487551: Return types of virtual functions start with 'virtual '
3488049: Non-manifest constant arrays sizes cause incorrect parsing
3488358: Option to suppress printing of warnings and errors
 To suppress errors do the following:
 CppHeaderParser.print_errors = 0
 To supress warnings do the following:
 CppHeaderParser.print_warnings = 0
3488054: Out-of-line inlines / template methods
3488275: Template methods reported incorrectly
3488275: Template methods reported incorrectly
3491240: Explicit constructors are reported as normal methods
3491178: Certain template methods are not reported properly
3491232: Nested struct causes incorrect access specifiers for parent
3491319: Anonymous struct causes crash.
 Also fixed variable instances followed by struct definitions detecting the type as that struct.
3491334: Virtual inheritance causes crash
3492237: Cast array size reports method named "["
3497164: Anonymous structs causes crash
3497160: Bad parse when friending forward class
3497155: Function declarations cause crash
3497168: Constant arithmetic reports bogus methods
3497166: Forward struct reports bogus property
3497162: Bad parse of nested union
 Now treat unions like special classes since parsing is a subset
3497158 and 3517308: Fixed parsing of template declarations by filtering them out.
3514728: Multi-line Preprocessor confuses parser
3517289: Parser crashes if functions are declared under extern "C"
3514671: Does not parse struct datatype as a struct/class property
3515330: Namespace causes improper access level in nested classes
3514672: Incorrect parse of operator=()
 Added support for all operator oveloads
 Cleaned up tab warnings
3497170: Function pointers confuse parser
3523010: Support for multi-word accessor: Return type wrong
3519178: Problems with namespaces and templates
 Fixed return type having colons
3523196: Problems with "advanced" namespace and template usage
3524327: Pure virtual method lost its constness

Resolve feature requests:
3488051: Classes are well reported but structs (which are classes except for default access specifier) are not reported at all.
3488050: Identify array data members as arrays
 Variables have the following 2 new attributes:
 * array: 0 or 1 depending on if its an array
 * array_size: If something is between [ and ], that will go here
 
Implement feature request:
3491220: structs are reported as classes
3519502: Support for Qt Slots
 Now curAccessSpecifier supports multi-word accessor specifiers such as "public slots"
3523198: Add possibility to ignore some symbols
Now symbols in CppHeaderParser.ignoreSymbols are ignored.
Q_OBJECT is in the list initially
3523235: Save "constness" of functions/methods
 Accessed via the "const" tag

Currently unrated


Comments

Search

Recent Posts

Archive

2016
2014
2013
2012
2011
2006

Categories

Authors

Feeds

RSS / Atom

Menu