-
Notifications
You must be signed in to change notification settings - Fork 249
/
Copy pathrun_class_dumper.sh
executable file
·37 lines (36 loc) · 2.3 KB
/
run_class_dumper.sh
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
#!/usr/bin/env bash
export LC_ALL=C
if [ $# -eq 0 ] ;then J=$(nproc); else J=$1; fi
eval `scram runtime -sh`
for file in `cmsglimpse -l -F src/classes.*.h$ include | sed -e 's|^src/||'`;do
dir=`dirname $file`;
echo \#include \<$file\> >${LOCALRT}/src/$dir/`basename $file`.cc ;
done
cd ${LOCALRT}/tmp/
touch dump-start
touch function-dumper.txt.unsorted plugins.txt.unsorted classes.txt.dumperct.unsorted classes.txt.dumperft.unsorted classes.txt.dumperall.unsorted
cd ${LOCALRT}/src/Utilities/StaticAnalyzers
scram b -j $J
cd ${LOCALRT}/
export USER_CXXFLAGS="-DEDM_ML_DEBUG -w"
export USER_LLVM_CHECKERS="-enable-checker cms.FunctionDumper -enable-checker optional.ClassDumper -enable-checker optional.ClassDumperCT -enable-checker optional.ClassDumperFT -enable-checker optional.EDMPluginDumper"
scram b -k -j $J checker SCRAM_IGNORE_PACKAGES=Fireworks/% SCRAM_IGNORE_SUBDIRS=test > $CMSSW_BASE/tmp/class+function-dumper.log 2>&1
find ${LOCALRT}/src/ -name classes\*.h.cc | xargs rm -fv
cd ${LOCALRT}/tmp
touch dump-end
sort -u < plugins.txt.unsorted > plugins.txt
sort -u < classes.txt.dumperct.unsorted | grep -e"^class" >classes.txt.dumperct.sorted
sort -u < classes.txt.dumperct.unsorted | grep -v -e"^class" >classes.txt.dumperct.extra
awk -F\' ' {print "class \47"$2"\47\n\nclass \47"$4"\47\n\nclass \47"$6"\47\n\n" } ' <classes.txt.dumperct.sorted | sort -u >classes.txt.dumperct
sort -u < classes.txt.dumperft.unsorted | grep -e"^class" >classes.txt.dumperft.sorted
sort -u < classes.txt.dumperft.unsorted | grep -v -e"^class" >classes.txt.dumperft.extra
awk -F\' ' {print "class \47"$2"\47\n\nclass \47"$4"\47\n\nclass \47"$6"\47\n\n" } ' <classes.txt.dumperft.sorted | sort -u >classes.txt.dumperft
sort -u < classes.txt.dumperall.unsorted | grep -e"^class" >classes.txt.dumperall
sort -u < classes.txt.dumperall.unsorted | grep -v -e"^class" >classes.txt.dumperall.extra
sort -u < function-dumper.txt.unsorted > function-calls-db.txt
class-composition.py >classes.txt.inherits.unsorted
sort -u classes.txt.inherits.unsorted | grep -e"^class" | grep -v \'\' >classes.txt.inherits
sort -u classes.txt.inherits.unsorted | grep -v -e"^class" >classes.txt.inherits.extra
cat classes.txt.inherits classes.txt.dumperft classes.txt.dumperct | grep -e"^class" | grep -v \'\' | sort -u >classes.txt
rm *.txt.*unsorted
classname-blmflt.py