Skip to content

Commit ba95189

Browse files
committed
[sipify] fix multiline note or warning
1 parent 75efd51 commit ba95189

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

scripts/sipify.pl

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@
4949

5050
my $COMMENT = '';
5151
my $COMMENT_PARAM_LIST = 0;
52-
my $CODE_SNIPPET = 0;
52+
my $COMMENT_LAST_LINE_NOTE_WARNING = 0;
53+
my $COMMENT_CODE_SNIPPET = 0;
5354
my $GLOB_IFDEF_NESTING_IDX = 0;
5455
my @GLOB_BRACKET_NESTING_IDX = (0);
5556
my $PRIVATE_SECTION_LINE = '';
@@ -129,18 +130,18 @@ sub processDoxygenLine {
129130
if ( $line =~ m/\\code(\{\.(\w+)\})?/ ) {
130131
my $codelang = "";
131132
$codelang = " $2" if (defined $2);
132-
$CODE_SNIPPET = CODE_SNIPPET;
133-
$CODE_SNIPPET = CODE_SNIPPET_CPP if ($codelang =~ m/cpp/ );
133+
$COMMENT_CODE_SNIPPET = CODE_SNIPPET;
134+
$COMMENT_CODE_SNIPPET = CODE_SNIPPET_CPP if ($codelang =~ m/cpp/ );
134135
$codelang =~ s/py/python/;
135-
return "\n" if ( $CODE_SNIPPET == CODE_SNIPPET_CPP );
136+
return "\n" if ( $COMMENT_CODE_SNIPPET == CODE_SNIPPET_CPP );
136137
return ".. code-block::$codelang\n\n";
137138
}
138139
if ( $line =~ m/\\endcode/ ) {
139-
$CODE_SNIPPET = 0;
140+
$COMMENT_CODE_SNIPPET = 0;
140141
return "\n";
141142
}
142-
if ($CODE_SNIPPET != 0){
143-
if ( $CODE_SNIPPET == CODE_SNIPPET_CPP ){
143+
if ($COMMENT_CODE_SNIPPET != 0){
144+
if ( $COMMENT_CODE_SNIPPET == CODE_SNIPPET_CPP ){
144145
return "";
145146
} else {
146147
if ( $line ne ''){
@@ -170,6 +171,7 @@ sub processDoxygenLine {
170171
$line = "\n$line";
171172
}
172173
$COMMENT_PARAM_LIST = 1;
174+
$COMMENT_LAST_LINE_NOTE_WARNING = 0;
173175
}
174176

175177
if ( $line =~ m/^\s*[\\@]brief/){
@@ -229,12 +231,22 @@ sub processDoxygenLine {
229231
}
230232

231233
if ( $line =~ m/[\\@]note (.*)/ ) {
234+
$COMMENT_LAST_LINE_NOTE_WARNING = 1;
232235
return "\n.. note::\n\n $1\n";
233236
}
234237
if ( $line =~ m/[\\@]warning (.*)/ ) {
238+
$COMMENT_LAST_LINE_NOTE_WARNING = 1;
235239
return "\n.. warning::\n\n $1\n";
236240
}
237241

242+
if ( $line !~ m/^\s*$/ ){
243+
if ( $COMMENT_LAST_LINE_NOTE_WARNING == 1 ){
244+
dbg_info("prepend spaces for multiline warning/note xx$line");
245+
$line = " $line";
246+
}
247+
} else {
248+
$COMMENT_LAST_LINE_NOTE_WARNING = 0;
249+
}
238250
return "$line\n";
239251
}
240252

@@ -365,7 +377,8 @@ sub detect_comment_block{
365377
my %args = ( strict_mode => STRICT, @_ );
366378
# dbg_info("detect comment strict:" . $args{strict_mode} );
367379
$COMMENT_PARAM_LIST = 0;
368-
$CODE_SNIPPET = 0;
380+
$COMMENT_CODE_SNIPPET = 0;
381+
$COMMENT_LAST_LINE_NOTE_WARNING = 0;
369382
if ( $LINE =~ m/^\s*\/\*/ || $args{strict_mode} == UNSTRICT && $LINE =~ m/\/\*/ ){
370383
dbg_info("found comment block");
371384
do {no warnings 'uninitialized';
@@ -774,6 +787,7 @@ sub detect_non_method_member{
774787
if ( $LINE =~ m/^\s*\/\// ){
775788
if ($LINE =~ m/^\s*\/\/\!\s*(.*?)\n?$/){
776789
$COMMENT_PARAM_LIST = 0;
790+
$COMMENT_LAST_LINE_NOTE_WARNING = 0;
777791
$COMMENT = processDoxygenLine( $1 );
778792
$COMMENT =~ s/\n+$//;
779793
}

0 commit comments

Comments
 (0)