Fixed URL for libccmio-2.6.1 (bug report #5 by Thomas Oliveira)
[foam-extend-3.2.git] / doc / Doxygen / tools / fix-Class
blob6ccf7010f224689806e7efdbc78cadb721e83b3d
1 #!/bin/sh
2 # -----------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | foam-extend: Open Source CFD
5 # \\ / O peration | Version: 3.2
6 # \\ / A nd | Web: http://www.foam-extend.org
7 # \\/ M anipulation | For copyright notice see file Copyright
8 # ------------------------------------------------------------------------------
9 # License
10 # This file is part of foam-extend.
12 # foam-extend is free software: you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation, either version 3 of the License, or (at your
15 # option) any later version.
17 # foam-extend is distributed in the hope that it will be useful, but
18 # WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 # General Public License for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 # Script
26 # fix-Class
28 # Description
29 # Process the lists given on the command line.
30 # Column 1 = fileName, column 2 = Class or action
31 # See find-suspiciousTags for details.
33 # 1. fix ClassWithTrailingInformation by hand
34 # 2. InClass and InNamespace fixup
35 # 3. change
36 # |Class
37 # | anything
38 # ->
39 # |Class
40 # | className
42 # -----------------------------------------------------------------------------
44 # stop if trailing junk has been detected
45 for fileList
47 [ -f $fileList -a -r $fileList ] || {
48 echo "cannot read file list: $fileList"
49 exit 1
52 grep ClassWithTrailingInformation $fileList
53 if [ $? = 0 ]
54 then
55 echo "#"
56 echo "# fix ClassWithTrailingInformation by hand"
57 echo "#"
58 exit 99
60 done
62 for fileList
64 # repair InClass, InNamespace
65 for tag in Class Namespace
67 backup=".repair-In$tag"
68 for file in $(sed -n -e "s/In$tag *$//p" $fileList)
70 echo "repair In$tag: $file"
71 perl -i$backup -pe "s/^$tag/In$tag/" $file
72 done
73 done
75 # repair the class names (with namespace)
76 backup=".repair-reclassify"
77 cat $fileList | while read fileName className
79 # use classes with '::' separator to avoid too
80 # many false positives
81 perl -i$backup -x $0 $fileName $className
82 done
83 done
85 exit 0
87 # ---------------------------------------------------------------- end-of-file
88 # embedded Perl program
89 #!/usr/bin/perl -w
90 use strict;
92 # args: fileName className
93 # - className must contain '::'
94 my $className = pop;
95 @ARGV == 1 and ($className ||= '') =~ /::/ or exit 1;
97 warn "repair: @ARGV $className\n";
99 while (<>)
101 if (/^Class\s*$/) {
102 print;
103 $_ = <>; # get and discard the next line
104 $_ = " $className\n";
107 print;
110 # ---------------------------------------------------------------- end-of-file