File tree Expand file tree Collapse file tree 18 files changed +126
-178
lines changed Expand file tree Collapse file tree 18 files changed +126
-178
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,22 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
39
39
set (MRDOX_CLANG ON )
40
40
endif ()
41
41
42
+ if (WIN32 )
43
+ add_definitions (
44
+ -D_WIN32_WINNT=0x0601
45
+ -D_CRT_SECURE_NO_WARNINGS
46
+ -D_SILENCE_CXX20_CISO646_REMOVED_WARNING )
47
+ if ("${CMAKE_GENERATOR_PLATFORM} " STREQUAL "Win32" ) # 32-bit
48
+ add_compile_options (
49
+ /arch:SSE2
50
+ )
51
+ elseif ("${CMAKE_GENERATOR_PLATFORM} " STREQUAL "Win64" ) # 64-bit
52
+ add_compile_options (
53
+ /arch:AMD64
54
+ )
55
+ endif ()
56
+ endif ()
57
+
42
58
#-------------------------------------------------
43
59
#
44
60
# Dependencies
Original file line number Diff line number Diff line change @@ -258,6 +258,11 @@ struct Javadoc
258
258
259
259
// ---
260
260
261
+ /* * Return true if this is empty
262
+ */
263
+ bool
264
+ empty () const noexcept ;
265
+
261
266
Paragraph const *
262
267
getBrief () const noexcept
263
268
{
Original file line number Diff line number Diff line change @@ -536,12 +536,14 @@ extract_first_of(
536
536
return nullptr ;
537
537
if (pred (*reinterpret_cast <pointer>(head_->get ())))
538
538
{
539
+ auto node = head_;
539
540
auto result = std::make_shared<U>(std::move (
540
541
*reinterpret_cast <U*>(head_->get ())));
541
542
head_ = head_->next ;
542
543
if (head_ == &end_)
543
544
tail_ = &end_;
544
545
--size_;
546
+ delete node;
545
547
return result;
546
548
}
547
549
auto prev = head_;
@@ -550,12 +552,14 @@ extract_first_of(
550
552
{
551
553
if (pred (*reinterpret_cast <pointer>(it->get ())))
552
554
{
555
+ auto node = it;
553
556
auto result = std::make_shared<U>(std::move (
554
557
*reinterpret_cast <U*>(it->get ())));
555
558
prev->next = it->next ;
556
559
if (it == tail_)
557
560
tail_ = prev;
558
561
--size_;
562
+ delete node;
559
563
return result;
560
564
}
561
565
prev = it;
Original file line number Diff line number Diff line change @@ -175,9 +175,10 @@ class JavadocVisitor
175
175
// so we will trim the leading space.
176
176
// Otherwise just trim trailing space
177
177
if (para_->list .empty ())
178
- s = C->getText ().ltrim ();
178
+ s = C->getText ().ltrim (). rtrim () ;
179
179
else
180
- s = C->getText ().rtrim ();
180
+ s = C->getText ().ltrim ().rtrim ();
181
+ // s = C->getText().rtrim();
181
182
para_->list .emplace_back (Javadoc::Text (
182
183
ensureUTF8 (s.str ())));
183
184
}
Original file line number Diff line number Diff line change @@ -312,7 +312,6 @@ Writer::
312
312
writeFunction (
313
313
FunctionInfo const & I)
314
314
{
315
- return ;
316
315
openSection (I.Name );
317
316
318
317
// Brief
@@ -325,11 +324,6 @@ return;
325
324
" \n "
326
325
" [,cpp]\n "
327
326
" ----\n " ;
328
-
329
- // Description
330
- writeDescription (I.javadoc .getBlocks ());
331
-
332
- // params
333
327
if (! I.Params .empty ())
334
328
{
335
329
os_ <<
@@ -349,18 +343,12 @@ return;
349
343
typeName (I.ReturnType ) << ' \n ' <<
350
344
I.Name << " ();" << " \n " ;
351
345
}
352
-
353
346
os_ <<
354
347
" ----\n " ;
355
348
closeSection ();
356
349
357
- // if(! I.javadoc.desc.empty())
358
- {
359
- os_ << " \n " ;
360
- openSection (" Description" );
361
- // os_ << I.javadoc.desc << "\n";
362
- closeSection ();
363
- }
350
+ // Description
351
+ writeDescription (I.javadoc .getBlocks ());
364
352
365
353
closeSection ();
366
354
}
@@ -443,10 +431,8 @@ writeOverloadSet(
443
431
os_ <<
444
432
" |`" << J.name << " `\n " <<
445
433
" |" ;
446
- #if 0
447
434
for (auto const & K : J.list )
448
- os_ << K->javadoc.brief << "\n";
449
- #endif
435
+ writeBrief (K->javadoc .getBrief ());
450
436
}
451
437
os_ <<
452
438
" |===\n " <<
@@ -462,6 +448,7 @@ writeMemberTypes(
462
448
llvm::SmallVectorImpl<MemberTypeInfo> const & list,
463
449
AccessSpecifier access)
464
450
{
451
+ return ;
465
452
if (list.empty ())
466
453
return ;
467
454
Original file line number Diff line number Diff line change @@ -298,17 +298,28 @@ writeFunction(
298
298
{
299
299
writeInfo (I);
300
300
writeSymbol (I);
301
- writeTag (" return" , {
302
- { " name" , I.ReturnType .Type .Name },
303
- { I.ReturnType .Type .USR }
304
- });
301
+ writeReturnType (I.ReturnType );
305
302
for (auto const & J : I.Params )
306
303
writeParam (J);
307
304
if (I.Template )
308
305
for (TemplateParamInfo const & J : I.Template ->Params )
309
306
writeTemplateParam (J);
310
307
}
311
308
309
+ void
310
+ XMLGenerator::
311
+ Writer::
312
+ writeReturnType (
313
+ TypeInfo const & I)
314
+ {
315
+ if (I.Type .Name == " void" )
316
+ return ;
317
+ writeTag (" return" , {
318
+ { " name" , I.Type .Name },
319
+ { I.Type .USR }
320
+ });
321
+ }
322
+
312
323
void
313
324
XMLGenerator::
314
325
Writer::
@@ -461,6 +472,8 @@ XMLGenerator::
461
472
Writer::
462
473
writeJavadoc (Javadoc const & jd)
463
474
{
475
+ if (jd.empty ())
476
+ return ;
464
477
openTag (" doc" );
465
478
adjustNesting (1 );
466
479
if (auto brief = jd.getBrief ())
Original file line number Diff line number Diff line change @@ -98,6 +98,7 @@ class XMLGenerator::Writer
98
98
void writeTemplateParam (TemplateParamInfo const & I);
99
99
void writeMemberType (MemberTypeInfo const & I);
100
100
101
+ void writeReturnType (TypeInfo const & I);
101
102
void writeJavadoc (Javadoc const & jd);
102
103
103
104
template <class T >
Original file line number Diff line number Diff line change @@ -51,6 +51,19 @@ Javadoc(
51
51
{
52
52
}
53
53
54
+ bool
55
+ Javadoc::
56
+ empty () const noexcept
57
+ {
58
+ if ( ! brief_ &&
59
+ blocks_.empty () &&
60
+ params_.empty () &&
61
+ tparams_.empty () &&
62
+ returns_.empty ())
63
+ return true ;
64
+ return false ;
65
+ }
66
+
54
67
void
55
68
Javadoc::
56
69
merge (Javadoc& other)
Original file line number Diff line number Diff line change 12
12
#include < clang/Tooling/AllTUsExecution.h>
13
13
#include < llvm/Support/Signals.h>
14
14
15
+ #if 0
16
+ #if defined(_MSC_VER) && ! defined(NDEBUG)
17
+ #define WIN32_LEAN_AND_MEAN
18
+ #include <windows.h>
19
+ #include <debugapi.h>
20
+ #include <crtdbg.h>
21
+ #include <sstream>
22
+ #endif
23
+ #endif
24
+
15
25
namespace clang {
16
26
namespace mrdox {
17
27
@@ -62,6 +72,15 @@ testMain(
62
72
int
63
73
main (int argc, const char ** argv)
64
74
{
75
+ #if 0
76
+ #if defined(_MSC_VER) && ! defined(NDEBUG)
77
+ int flags = _CrtSetDbgFlag(
78
+ _CRTDBG_REPORT_FLAG);
79
+ flags |= _CRTDBG_LEAK_CHECK_DF;
80
+ _CrtSetDbgFlag(flags);
81
+ #endif
82
+ #endif
83
+
65
84
llvm::sys::PrintStackTraceOnErrorSignal (argv[0 ]);
66
85
67
86
using namespace clang ::mrdox;
Original file line number Diff line number Diff line change 28
28
#include < llvm/Support/CommandLine.h>
29
29
#include < llvm/Support/Signals.h>
30
30
31
+ #if 0
32
+ #if defined(_MSC_VER) && ! defined(NDEBUG)
33
+ #define WIN32_LEAN_AND_MEAN
34
+ #include <debugapi.h>
35
+ #include <crtdbg.h>
36
+ #endif
37
+ #endif
38
+
31
39
namespace clang {
32
40
namespace mrdox {
33
41
@@ -150,6 +158,15 @@ toolMain(
150
158
151
159
int main (int argc, char const ** argv)
152
160
{
161
+ #if 0
162
+ #if defined(_MSC_VER) && ! defined(NDEBUG)
163
+ int flags = _CrtSetDbgFlag(
164
+ _CRTDBG_REPORT_FLAG);
165
+ flags |= _CRTDBG_LEAK_CHECK_DF;
166
+ _CrtSetDbgFlag(flags);
167
+ #endif
168
+ #endif
169
+
153
170
llvm::sys::PrintStackTraceOnErrorSignal (argv[0 ]);
154
171
155
172
clang::mrdox::Reporter R;
You can’t perform that action at this time.
0 commit comments