 Chromium Code Reviews
 Chromium Code Reviews Issue 2649103002:
  New script to count usage of C++ classes.  (Closed)
    
  
    Issue 2649103002:
  New script to count usage of C++ classes.  (Closed) 
  | Index: webrtc/tools/class_usage.sh | 
| diff --git a/webrtc/tools/class_usage.sh b/webrtc/tools/class_usage.sh | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..dff4398221fa423197592cf3ea7f60ed03cc087a | 
| --- /dev/null | 
| +++ b/webrtc/tools/class_usage.sh | 
| @@ -0,0 +1,23 @@ | 
| +#!/bin/bash | 
| + | 
| +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
| 
kjellander_webrtc
2017/01/23 10:23:36
2017 :)
 
nisse-webrtc
2017/01/23 10:38:39
Done.
 | 
| +# | 
| +# Use of this source code is governed by a BSD-style license | 
| +# that can be found in the LICENSE file in the root of the source | 
| +# tree. An additional intellectual property rights grant can be found | 
| +# in the file PATENTS. All contributing project authors may | 
| +# be found in the AUTHORS file in the root of the source tree. | 
| + | 
| +# This script is run in a git repository. It lists all classes defined | 
| +# in header files, sorted by the number of other files where the name | 
| +# of the class occurs. It is intentionally not limited to only source | 
| +# files. Classes close to the top of the list are candidates for | 
| +# removal. | 
| + | 
| +git grep -h '^class .*[:{]' -- '*.h' '*.hpp' \ | 
| + | sed -e 's/WEBRTC_DLL_EXPORT// ' -e 's/^class *\([^ :{(<]*\).*/\1/' \ | 
| + | sort | uniq | while read class ; do | 
| + count="$(git grep -l -w -F "${class}" \ | 
| 
kjellander_webrtc
2017/01/23 10:23:36
avoid wrapping here?
 
nisse-webrtc
2017/01/23 10:38:39
Done.
 | 
| + | wc -l)" | 
| + echo "${count}" "${class}" | 
| +done | sort -n |