diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2000-02-20 17:34:13 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2000-02-20 17:34:13 (GMT) |
commit | b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54 (patch) | |
tree | f122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/code.l | |
parent | 8cc2d754b7ad3e3e88f4c1bb92878d8f517076e6 (diff) | |
download | Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.zip Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.tar.gz Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.tar.bz2 |
+ The graphical class hierarchy was not properly generated when
template classes were used.
+ Template specialization could not be documented using the
\class command. This is now fixed. Example:
/*!
* \class T<A,int>
* My template specialization of template T.
*/
+ Fixed a bug when parsing M$-IDL code, containing
helpstring("bla") attributes. The attributes of a method are no longer
shown in the documentation (the attributes of method arguments
still visible however).
+ Improved the search algorithm that tries to connect classes with their
base classes. It should now (hopefully) work correct in all cases
where nested classes and/or namespaces are used.
+ Fixed a scanner problem that could cause doxygen to get
confused after parsing struct initializers.
+ the DOTFONTPATH environment variable is now automatically set
for Windows. This should make any "missing doxfont.ttf"
messages disappear.
+ the extra LaTeX packages specified with EXTRA_PACKAGES can now
also be used when generating formulas for HTML.
+ The documentation of a parameters that is part of a member definition,
is now used in the documentation as well.
+ Fixed a HTML output bug in the class/file group-pages.
+ Links to example files generated with \link ... \endlink where not
correct.
+ made the bullet list generation more robust. A space is now required
after the - sign. A list can now start a paragraph.
+ the configure script now detects whether or not dot is installed.
+ The VERBATIM_HEADERS option didn't have any effect any more.
It should now works again as advertised.
+ The IGNORE_PREFIX option can now also deal with a list of prefixes.
+ @verbatim ... @endverbatim blocks did not work.
+ new option SHOW_INCLUDE_FILES, which can be set to NO to turn of the
list of include files that is generated for each documented file.
+ new option STRIP_CODE_COMMENTS, which can be set to NO to keep any
special comment blocks in the generated code fragments.
Diffstat (limited to 'src/code.l')
-rw-r--r-- | src/code.l | 120 |
1 files changed, 74 insertions, 46 deletions
@@ -885,64 +885,92 @@ SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID}) <RemoveSpecialCComment>"//"|"/*" <RemoveSpecialCComment>\n { g_yyLineNr++; } <RemoveSpecialCComment>. - /* -<SkipSpecialComment>"//" -<SkipSpecialComment>[ \t]*"* /" { - BEGIN( lastDContext ) ; - } -<SkipSpecialComment>[ \t]*"* /"[ \t\n]*"\n"/"/ *" { - //g_code->codify("\n"); - //QCString lineText=yytext; - //g_yyLineNr+=lineText.contains('\n'); - BEGIN( lastDContext ) ; - } -<SkipSpecialComment>. -<SkipSpecialComment>\n { - codifyLines(yytext); - } -<SkipSpecialCxxComment>.* /\n { - codifyLines(yytext); - BEGIN( lastDContext ) ; - } -<SkipSpecialCxxComment>. -<SkipSpecialCxxComment>\n { - codifyLines(yytext); - } - */ <*>\n({B}*"//"[!/][^\n]*\n)* { // remove special one-line comment - g_yyLineNr+=((QCString)yytext).contains('\n'); - g_code->endCodeLine(); - if (g_yyLineNr<g_inputLines) - { - startCodeLine(*g_code); - } + if (Config::stripCommentsFlag) + { + g_yyLineNr+=((QCString)yytext).contains('\n'); + g_code->endCodeLine(); + if (g_yyLineNr<g_inputLines) + { + startCodeLine(*g_code); + } + } + else + { + codifyLines(yytext); + } } <*>^{B}*"//"[!/][^\n]*\n { // remove special one-line comment - g_yyLineNr++; - g_code->endCodeLine(); - if (g_yyLineNr<g_inputLines) - { - startCodeLine(*g_code); - } + if (Config::stripCommentsFlag) + { + g_yyLineNr++; + g_code->endCodeLine(); + if (g_yyLineNr<g_inputLines) + { + startCodeLine(*g_code); + } + } + else + { + codifyLines(yytext); + } } <*>"//"[!/][^\n]*\n { // strip special one-line comment - char c[2]; c[0]='\n'; c[1]=0; - codifyLines(c); + if (Config::stripCommentsFlag) + { + char c[2]; c[0]='\n'; c[1]=0; + codifyLines(c); + } + else + { + codifyLines(yytext); + } } <*>\n{B}*"/*"[!*]/[^/*] { - g_lastSpecialCContext = YY_START; - g_yyLineNr++; - BEGIN(RemoveSpecialCComment); + if (Config::stripCommentsFlag) + { + g_lastSpecialCContext = YY_START; + g_yyLineNr++; + BEGIN(RemoveSpecialCComment); + } + else + { + g_lastCContext = YY_START ; + codifyLines(yytext); + BEGIN(SkipComment); + } } <*>^{B}*"/*"[!*]/[^/*] { // special C comment block at a new line - g_lastSpecialCContext = YY_START; - BEGIN(RemoveSpecialCComment); + if (Config::stripCommentsFlag) + { + g_lastSpecialCContext = YY_START; + BEGIN(RemoveSpecialCComment); + } + else + { + g_lastCContext = YY_START ; + g_code->codify(yytext); + BEGIN(SkipComment); + } } <*>"/*"[!*]/[^/*] { // special C comment block half way a line - g_lastSpecialCContext = YY_START; - BEGIN(RemoveSpecialCComment); + if (Config::stripCommentsFlag) + { + g_lastSpecialCContext = YY_START; + BEGIN(RemoveSpecialCComment); + } + else + { + g_lastCContext = YY_START ; + g_code->codify(yytext); + BEGIN(SkipComment); + } + } +<*>"/*"("!"?)"*/" { if (!Config::stripCommentsFlag) + { + g_code->codify(yytext); + } } -<*>"/*"("!"?)"*/" {} <*>"/*" { g_code->codify(yytext); g_lastCContext = YY_START ; |