doxygen-1.8.11.taskrambler.patch
5.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
diff -Naur doxygen-1.8.11.orig/src/code.l doxygen-1.8.11/src/code.l
--- doxygen-1.8.11.orig/src/code.l 2015-12-12 10:40:51.000000000 +0100
+++ doxygen-1.8.11/src/code.l 2016-04-10 07:24:30.620949984 +0200
@@ -1781,7 +1781,8 @@
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"|"set"|"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_TRCLASS ("TR_CLASS"|"TR_INTERFACE")
+KEYWORD ("asm"|"__assume"|"auto"|"class"|"const"|"delete"|"enum"|"explicit"|"extern"|"false"|"friend"|"gcnew"|"gcroot"|"set"|"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_TRCLASS})
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")
@@ -1861,6 +1862,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);
@@ -2143,6 +2151,10 @@
BEGIN( ClassVar );
}
}
+<ClassVar>")" {
+ g_code->codify(yytext);
+ BEGIN( ClassVar );
+ }
<AlignAs>"(" {
g_bracketCount=1;
g_code->codify(yytext);
diff -Naur doxygen-1.8.11.orig/src/scanner.l doxygen-1.8.11/src/scanner.l
--- doxygen-1.8.11.orig/src/scanner.l 2015-12-28 19:55:12.000000000 +0100
+++ doxygen-1.8.11/src/scanner.l 2016-04-10 07:29:50.644953768 +0200
@@ -594,7 +594,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]
@@ -629,6 +629,7 @@
%x DefineEnd
%x CompoundName
%x ClassVar
+%x CClassName
%x CSConstraintName
%x CSConstraintType
%x CSIndexer
@@ -1742,6 +1743,27 @@
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}+ {
isTypedef=FALSE;