You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
5.2 KiB
88 lines
5.2 KiB
diff -Naur doxygen-1.8.5.orig/src/code.l doxygen-1.8.5/src/code.l
|
|
--- doxygen-1.8.5.orig/src/code.l 2013-07-02 13:08:08.000000000 +0100
|
|
+++ doxygen-1.8.5/src/code.l 2013-11-29 15:13:06.237105125 +0000
|
|
@@ -1750,7 +1750,7 @@
|
|
SCOPETNAME (((({ID}{TEMPLIST}?){BN}*)?{SEP}{BN}*)*)((~{BN}*)?{ID})
|
|
SCOPEPREFIX ({ID}{TEMPLIST}?{BN}*{SEP}{BN}*)+
|
|
KEYWORD_OBJC ("@public"|"@private"|"@protected"|"@class"|"@implementation"|"@interface"|"@end"|"@selector"|"@protocol"|"@optional"|"@required"|"@throw"|"@synthesize"|"@property")
|
|
-KEYWORD ("asm"|"__assume"|"auto"|"class"|"const"|"delete"|"enum"|"explicit"|"extern"|"false"|"friend"|"gcnew"|"gcroot"|"get"|"inline"|"internal"|"mutable"|"namespace"|"new"|"nullptr"|"override"|"operator"|"pin_ptr"|"private"|"protected"|"public"|"raise"|"register"|"remove"|"self"|"sizeof"|"static"|"struct"|"__super"|"function"|"template"|"generic"|"this"|"true"|"typedef"|"typeid"|"typename"|"union"|"using"|"virtual"|"volatile"|"abstract"|"final"|"import"|"synchronized"|"transient"|"alignas"|"alignof"|{KEYWORD_OBJC})
|
|
+KEYWORD ("asm"|"__assume"|"auto"|"class"|"const"|"delete"|"enum"|"explicit"|"extern"|"false"|"friend"|"gcnew"|"gcroot"|"get"|"inline"|"internal"|"mutable"|"namespace"|"new"|"nullptr"|"override"|"operator"|"pin_ptr"|"private"|"protected"|"public"|"raise"|"register"|"remove"|"self"|"sizeof"|"static"|"struct"|"TR_CLASS"|"TR_INTERFACE"|"__super"|"function"|"template"|"generic"|"this"|"true"|"typedef"|"typeid"|"typename"|"union"|"using"|"virtual"|"volatile"|"abstract"|"final"|"import"|"synchronized"|"transient"|"alignas"|"alignof"|{KEYWORD_OBJC})
|
|
FLOWKW ("break"|"case"|"catch"|"continue"|"default"|"do"|"else"|"finally"|"for"|"foreach"|"for each"|"goto"|"if"|"return"|"switch"|"throw"|"throws"|"try"|"while"|"@try"|"@catch"|"@finally")
|
|
TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"object"|"short"|"signed"|"unsigned"|"void"|"wchar_t"|"size_t"|"boolean"|"id"|"SEL"|"string"|"nullptr")
|
|
CASTKW ("const_cast"|"dynamic_cast"|"reinterpret_cast"|"static_cast")
|
|
@@ -1829,6 +1829,13 @@
|
|
codifyLines(yytext);
|
|
endFontClass();
|
|
}
|
|
+<Body>"TR_CLASS("|"TR_INTERFACE(" {
|
|
+ startFontClass("keyword");
|
|
+ codifyLines(yytext);
|
|
+ endFontClass();
|
|
+ if (!g_insideTemplate)
|
|
+ BEGIN( ClassName );
|
|
+ }
|
|
<Body>(KEYWORD_CPPCLI_DATATYPE|("partial"{B}+)?"class"|"struct"|"union"|"namespace"|"interface"){B}+ {
|
|
startFontClass("keyword");
|
|
codifyLines(yytext);
|
|
@@ -2106,6 +2113,10 @@
|
|
BEGIN( ClassVar );
|
|
}
|
|
}
|
|
+<ClassVar>")" {
|
|
+ g_code->codify(yytext);
|
|
+ BEGIN( ClassVar );
|
|
+ }
|
|
<AlignAs>"(" {
|
|
g_bracketCount=1;
|
|
g_code->codify(yytext);
|
|
diff -Naur doxygen-1.8.5.orig/src/scanner.l doxygen-1.8.5/src/scanner.l
|
|
--- doxygen-1.8.5.orig/src/scanner.l 2013-08-23 14:38:23.000000000 +0100
|
|
+++ doxygen-1.8.5/src/scanner.l 2013-11-29 15:13:58.415030686 +0000
|
|
@@ -600,7 +600,7 @@
|
|
|
|
/* start command character */
|
|
CMD ("\\"|"@")
|
|
-SECTIONCMD {CMD}("image"|"author"|"internal"|"version"|"date"|"deprecated"|"param"|"exception"|"return"[s]?|"retval"|"bug"|"warning"|"par"|"sa"|"see"|"pre"|"post"|"invariant"|"note"|"remark"[s]?|"todo"|"test"|"xrefitem"|"ingroup"|"callgraph"|"callergraph"|"latexonly"|"htmlonly"|"xmlonly"|"docbookonly"|"manonly"|"{"|"verbatim"|"dotfile"|"dot"|"defgroup"|"addtogroup"|"weakgroup"|"class"|"namespace"|"union"|"struct"|"fn"|"var"|"details"|"typedef"|"def"|"overload")|("<"{PRE}">")
|
|
+SECTIONCMD {CMD}("image"|"author"|"internal"|"version"|"date"|"deprecated"|"param"|"exception"|"return"[s]?|"retval"|"bug"|"warning"|"par"|"sa"|"see"|"pre"|"post"|"invariant"|"note"|"remark"[s]?|"todo"|"test"|"xrefitem"|"ingroup"|"callgraph"|"callergraph"|"latexonly"|"htmlonly"|"xmlonly"|"docbookonly"|"manonly"|"{"|"verbatim"|"dotfile"|"dot"|"defgroup"|"addtogroup"|"weakgroup"|"class"|"namespace"|"union"|"struct"|"TR_CLASS"|"TR_INTERFACE"|"fn"|"var"|"details"|"typedef"|"def"|"overload")|("<"{PRE}">")
|
|
BN [ \t\n\r]
|
|
BL [ \t\r]*"\n"
|
|
B [ \t]
|
|
@@ -635,6 +635,7 @@
|
|
%x DefineEnd
|
|
%x CompoundName
|
|
%x ClassVar
|
|
+%x CClassName
|
|
%x CSConstraintName
|
|
%x CSConstraintType
|
|
%x CSIndexer
|
|
@@ -1704,8 +1705,30 @@
|
|
if (yytext[yyleng-1]=='{') unput('{');
|
|
BEGIN( CompoundName ) ;
|
|
}
|
|
+<FindMembers>{B}*"TR_CLASS("|"TR_INTERFACE(" {
|
|
+ current->section = Entry::CLASS_SEC ;
|
|
+ current->spec = Entry::Struct |
|
|
+ (current->spec & Entry::Published); // preserve UNO IDL
|
|
+ addType( current ) ;
|
|
+ current->type += " CLASS" ;
|
|
+ current->fileName = yyFileName;
|
|
+ current->startLine = yyLineNr;
|
|
+ current->startColumn = yyColNr;
|
|
+ current->bodyLine = yyLineNr;
|
|
+ lineCount() ;
|
|
+ BEGIN( CClassName ) ;
|
|
+ }
|
|
+<CClassName>{SCOPENAME} {
|
|
+ current->name = yytext ;
|
|
+ lineCount();
|
|
+ BEGIN( CClassName );
|
|
+ }
|
|
+<CClassName>")" {
|
|
+ BEGIN( ClassVar );
|
|
+ }
|
|
<FindMembers>{B}*"value struct{" | // C++/CLI extension
|
|
<FindMembers>{B}*"value struct"{BN}+ {
|
|
+ printf("DEBUG: myclass 3\n");
|
|
isTypedef=FALSE;
|
|
current->section = Entry::CLASS_SEC;
|
|
current->spec = Entry::Struct | Entry::Value;
|