diff -ruN headerdoc-8.7.15/Modules/HeaderDoc/BlockParse.pm headerdoc-8.7.16/Modules/HeaderDoc/BlockParse.pm --- headerdoc-8.7.15/Modules/HeaderDoc/BlockParse.pm 2009-04-10 14:10:44.000000000 -0700 +++ headerdoc-8.7.16/Modules/HeaderDoc/BlockParse.pm 2009-07-21 17:15:35.000000000 -0700 @@ -3,7 +3,7 @@ # Module name: BlockParse # Synopsis: Block parser code # -# Last Updated: $Date: 2009/04/10 07:00:27 $ +# Last Updated: $Date: 2009/07/22 00:15:21 $ # # Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved. # @@ -56,7 +56,7 @@ use strict; use vars qw($VERSION @ISA); use File::Basename qw(basename); -$HeaderDoc::BlockParse::VERSION = '$Revision: 1.59 $'; +$HeaderDoc::BlockParse::VERSION = '$Revision: 1.61 $'; ################ Portability ################################### my $isMacOS; @@ -271,6 +271,7 @@ my $sodDebug = 0 || $HeaderDoc::fileDebug; my $valueDebug = 0; my $parmDebug = 0; + my $bitfieldDebug = 0; my $cbnDebug = 0; my $macroDebug = 0; my $apDebug = 0; @@ -1594,6 +1595,12 @@ } } + if ($part ne ":" && $parserState->{inBitfield}) { + print STDERR "BITFIELD CONFIRMED.\n" if ($parmDebug || $parseDebug || $localDebug || $bitfieldDebug); + $parserState->{startOfDec} = 0; + delete $parserState->{inBitfield}; + } + SWITCH: { # Blank declaration handlers (mostly for misuse of # OSMetaClassDeclareReservedUsed and similar) @@ -2194,12 +2201,25 @@ $lastACS = $1; last SWITCH; } elsif ($structname && $parserState->{typestring} eq $structname) { + print STDERR "STRUCT CASE\n" if ($parmDebug || $localDebug); if (!(scalar(@braceStack) - $parserState->{initbsCount})) { + print STDERR "STRUCT CASE OUTER\n" if ($parmDebug || $localDebug); if (!$parserState->{structClassName}) { + print STDERR "STRUCT NAME BLANK\n" if ($parmDebug || $localDebug); $parserState->{structClassName} = $parserState->{lastsymbol}; $parserState->{bracePending} = 2; } } + } elsif ($parserState->{inBitfield}) { + print STDERR "NOT IN BITFIELD (::)\n" if ($parmDebug || $parseDebug || $localDebug || $bitfieldDebug); + delete $parserState->{inBitfield}; + } elsif ($parserState->{sodclass} ne "class" && + !$parserState->{occmethod} && !$parserState->{inMacro} && + !$parserState->{inEnum} && !$parserState->{inClass} && + !$parserState->{seenBraces} && ($lang eq "C") && ($sublang ne "MIG")) { + print STDERR "SC: $parserState->{sodclass} ST: $parserState->{sodtype}\n" if ($localDebug || $parseDebug); + print STDERR "IN BITFIELD?\n" if ($parmDebug || $parseDebug || $localDebug || $bitfieldDebug); + $parserState->{inBitfield} = 1; } } }; diff -ruN headerdoc-8.7.15/testsuite/parser_tests/ObjC_class_6.test headerdoc-8.7.16/testsuite/parser_tests/ObjC_class_6.test --- headerdoc-8.7.15/testsuite/parser_tests/ObjC_class_6.test 2009-03-30 11:11:50.000000000 -0700 +++ headerdoc-8.7.16/testsuite/parser_tests/ObjC_class_6.test 2009-07-21 16:57:02.000000000 -0700 @@ -2113,7 +2113,7 @@ -$88173|-=: TOP LEVEL COMMENT PARSE VALUES :=- +$88151|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 1 inInterface: 0 @@ -3553,8 +3553,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "
" @@ -3595,8 +3595,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3637,8 +3637,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3679,8 +3679,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3721,8 +3721,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3805,8 +3805,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3847,8 +3847,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3889,8 +3889,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3931,8 +3931,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3973,8 +3973,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -6942,7 +6942,7 @@ -$88173|-=: TOP LEVEL COMMENT PARSE VALUES :=- +$88151|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 1 inInterface: 0 @@ -8382,8 +8382,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8424,8 +8424,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8466,8 +8466,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8508,8 +8508,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8550,8 +8550,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8634,8 +8634,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8676,8 +8676,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8718,8 +8718,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8760,8 +8760,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8802,8 +8802,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" diff -ruN headerdoc-8.7.15/testsuite/parser_tests/ObjC_class_7.test headerdoc-8.7.16/testsuite/parser_tests/ObjC_class_7.test --- headerdoc-8.7.15/testsuite/parser_tests/ObjC_class_7.test 2009-03-20 11:57:07.000000000 -0700 +++ headerdoc-8.7.16/testsuite/parser_tests/ObjC_class_7.test 2009-07-21 16:57:02.000000000 -0700 @@ -2128,7 +2128,7 @@ -$88736|-=: TOP LEVEL COMMENT PARSE VALUES :=- +$88714|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 1 inInterface: 0 @@ -3572,8 +3572,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3614,8 +3614,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3656,8 +3656,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3698,8 +3698,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3740,8 +3740,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3824,8 +3824,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3866,8 +3866,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3908,8 +3908,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3950,8 +3950,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -3992,8 +3992,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -6987,7 +6987,7 @@ -$88736|-=: TOP LEVEL COMMENT PARSE VALUES :=- +$88714|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 1 inInterface: 0 @@ -8431,8 +8431,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8473,8 +8473,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8515,8 +8515,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8557,8 +8557,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8599,8 +8599,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8683,8 +8683,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: NSBorderType borderType + NAME: borderType + TYPE: NSBorderType APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8725,8 +8725,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 3 - TYPE: NSTitlePosition titlePosition + NAME: titlePosition + TYPE: NSTitlePosition APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8767,8 +8767,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 1 - TYPE: unsigned int transparent + NAME: transparent + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8809,8 +8809,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 2 - TYPE: unsigned int boxType + NAME: boxType + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" @@ -8851,8 +8851,8 @@ INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::MinorAPIElement - NAME: 24 - TYPE: unsigned int _RESERVED + NAME: _RESERVED + TYPE: unsigned int APIUID: ABSTRACT: "" DISCUSSION: "" diff -ruN headerdoc-8.7.15/testsuite/parser_tests/struct_bitfield_1.test headerdoc-8.7.16/testsuite/parser_tests/struct_bitfield_1.test --- headerdoc-8.7.15/testsuite/parser_tests/struct_bitfield_1.test 1969-12-31 16:00:00.000000000 -0800 +++ headerdoc-8.7.16/testsuite/parser_tests/struct_bitfield_1.test 2009-07-01 14:01:13.000000000 -0700 @@ -0,0 +1,2214 @@ +FrT;@1|>>0|$15|HeaderDoc::Test%26|$4|CODE$7|COMMENT$7|CPPCODE$15|EXPECTED_RESULT$23|EXPECTED_RESULT_ALLDECS$7|FAILMSG$8|FILENAME$4|LANG$4|NAME$6|RESULT$14|RESULT_ALLDECS$7|SUBLANG$4|TYPE$69|struct myStruct { + int field1; + int field2 : 23; + int field3 : 9; +}; +$157|/*! + @struct myStruct + @abstract A structure with bitfields + @field field1 The first field + @field field2 The second field + @field field3 The third field +*/ +$0|$14062|-=: TOP LEVEL COMMENT PARSE VALUES :=- +inHeader: 0 +inClass: 0 +inInterface: 0 +inCPPHeader: 0 +inOCCHeader: 0 +inPerlScript: 0 +inShellScript: 0 +inPHPScript: 0 +inJavaSource: 0 +inFunctionGroup: 0 +inGroup: 0 +inFunction: 0 +inPDefine: 0 +inTypedef: 0 +inUnion: 0 +inStruct: 1 +inConstant: 0 +inVar: 0 +inEnum: 0 +inMethod: 0 +inAvailabilityMacro: 0 +inUnknown: 0 +classType: unknown +inputCounter: 0 +blockOffset: 0 +fullpath: /test_suite_bogus_path/struct_bitfield_1.test +-=: BLOCKPARSE PARSER STATE KEYS :=- +$parserState->{FULLPATH} => /test_suite_bogus_path/struct_bitfield_1.test +$parserState->{NEXTTOKENNOCPP} => 0 +$parserState->{availability} => +$parserState->{backslashcount} => 0 +$parserState->{basetype} => struct +$parserState->{bracePending} => 0 +$parserState->{callbackIsTypedef} => 0 +$parserState->{callbackName} => +$parserState->{callbackNamePending} => -1 +$parserState->{categoryClass} => +$parserState->{classtype} => +$parserState->{freezeStack} => ARRAY(OBJID) +$parserState->{freezereturn} => 1 +$parserState->{frozensodname} => +$parserState->{functionReturnsCallback} => 0 +$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{inBrackets} => 0 +$parserState->{inChar} => 0 +$parserState->{inClass} => 0 +$parserState->{inComment} => 0 +$parserState->{inEnum} => 0 +$parserState->{inInlineComment} => 0 +$parserState->{inMacro} => 0 +$parserState->{inMacroLine} => 0 +$parserState->{inOperator} => 0 +$parserState->{inPrivateParamTypes} => 0 +$parserState->{inString} => 0 +$parserState->{inTemplate} => 0 +$parserState->{inUnion} => 0 +$parserState->{initbsCount} => 0 +$parserState->{inputCounter} => 5 +$parserState->{kr_c_function} => 0 +$parserState->{kr_c_name} => +$parserState->{lang} => C +$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{lastsymbol} => ; +$parserState->{macroNoTrunc} => 1 +$parserState->{name} => myStruct +$parserState->{namePending} => 0 +$parserState->{noInsert} => 0 +$parserState->{occmethod} => 0 +$parserState->{occmethodname} => +$parserState->{occparmlabelfound} => 2 +$parserState->{onlyComments} => 0 +$parserState->{parsedParamList} => ARRAY(OBJID) +$parserState->{parsedParamParse} => 1 +$parserState->{posstypes} => struct +$parserState->{posstypesPending} => 0 +$parserState->{pplStack} => ARRAY(OBJID) +$parserState->{preEqualsSymbol} => +$parserState->{preTemplateSymbol} => +$parserState->{returntype} => struct myStruct { + int +$parserState->{seenBraces} => 0 +$parserState->{seenMacroPart} => 0 +$parserState->{seenTilde} => 0 +$parserState->{simpleTDcontents} => +$parserState->{simpleTypedef} => 0 +$parserState->{sodclass} => +$parserState->{sodname} => +$parserState->{sodtype} => +$parserState->{stackFrozen} => 0 +$parserState->{startOfDec} => 1 +$parserState->{temponlyComments} => 0 +$parserState->{treePopTwo} => 0 +$parserState->{typestring} => struct +$parserState->{value} => +$parserState->{valuepending} => 0 +-=: BLOCKPARSE RETURN VALUES :=- +newcount: 5 +typelist: struct +namelist: myStruct +posstypes: struct +value: +returntype: struct myStruct { int +pridec: +simpleTDcontents: +bpavail: +blockOffset: 0 +conformsToList: +functionContents: +extendsClass: +implementsClass: +-=: LIST OF PARSED PARAMETERS :=- +Parsed Param 0 => int field1 +Parsed Param 1 => int field2 : 23 +Parsed Param 2 => int field3 : 9 +-=: DUMP OF PARSE TREE :=- ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +-=: COMPUTED VALUE :=- +SUCCESS: 0 +VALUE: 0 +-=: CPP CHANGES :=- +NO CPP CHANGES +-=: FOUND MATCH :=- +1 +-=: NAMED OBJECTS :=- +TREE COUNT: 0 +INDEX GROUP: +IS BLOCK: +OBJECT TYPE: HeaderDoc::Header +NAME: struct bitfield 1 +APIUID: //test_ref/doc/header/struct_bitfield_1.test +ABSTRACT: "" +DISCUSSION: "" +UPDATED: "" +COPYRIGHT: "" +HTMLMETA: "" +PRIVATEDECLARATION: "" +GROUP: "" +INDEXGROUP: "" +THROWS: "" +XMLTHROWS: "" +UPDATED: "" +LINKAGESTATE: "" +ACCESSCONTROL: "" +AVAILABILITY: "" +LINKUID: "" +ORIGCLASS: "" +ISDEFINE: "" +ISTEMPLATE: "" +VALUE: "UNKNOWN" +RETURNTYPE: "" +LINENUM: "" +CLASS: "HeaderDoc::Header" +MASTERENUM: "" +APIREFSETUPDONE: "1" +TPCDONE: "" +NOREGISTERUID: "" +SUPPRESSCHILDREN: "" +NAMELINE_DISCUSSION: "" +HIDEDOC: "" +HIDESINGLETONS: "" +HIDECONTENTS: "" +MAINOBJECT: "" +LIST ATTRIBUTES: +SHORT ATTRIBUTES: +LONG ATTRIBUTES: + TREE COUNT: 1 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::Struct + NAME: myStruct + APIUID: //test_ref/c/tag/myStruct + ABSTRACT: "A structure with bitfields +" + DISCUSSION: "
" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::Struct" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "0" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + PARSED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TAGGED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The first field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The second field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The third field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: +-=: NAMED OBJECT PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +END OF OBJECT + + + +-=: HTML OUTPUT OF PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) + struct myStruct { + int field1; + int field2 : 23; + int field3 : 9; + }; +END OF OBJECT + + + +$14062|-=: TOP LEVEL COMMENT PARSE VALUES :=- +inHeader: 0 +inClass: 0 +inInterface: 0 +inCPPHeader: 0 +inOCCHeader: 0 +inPerlScript: 0 +inShellScript: 0 +inPHPScript: 0 +inJavaSource: 0 +inFunctionGroup: 0 +inGroup: 0 +inFunction: 0 +inPDefine: 0 +inTypedef: 0 +inUnion: 0 +inStruct: 1 +inConstant: 0 +inVar: 0 +inEnum: 0 +inMethod: 0 +inAvailabilityMacro: 0 +inUnknown: 0 +classType: unknown +inputCounter: 0 +blockOffset: 0 +fullpath: /test_suite_bogus_path/struct_bitfield_1.test +-=: BLOCKPARSE PARSER STATE KEYS :=- +$parserState->{FULLPATH} => /test_suite_bogus_path/struct_bitfield_1.test +$parserState->{NEXTTOKENNOCPP} => 0 +$parserState->{availability} => +$parserState->{backslashcount} => 0 +$parserState->{basetype} => struct +$parserState->{bracePending} => 0 +$parserState->{callbackIsTypedef} => 0 +$parserState->{callbackName} => +$parserState->{callbackNamePending} => -1 +$parserState->{categoryClass} => +$parserState->{classtype} => +$parserState->{freezeStack} => ARRAY(OBJID) +$parserState->{freezereturn} => 1 +$parserState->{frozensodname} => +$parserState->{functionReturnsCallback} => 0 +$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{inBrackets} => 0 +$parserState->{inChar} => 0 +$parserState->{inClass} => 0 +$parserState->{inComment} => 0 +$parserState->{inEnum} => 0 +$parserState->{inInlineComment} => 0 +$parserState->{inMacro} => 0 +$parserState->{inMacroLine} => 0 +$parserState->{inOperator} => 0 +$parserState->{inPrivateParamTypes} => 0 +$parserState->{inString} => 0 +$parserState->{inTemplate} => 0 +$parserState->{inUnion} => 0 +$parserState->{initbsCount} => 0 +$parserState->{inputCounter} => 5 +$parserState->{kr_c_function} => 0 +$parserState->{kr_c_name} => +$parserState->{lang} => C +$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{lastsymbol} => ; +$parserState->{macroNoTrunc} => 1 +$parserState->{name} => myStruct +$parserState->{namePending} => 0 +$parserState->{noInsert} => 0 +$parserState->{occmethod} => 0 +$parserState->{occmethodname} => +$parserState->{occparmlabelfound} => 2 +$parserState->{onlyComments} => 0 +$parserState->{parsedParamList} => ARRAY(OBJID) +$parserState->{parsedParamParse} => 1 +$parserState->{posstypes} => struct +$parserState->{posstypesPending} => 0 +$parserState->{pplStack} => ARRAY(OBJID) +$parserState->{preEqualsSymbol} => +$parserState->{preTemplateSymbol} => +$parserState->{returntype} => struct myStruct { + int +$parserState->{seenBraces} => 0 +$parserState->{seenMacroPart} => 0 +$parserState->{seenTilde} => 0 +$parserState->{simpleTDcontents} => +$parserState->{simpleTypedef} => 0 +$parserState->{sodclass} => +$parserState->{sodname} => +$parserState->{sodtype} => +$parserState->{stackFrozen} => 0 +$parserState->{startOfDec} => 1 +$parserState->{temponlyComments} => 0 +$parserState->{treePopTwo} => 0 +$parserState->{typestring} => struct +$parserState->{value} => +$parserState->{valuepending} => 0 +-=: BLOCKPARSE RETURN VALUES :=- +newcount: 5 +typelist: struct +namelist: myStruct +posstypes: struct +value: +returntype: struct myStruct { int +pridec: +simpleTDcontents: +bpavail: +blockOffset: 0 +conformsToList: +functionContents: +extendsClass: +implementsClass: +-=: LIST OF PARSED PARAMETERS :=- +Parsed Param 0 => int field1 +Parsed Param 1 => int field2 : 23 +Parsed Param 2 => int field3 : 9 +-=: DUMP OF PARSE TREE :=- ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +-=: COMPUTED VALUE :=- +SUCCESS: 0 +VALUE: 0 +-=: CPP CHANGES :=- +NO CPP CHANGES +-=: FOUND MATCH :=- +1 +-=: NAMED OBJECTS :=- +TREE COUNT: 0 +INDEX GROUP: +IS BLOCK: +OBJECT TYPE: HeaderDoc::Header +NAME: struct bitfield 1 +APIUID: //test_ref/doc/header/struct_bitfield_1.test +ABSTRACT: "" +DISCUSSION: "" +UPDATED: "" +COPYRIGHT: "" +HTMLMETA: "" +PRIVATEDECLARATION: "" +GROUP: "" +INDEXGROUP: "" +THROWS: "" +XMLTHROWS: "" +UPDATED: "" +LINKAGESTATE: "" +ACCESSCONTROL: "" +AVAILABILITY: "" +LINKUID: "" +ORIGCLASS: "" +ISDEFINE: "" +ISTEMPLATE: "" +VALUE: "UNKNOWN" +RETURNTYPE: "" +LINENUM: "" +CLASS: "HeaderDoc::Header" +MASTERENUM: "" +APIREFSETUPDONE: "1" +TPCDONE: "" +NOREGISTERUID: "" +SUPPRESSCHILDREN: "" +NAMELINE_DISCUSSION: "" +HIDEDOC: "" +HIDESINGLETONS: "" +HIDECONTENTS: "" +MAINOBJECT: "" +LIST ATTRIBUTES: +SHORT ATTRIBUTES: +LONG ATTRIBUTES: + TREE COUNT: 1 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::Struct + NAME: myStruct + APIUID: //test_ref/c/tag/myStruct + ABSTRACT: "A structure with bitfields +" + DISCUSSION: "
" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::Struct" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "0" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + PARSED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TAGGED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The first field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The second field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The third field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: +-=: NAMED OBJECT PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +END OF OBJECT + + + +-=: HTML OUTPUT OF PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) + struct myStruct { + int field1; + int field2 : 23; + int field3 : 9; + }; +END OF OBJECT + + + +$46|This should parse the field names corrrectly. +$45|testsuite/parser_tests/struct_bitfield_1.test$1|C$17|struct bitfield 1$14062|-=: TOP LEVEL COMMENT PARSE VALUES :=- +inHeader: 0 +inClass: 0 +inInterface: 0 +inCPPHeader: 0 +inOCCHeader: 0 +inPerlScript: 0 +inShellScript: 0 +inPHPScript: 0 +inJavaSource: 0 +inFunctionGroup: 0 +inGroup: 0 +inFunction: 0 +inPDefine: 0 +inTypedef: 0 +inUnion: 0 +inStruct: 1 +inConstant: 0 +inVar: 0 +inEnum: 0 +inMethod: 0 +inAvailabilityMacro: 0 +inUnknown: 0 +classType: unknown +inputCounter: 0 +blockOffset: 0 +fullpath: /test_suite_bogus_path/struct_bitfield_1.test +-=: BLOCKPARSE PARSER STATE KEYS :=- +$parserState->{FULLPATH} => /test_suite_bogus_path/struct_bitfield_1.test +$parserState->{NEXTTOKENNOCPP} => 0 +$parserState->{availability} => +$parserState->{backslashcount} => 0 +$parserState->{basetype} => struct +$parserState->{bracePending} => 0 +$parserState->{callbackIsTypedef} => 0 +$parserState->{callbackName} => +$parserState->{callbackNamePending} => -1 +$parserState->{categoryClass} => +$parserState->{classtype} => +$parserState->{freezeStack} => ARRAY(OBJID) +$parserState->{freezereturn} => 1 +$parserState->{frozensodname} => +$parserState->{functionReturnsCallback} => 0 +$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{inBrackets} => 0 +$parserState->{inChar} => 0 +$parserState->{inClass} => 0 +$parserState->{inComment} => 0 +$parserState->{inEnum} => 0 +$parserState->{inInlineComment} => 0 +$parserState->{inMacro} => 0 +$parserState->{inMacroLine} => 0 +$parserState->{inOperator} => 0 +$parserState->{inPrivateParamTypes} => 0 +$parserState->{inString} => 0 +$parserState->{inTemplate} => 0 +$parserState->{inUnion} => 0 +$parserState->{initbsCount} => 0 +$parserState->{inputCounter} => 5 +$parserState->{kr_c_function} => 0 +$parserState->{kr_c_name} => +$parserState->{lang} => C +$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{lastsymbol} => ; +$parserState->{macroNoTrunc} => 1 +$parserState->{name} => myStruct +$parserState->{namePending} => 0 +$parserState->{noInsert} => 0 +$parserState->{occmethod} => 0 +$parserState->{occmethodname} => +$parserState->{occparmlabelfound} => 2 +$parserState->{onlyComments} => 0 +$parserState->{parsedParamList} => ARRAY(OBJID) +$parserState->{parsedParamParse} => 1 +$parserState->{posstypes} => struct +$parserState->{posstypesPending} => 0 +$parserState->{pplStack} => ARRAY(OBJID) +$parserState->{preEqualsSymbol} => +$parserState->{preTemplateSymbol} => +$parserState->{returntype} => struct myStruct { + int +$parserState->{seenBraces} => 0 +$parserState->{seenMacroPart} => 0 +$parserState->{seenTilde} => 0 +$parserState->{simpleTDcontents} => +$parserState->{simpleTypedef} => 0 +$parserState->{sodclass} => +$parserState->{sodname} => +$parserState->{sodtype} => +$parserState->{stackFrozen} => 0 +$parserState->{startOfDec} => 1 +$parserState->{temponlyComments} => 0 +$parserState->{treePopTwo} => 0 +$parserState->{typestring} => struct +$parserState->{value} => +$parserState->{valuepending} => 0 +-=: BLOCKPARSE RETURN VALUES :=- +newcount: 5 +typelist: struct +namelist: myStruct +posstypes: struct +value: +returntype: struct myStruct { int +pridec: +simpleTDcontents: +bpavail: +blockOffset: 0 +conformsToList: +functionContents: +extendsClass: +implementsClass: +-=: LIST OF PARSED PARAMETERS :=- +Parsed Param 0 => int field1 +Parsed Param 1 => int field2 : 23 +Parsed Param 2 => int field3 : 9 +-=: DUMP OF PARSE TREE :=- ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +-=: COMPUTED VALUE :=- +SUCCESS: 0 +VALUE: 0 +-=: CPP CHANGES :=- +NO CPP CHANGES +-=: FOUND MATCH :=- +1 +-=: NAMED OBJECTS :=- +TREE COUNT: 0 +INDEX GROUP: +IS BLOCK: +OBJECT TYPE: HeaderDoc::Header +NAME: struct bitfield 1 +APIUID: //test_ref/doc/header/struct_bitfield_1.test +ABSTRACT: "" +DISCUSSION: "" +UPDATED: "" +COPYRIGHT: "" +HTMLMETA: "" +PRIVATEDECLARATION: "" +GROUP: "" +INDEXGROUP: "" +THROWS: "" +XMLTHROWS: "" +UPDATED: "" +LINKAGESTATE: "" +ACCESSCONTROL: "" +AVAILABILITY: "" +LINKUID: "" +ORIGCLASS: "" +ISDEFINE: "" +ISTEMPLATE: "" +VALUE: "UNKNOWN" +RETURNTYPE: "" +LINENUM: "" +CLASS: "HeaderDoc::Header" +MASTERENUM: "" +APIREFSETUPDONE: "1" +TPCDONE: "" +NOREGISTERUID: "" +SUPPRESSCHILDREN: "" +NAMELINE_DISCUSSION: "" +HIDEDOC: "" +HIDESINGLETONS: "" +HIDECONTENTS: "" +MAINOBJECT: "" +LIST ATTRIBUTES: +SHORT ATTRIBUTES: +LONG ATTRIBUTES: + TREE COUNT: 1 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::Struct + NAME: myStruct + APIUID: //test_ref/c/tag/myStruct + ABSTRACT: "A structure with bitfields +" + DISCUSSION: "
" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::Struct" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "0" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + PARSED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TAGGED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The first field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The second field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The third field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: +-=: NAMED OBJECT PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +END OF OBJECT + + + +-=: HTML OUTPUT OF PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) + struct myStruct { + int field1; + int field2 : 23; + int field3 : 9; + }; +END OF OBJECT + + + +$14062|-=: TOP LEVEL COMMENT PARSE VALUES :=- +inHeader: 0 +inClass: 0 +inInterface: 0 +inCPPHeader: 0 +inOCCHeader: 0 +inPerlScript: 0 +inShellScript: 0 +inPHPScript: 0 +inJavaSource: 0 +inFunctionGroup: 0 +inGroup: 0 +inFunction: 0 +inPDefine: 0 +inTypedef: 0 +inUnion: 0 +inStruct: 1 +inConstant: 0 +inVar: 0 +inEnum: 0 +inMethod: 0 +inAvailabilityMacro: 0 +inUnknown: 0 +classType: unknown +inputCounter: 0 +blockOffset: 0 +fullpath: /test_suite_bogus_path/struct_bitfield_1.test +-=: BLOCKPARSE PARSER STATE KEYS :=- +$parserState->{FULLPATH} => /test_suite_bogus_path/struct_bitfield_1.test +$parserState->{NEXTTOKENNOCPP} => 0 +$parserState->{availability} => +$parserState->{backslashcount} => 0 +$parserState->{basetype} => struct +$parserState->{bracePending} => 0 +$parserState->{callbackIsTypedef} => 0 +$parserState->{callbackName} => +$parserState->{callbackNamePending} => -1 +$parserState->{categoryClass} => +$parserState->{classtype} => +$parserState->{freezeStack} => ARRAY(OBJID) +$parserState->{freezereturn} => 1 +$parserState->{frozensodname} => +$parserState->{functionReturnsCallback} => 0 +$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{inBrackets} => 0 +$parserState->{inChar} => 0 +$parserState->{inClass} => 0 +$parserState->{inComment} => 0 +$parserState->{inEnum} => 0 +$parserState->{inInlineComment} => 0 +$parserState->{inMacro} => 0 +$parserState->{inMacroLine} => 0 +$parserState->{inOperator} => 0 +$parserState->{inPrivateParamTypes} => 0 +$parserState->{inString} => 0 +$parserState->{inTemplate} => 0 +$parserState->{inUnion} => 0 +$parserState->{initbsCount} => 0 +$parserState->{inputCounter} => 5 +$parserState->{kr_c_function} => 0 +$parserState->{kr_c_name} => +$parserState->{lang} => C +$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) +$parserState->{lastsymbol} => ; +$parserState->{macroNoTrunc} => 1 +$parserState->{name} => myStruct +$parserState->{namePending} => 0 +$parserState->{noInsert} => 0 +$parserState->{occmethod} => 0 +$parserState->{occmethodname} => +$parserState->{occparmlabelfound} => 2 +$parserState->{onlyComments} => 0 +$parserState->{parsedParamList} => ARRAY(OBJID) +$parserState->{parsedParamParse} => 1 +$parserState->{posstypes} => struct +$parserState->{posstypesPending} => 0 +$parserState->{pplStack} => ARRAY(OBJID) +$parserState->{preEqualsSymbol} => +$parserState->{preTemplateSymbol} => +$parserState->{returntype} => struct myStruct { + int +$parserState->{seenBraces} => 0 +$parserState->{seenMacroPart} => 0 +$parserState->{seenTilde} => 0 +$parserState->{simpleTDcontents} => +$parserState->{simpleTypedef} => 0 +$parserState->{sodclass} => +$parserState->{sodname} => +$parserState->{sodtype} => +$parserState->{stackFrozen} => 0 +$parserState->{startOfDec} => 1 +$parserState->{temponlyComments} => 0 +$parserState->{treePopTwo} => 0 +$parserState->{typestring} => struct +$parserState->{value} => +$parserState->{valuepending} => 0 +-=: BLOCKPARSE RETURN VALUES :=- +newcount: 5 +typelist: struct +namelist: myStruct +posstypes: struct +value: +returntype: struct myStruct { int +pridec: +simpleTDcontents: +bpavail: +blockOffset: 0 +conformsToList: +functionContents: +extendsClass: +implementsClass: +-=: LIST OF PARSED PARAMETERS :=- +Parsed Param 0 => int field1 +Parsed Param 1 => int field2 : 23 +Parsed Param 2 => int field3 : 9 +-=: DUMP OF PARSE TREE :=- ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +-=: COMPUTED VALUE :=- +SUCCESS: 0 +VALUE: 0 +-=: CPP CHANGES :=- +NO CPP CHANGES +-=: FOUND MATCH :=- +1 +-=: NAMED OBJECTS :=- +TREE COUNT: 0 +INDEX GROUP: +IS BLOCK: +OBJECT TYPE: HeaderDoc::Header +NAME: struct bitfield 1 +APIUID: //test_ref/doc/header/struct_bitfield_1.test +ABSTRACT: "" +DISCUSSION: "" +UPDATED: "" +COPYRIGHT: "" +HTMLMETA: "" +PRIVATEDECLARATION: "" +GROUP: "" +INDEXGROUP: "" +THROWS: "" +XMLTHROWS: "" +UPDATED: "" +LINKAGESTATE: "" +ACCESSCONTROL: "" +AVAILABILITY: "" +LINKUID: "" +ORIGCLASS: "" +ISDEFINE: "" +ISTEMPLATE: "" +VALUE: "UNKNOWN" +RETURNTYPE: "" +LINENUM: "" +CLASS: "HeaderDoc::Header" +MASTERENUM: "" +APIREFSETUPDONE: "1" +TPCDONE: "" +NOREGISTERUID: "" +SUPPRESSCHILDREN: "" +NAMELINE_DISCUSSION: "" +HIDEDOC: "" +HIDESINGLETONS: "" +HIDECONTENTS: "" +MAINOBJECT: "" +LIST ATTRIBUTES: +SHORT ATTRIBUTES: +LONG ATTRIBUTES: + TREE COUNT: 1 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::Struct + NAME: myStruct + APIUID: //test_ref/c/tag/myStruct + ABSTRACT: "A structure with bitfields +" + DISCUSSION: "
" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::Struct" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "0" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + PARSED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: int + APIUID: + ABSTRACT: "" + DISCUSSION: "" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES: + LONG ATTRIBUTES: + TAGGED PARAMETERS: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field1 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The first field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field2 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The second field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: + TREE COUNT: 0 + INDEX GROUP: + IS BLOCK: + OBJECT TYPE: HeaderDoc::MinorAPIElement + NAME: field3 + TYPE: + APIUID: + ABSTRACT: "" + DISCUSSION: "The third field" + UPDATED: "" + COPYRIGHT: "" + HTMLMETA: "" + PRIVATEDECLARATION: "" + GROUP: "" + INDEXGROUP: "" + THROWS: "" + XMLTHROWS: "" + UPDATED: "" + LINKAGESTATE: "" + ACCESSCONTROL: "" + AVAILABILITY: "" + LINKUID: "" + ORIGCLASS: "" + ISDEFINE: "" + ISTEMPLATE: "" + VALUE: "UNKNOWN" + RETURNTYPE: "" + LINENUM: "" + CLASS: "HeaderDoc::MinorAPIElement" + MASTERENUM: "" + APIREFSETUPDONE: "1" + TPCDONE: "" + NOREGISTERUID: "" + SUPPRESSCHILDREN: "" + NAMELINE_DISCUSSION: "" + HIDEDOC: "" + HIDESINGLETONS: "" + HIDECONTENTS: "" + MAINOBJECT: "" + LIST ATTRIBUTES: + SHORT ATTRIBUTES:
+ LONG ATTRIBUTES: +-=: NAMED OBJECT PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) ++---struct ++--- ++---myStruct ++--- ++---{ +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field1 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field2 +| +--- +| +---: +| +--- +| +---23 +| +---; +| +---[ NEWLINE ] +| +--- +| +---int +| +--- +| +---field3 +| +--- +| +---: +| +--- +| +---9 +| +---; +| +---[ NEWLINE ] +| +---} ++---; ++--- ++---[ NEWLINE ] +END OF OBJECT + + + +-=: HTML OUTPUT OF PARSE TREES :=- +OBJECT: myStruct (HeaderDoc::Struct) + struct myStruct { + int field1; + int field2 : 23; + int field3 : 9; + }; +END OF OBJECT + + + +$1|C$6|parser \ No newline at end of file diff -ruN headerdoc-8.7.15/xmlman/resolveLinks.c headerdoc-8.7.16/xmlman/resolveLinks.c --- headerdoc-8.7.15/xmlman/resolveLinks.c 2009-03-18 17:53:26.000000000 -0700 +++ headerdoc-8.7.16/xmlman/resolveLinks.c 2009-07-21 16:57:09.000000000 -0700 @@ -1030,7 +1030,7 @@ // char *name = proptext("name", node->properties); char *href = proptext("href", node->properties); - if (lp && href) { + if (lp) { char *frametgt = getTargetAttFromString((char *)node->content); char *target = resolve(lp, filename, &retarget, &frametgt); @@ -1492,7 +1492,7 @@ rest++; if (!strlen(refpart) || !strlen(langpart) ||!strlen(rest)) { - fprintf(ERRS, "warning: malformed apple_ref has less than three parts.\n"); + fprintf(ERRS, "warning: malformed apple_ref %s has less than three parts.\n", origref); return NULL; }