Missing class in parsing

Create issue
Issue #2 resolved
Sixdsn created an issue

Hi,

i found an issue in a file i'm parsing, there are two classes in it and only one is found by the parser.

report.txt: "print cppHeader.classes" nsIFrame.h: the file i'm parsing is there: http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsIFrame.h

thank you,

Comments (2)

  1. senex repo owner

    This issue was caused by the following #define magic which isnt supported.

    MOZ_BEGIN_ENUM_CLASS(nsDidReflowStatus, uint32_t)
      NOT_FINISHED,
      FINISHED
    MOZ_END_ENUM_CLASS(nsDidReflowStatus)
    

    Since the above comes before the class but isnt C++ proper, it put the state machine in a bad state. I added a little something to detect when a class is declared in a bad state and it got past your issue.

    In order to fully parse this file, you will need to add the following line of code before you parse to get past the MOZ_STACK_CLASS #define magic

    CppHeaderParser.ignoreSymbols.append("MOZ_STACK_CLASS")
    
  2. Log in to comment