|
45 | 45 | my $PYTHON_SIGNATURE = '';
|
46 | 46 |
|
47 | 47 | my $COMMENT = '';
|
| 48 | +my $COMMENT_PARAM_LIST = 0; |
48 | 49 | my $GLOB_IFDEF_NESTING_IDX = 0;
|
49 | 50 | my @GLOB_BRACKET_NESTING_IDX = (0);
|
50 | 51 | my $PRIVATE_SECTION_LINE = '';
|
@@ -125,7 +126,17 @@ sub processDoxygenLine {
|
125 | 126 | # replace nullptr with None (nullptr means nothing to Python devs)
|
126 | 127 | $line =~ s/\bnullptr\b/None/g;
|
127 | 128 | # replace \returns with :return:
|
128 |
| - $line =~ s/\\return(s)?/\n :return:/g; |
| 129 | + $line =~ s/\\return(s)?/\n :return:/; |
| 130 | + |
| 131 | + if ( $line =~ m/\\param / ){ |
| 132 | + if ( $COMMENT_PARAM_LIST == 0 ) |
| 133 | + { |
| 134 | + $line = "\n$line"; |
| 135 | + } |
| 136 | + $COMMENT_PARAM_LIST = 1; |
| 137 | + $line =~ s/\\param (\w+)\b/ :param $1:/g; |
| 138 | + } |
| 139 | + |
129 | 140 |
|
130 | 141 | if ( $line =~ m/[\\@](ingroup|class)/ ) {
|
131 | 142 | return ""
|
@@ -283,6 +294,7 @@ sub fix_annotations {
|
283 | 294 | sub detect_comment_block{
|
284 | 295 | my %args = ( strict_mode => STRICT, @_ );
|
285 | 296 | # dbg_info("detect comment strict:" . $args{strict_mode} );
|
| 297 | + $COMMENT_PARAM_LIST = 0; |
286 | 298 | if ( $LINE =~ m/^\s*\/\*/ || $args{strict_mode} == UNSTRICT && $LINE =~ m/\/\*/ ){
|
287 | 299 | dbg_info("found comment block");
|
288 | 300 | do {no warnings 'uninitialized';
|
@@ -684,6 +696,7 @@ sub detect_comment_block{
|
684 | 696 | if ( $SIP_RUN == 0 ){
|
685 | 697 | if ( $LINE =~ m/^\s*\/\// ){
|
686 | 698 | if ($LINE =~ m/^\s*\/\/\!\s*(.*?)\n?$/){
|
| 699 | + $COMMENT_PARAM_LIST = 0; |
687 | 700 | $COMMENT = processDoxygenLine( $1 );
|
688 | 701 | $COMMENT =~ s/\n+$//;
|
689 | 702 | }
|
@@ -950,7 +963,7 @@ sub detect_comment_block{
|
950 | 963 | }
|
951 | 964 | }
|
952 | 965 | if ( $RETURN_TYPE ne '' ){
|
953 |
| - write_output("CM3", " :rtype: $RETURN_TYPE\n"); |
| 966 | + write_output("CM3", "\n :rtype: $RETURN_TYPE\n"); |
954 | 967 | }
|
955 | 968 | write_output("CM4", "%End\n");
|
956 | 969 | }
|
|
0 commit comments