FrT;@1|>>0|$15|HeaderDoc::Test%22|$4|CODE$7|COMMENT$7|CPPCODE$15|EXPECTED_RESULT$23|EXPECTED_RESULT_ALLDECS$7|FAILMSG$8|FILENAME$4|LANG$4|NAME$7|SUBLANG$4|TYPE$54|typedef struct iname { char *b; } ono1, ono2; $221|/*! This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. */ $0|$15104|-=: 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: 0 inConstant: 0 inVar: 0 inEnum: 0 inMethod: 0 inAvailabilityMacro: 0 inUnknown: 1 classType: unknown inputCounter: 0 blockOffset: 0 fullpath: /test_suite_bogus_path/nametest_9.test -=: BLOCKPARSE PARSER STATE KEYS :=- $parserState->{FULLPATH} => /test_suite_bogus_path/nametest_9.test $parserState->{NEXTTOKENNOCPP} => 0 $parserState->{availability} => $parserState->{backslashcount} => 0 $parserState->{basetype} => struct $parserState->{bracePending} => 0 $parserState->{callbackIsTypedef} => 1 $parserState->{callbackName} => $parserState->{callbackNamePending} => -1 $parserState->{categoryClass} => $parserState->{classtype} => $parserState->{curvarstars} => * $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->{inTypedef} => 1 $parserState->{inUnion} => 0 $parserState->{initbsCount} => 0 $parserState->{inputCounter} => 3 $parserState->{kr_c_function} => 0 $parserState->{kr_c_name} => $parserState->{lang} => C $parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{lastsymbol} => ono1,ono2; $parserState->{macroNoTrunc} => 1 $parserState->{name} => iname $parserState->{namePending} => 0 $parserState->{noInsert} => 0 $parserState->{occmethod} => 0 $parserState->{occmethodname} => $parserState->{occparmlabelfound} => 5 $parserState->{onlyComments} => 0 $parserState->{parsedParamAtBrace} => ARRAY(OBJID) $parserState->{parsedParamList} => ARRAY(OBJID) $parserState->{parsedParamParse} => 1 $parserState->{parsedParamStateAtBrace} => ARRAY(OBJID) $parserState->{posstypes} => typedef struct $parserState->{posstypesPending} => 0 $parserState->{pplStack} => ARRAY(OBJID) $parserState->{preEqualsSymbol} => $parserState->{preTemplateSymbol} => $parserState->{returntype} => typedef struct iname { char * $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->{sublang} => C $parserState->{temponlyComments} => 0 $parserState->{treePopTwo} => 0 $parserState->{typestring} => typedef $parserState->{value} => $parserState->{valuepending} => 0 -=: BLOCKPARSE RETURN VALUES :=- newcount: 3 typelist: typedef typedef struct namelist: ono1,ono2,iname posstypes: typedef struct value: returntype: typedef struct iname { char * pridec: simpleTDcontents: bpavail: blockOffset: 0 conformsToList: functionContents: extendsClass: implementsClass: -=: LIST OF PARSED PARAMETERS :=- Parsed Param 0 => char *b -=: DUMP OF PARSE TREE :=- +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ 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: nametest_9 APIUID: //test_ref/doc/header/nametest_9.test ABSTRACT: "" DISCUSSION: "<p></p>" 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::Typedef NAME: ono1 APIUID: //test_ref/c/tdef/ono1 ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Typedef" MASTERENUM: "1" 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: 1 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Typedef NAME: ono2 APIUID: //test_ref/c/tdef/ono2 ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Typedef" 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: 1 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Struct NAME: iname APIUID: //test_ref/c/tag/iname ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT OBJECT: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT OBJECT: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT -=: HTML OUTPUT OF PARSE TREES :=- OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT $15104|-=: 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: 0 inConstant: 0 inVar: 0 inEnum: 0 inMethod: 0 inAvailabilityMacro: 0 inUnknown: 1 classType: unknown inputCounter: 0 blockOffset: 0 fullpath: /test_suite_bogus_path/nametest_9.test -=: BLOCKPARSE PARSER STATE KEYS :=- $parserState->{FULLPATH} => /test_suite_bogus_path/nametest_9.test $parserState->{NEXTTOKENNOCPP} => 0 $parserState->{availability} => $parserState->{backslashcount} => 0 $parserState->{basetype} => struct $parserState->{bracePending} => 0 $parserState->{callbackIsTypedef} => 1 $parserState->{callbackName} => $parserState->{callbackNamePending} => -1 $parserState->{categoryClass} => $parserState->{classtype} => $parserState->{curvarstars} => * $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->{inTypedef} => 1 $parserState->{inUnion} => 0 $parserState->{initbsCount} => 0 $parserState->{inputCounter} => 3 $parserState->{kr_c_function} => 0 $parserState->{kr_c_name} => $parserState->{lang} => C $parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{lastsymbol} => ono1,ono2; $parserState->{macroNoTrunc} => 1 $parserState->{name} => iname $parserState->{namePending} => 0 $parserState->{noInsert} => 0 $parserState->{occmethod} => 0 $parserState->{occmethodname} => $parserState->{occparmlabelfound} => 5 $parserState->{onlyComments} => 0 $parserState->{parsedParamAtBrace} => ARRAY(OBJID) $parserState->{parsedParamList} => ARRAY(OBJID) $parserState->{parsedParamParse} => 1 $parserState->{parsedParamStateAtBrace} => ARRAY(OBJID) $parserState->{posstypes} => typedef struct $parserState->{posstypesPending} => 0 $parserState->{pplStack} => ARRAY(OBJID) $parserState->{preEqualsSymbol} => $parserState->{preTemplateSymbol} => $parserState->{returntype} => typedef struct iname { char * $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->{sublang} => C $parserState->{temponlyComments} => 0 $parserState->{treePopTwo} => 0 $parserState->{typestring} => typedef $parserState->{value} => $parserState->{valuepending} => 0 -=: BLOCKPARSE RETURN VALUES :=- newcount: 3 typelist: typedef typedef struct namelist: ono1,ono2,iname posstypes: typedef struct value: returntype: typedef struct iname { char * pridec: simpleTDcontents: bpavail: blockOffset: 0 conformsToList: functionContents: extendsClass: implementsClass: -=: LIST OF PARSED PARAMETERS :=- Parsed Param 0 => char *b -=: DUMP OF PARSE TREE :=- +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ 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: nametest_9 APIUID: //test_ref/doc/header/nametest_9.test ABSTRACT: "" DISCUSSION: "<p></p>" 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::Typedef NAME: ono1 APIUID: //test_ref/c/tdef/ono1 ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Typedef" MASTERENUM: "1" 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: 1 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Typedef NAME: ono2 APIUID: //test_ref/c/tdef/ono2 ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Typedef" 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: 1 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Struct NAME: iname APIUID: //test_ref/c/tag/iname ABSTRACT: "" DISCUSSION: "<p>This should be a typedef with two outer names and a tag name. If the "outer names only" flag is set, it should show up as ono1 and ono2. If that flag is not set, it should also show up as iname. " 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: b TYPE: char * APIUID: ABSTRACT: "" DISCUSSION: "<p></p>" 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: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT OBJECT: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT OBJECT: iname (HeaderDoc::Struct) +---typedef +--- +---struct +--- +---iname +--- +---{ | +---[ NEWLINE ] | +--- | +---char | +--- | +---* | +---b | +---; | +---[ NEWLINE ] | +---} +--- +---ono1 +---, +--- +---ono2 +---; +--- +---[ NEWLINE ] END OF OBJECT -=: HTML OUTPUT OF PARSE TREES :=- OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT OBJECT: iname (HeaderDoc::Struct) <span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/iname //test_ref/c/tdef/iname //test_ref/c/tag/iname //test_ref/c/struct/iname //test_ref/c/intf/iname //test_ref/doc/anysymbol/iname" machineGenerated="true" --><span class="type">iname</span><!-- /a --> { <!-- a logicalPath="//test_ref/c/cl/char //test_ref/c/tdef/char //test_ref/c/tag/char //test_ref/c/struct/char //test_ref/c/intf/char //test_ref/doc/anysymbol/char" machineGenerated="true" --><span class="type">char</span><!-- /a --> <span class="type">*</span><!-- a logicalPath="//test_ref/c/econst/b //test_ref/c/data/b //test_ref/c/clconst/b " machineGenerated="true" --><span class="var">b</span><!-- /a -->; } <!-- a logicalPath="//test_ref/c/econst/ono1 //test_ref/c/data/ono1 //test_ref/c/clconst/ono1 " machineGenerated="true" --><span class="var">ono1</span><!-- /a -->, <!-- a logicalPath="//test_ref/c/econst/ono2 //test_ref/c/data/ono2 //test_ref/c/clconst/ono2 " machineGenerated="true" --><span class="var">ono2</span><!-- /a -->; END OF OBJECT _$92|/Users/dg/headerdoc-techpubs/Modules/HeaderDoc//../../testsuite/parser_tests/nametest_9.test$1|C$10|nametest_9$1|C$6|parser