summaryrefslogtreecommitdiffstats
path: root/src/code.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2000-02-20 17:34:13 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2000-02-20 17:34:13 (GMT)
commita81ce4743212122ae050e5efbc4bfda92e6a664e (patch)
treef122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/code.cpp
parentddbc18f5fb336d3a83521404620b6734b13e5610 (diff)
downloadDoxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.zip
Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.tar.gz
Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.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.cpp')
-rw-r--r--src/code.cpp146
1 files changed, 87 insertions, 59 deletions
diff --git a/src/code.cpp b/src/code.cpp
index e754017..b505342 100644
--- a/src/code.cpp
+++ b/src/code.cpp
@@ -2510,60 +2510,57 @@ YY_RULE_SETUP
#line 887 "code.l"
YY_BREAK
-/*
-<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);
- }
- */
case 67:
YY_RULE_SETUP
-#line 912 "code.l"
+#line 888 "code.l"
{ // 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);
+ }
}
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 920 "code.l"
+#line 903 "code.l"
{ // 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);
+ }
}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 928 "code.l"
+#line 918 "code.l"
{ // 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);
+ }
}
YY_BREAK
case 70:
@@ -2571,11 +2568,20 @@ case 70:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 932 "code.l"
+#line 929 "code.l"
{
- 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);
+ }
}
YY_BREAK
case 71:
@@ -2583,10 +2589,19 @@ case 71:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 937 "code.l"
+#line 943 "code.l"
{ // 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);
+ }
}
YY_BREAK
case 72:
@@ -2594,20 +2609,33 @@ case 72:
yy_c_buf_p = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 941 "code.l"
+#line 956 "code.l"
{ // 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);
+ }
}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 945 "code.l"
-{}
+#line 969 "code.l"
+{ if (!Config::stripCommentsFlag)
+ {
+ g_code->codify(yytext);
+ }
+ }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 946 "code.l"
+#line 974 "code.l"
{
g_code->codify(yytext);
g_lastCContext = YY_START ;
@@ -2616,7 +2644,7 @@ YY_RULE_SETUP
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 951 "code.l"
+#line 979 "code.l"
{
g_code->codify(yytext);
g_lastCContext = YY_START ;
@@ -2625,14 +2653,14 @@ YY_RULE_SETUP
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 956 "code.l"
+#line 984 "code.l"
{
codifyLines(yytext);
}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 959 "code.l"
+#line 987 "code.l"
{
g_code->codify(yytext);
}
@@ -2648,7 +2676,7 @@ YY_RULE_SETUP
*/
case 78:
YY_RULE_SETUP
-#line 972 "code.l"
+#line 1000 "code.l"
ECHO;
YY_BREAK
case YY_STATE_EOF(INITIAL):
@@ -3547,7 +3575,7 @@ int main()
return 0;
}
#endif
-#line 972 "code.l"
+#line 1000 "code.l"
/*@ ----------------------------------------------------------------------------