nisse | de8ca92 | 2017-01-23 02:41:08 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. |
| 4 | # |
| 5 | # Use of this source code is governed by a BSD-style license |
| 6 | # that can be found in the LICENSE file in the root of the source |
| 7 | # tree. An additional intellectual property rights grant can be found |
| 8 | # in the file PATENTS. All contributing project authors may |
| 9 | # be found in the AUTHORS file in the root of the source tree. |
| 10 | |
| 11 | # This script is run in a git repository. It lists all classes defined |
| 12 | # in header files, sorted by the number of other files where the name |
| 13 | # of the class occurs. It is intentionally not limited to only source |
| 14 | # files. Classes close to the top of the list are candidates for |
| 15 | # removal. |
| 16 | |
| 17 | git grep -h '^class .*[:{]' -- '*.h' '*.hpp' \ |
| 18 | | sed -e 's/WEBRTC_DLL_EXPORT// ' -e 's/^class *\([^ :{(<]*\).*/\1/' \ |
| 19 | | sort | uniq | while read class ; do |
| 20 | count="$(git grep -l -w -F "${class}" | wc -l)" |
| 21 | echo "${count}" "${class}" |
| 22 | done | sort -n |