remove some unused typedefs
Change-Id: I98c1e7eaa66b7afb05255a017a3de54714637501 Reviewed-on: https://gerrit.libreoffice.org/17491 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
This commit is contained in:
committed by
Noel Grandin
parent
dbfed66eeb
commit
f5deb46349
16
bin/find-unused-typedefs.py
Executable file
16
bin/find-unused-typedefs.py
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import subprocess
|
||||
|
||||
a = subprocess.Popen("git grep -P '^typedef\s+.+\w+;' -- \"[!e][!x][!t]*\"", stdout=subprocess.PIPE, shell=True)
|
||||
|
||||
with a.stdout as txt:
|
||||
for line in txt:
|
||||
idx1 = line.rfind(" ")
|
||||
typedefName = line[idx1+1 : len(line)-2]
|
||||
if typedefName.startswith("*"):
|
||||
typedefName = typedefName[1:]
|
||||
# ignore anything less than 5 characters, it's probably a parsing error
|
||||
if len(typedefName) > 4:
|
||||
print typedefName
|
||||
|
26
bin/find-unused-typedefs.sh
Executable file
26
bin/find-unused-typedefs.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# This is a pretty brute-force approach. It takes several hours to run on a top-spec MacbookAir.
|
||||
# It also produces some false positives, so it requires careful examination and testing of the results.
|
||||
#
|
||||
# Algorithm Summary:
|
||||
# First we find all #defines,
|
||||
# then we search for each of them in turn,
|
||||
# and if we find only one instance of a #define, we print it out.
|
||||
#
|
||||
# Algorithm Detail:
|
||||
# (1) find #defines, excluding the externals folder
|
||||
# (2) extract just the constant name from the search results
|
||||
# (3) trim blank lines
|
||||
# (4) sort the results, mostly so I have an idea how far along the process is
|
||||
# (5) for each result:
|
||||
# (6) grep for the constant
|
||||
# (7) use awk to to check if only one match for a given constant was found
|
||||
# (8) if so, generate a sed command to remove the #define
|
||||
#
|
||||
bin/find-unused-typedefs.py \
|
||||
| sort \
|
||||
| uniq \
|
||||
| xargs -Ixxx -n 1 -P 8 sh -c \
|
||||
"( git grep -w 'xxx' | awk -f bin/find-unused-defines.awk -v p1=xxx ) && echo \"xxx\" 1>&2"
|
||||
|
||||
|
@@ -365,8 +365,6 @@ typedef SetNodeHash< ContentHandler > ContentHandl
|
||||
typedef OUStringHashMap PreferredHash;
|
||||
typedef OUStringList OrderList;
|
||||
|
||||
typedef CheckedIterator< OUStringList > CheckedStringListIterator;
|
||||
typedef CheckedIterator< FileTypeHash > CheckedTypeIterator;
|
||||
|
||||
|
||||
// Use private static data container to hold all values of configuration!
|
||||
|
@@ -36,7 +36,6 @@ public:
|
||||
virtual SbxClassType GetClass() const SAL_OVERRIDE;
|
||||
};
|
||||
|
||||
typedef tools::SvRef<SbxProperty> SbxPropertyRef;
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -119,10 +119,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
typedef nsAutoRef<HKEY> nsAutoRegKey;
|
||||
typedef nsAutoRef<SC_HANDLE> nsAutoServiceHandle;
|
||||
typedef nsAutoRef<HANDLE> nsAutoHandle;
|
||||
typedef nsAutoRef<HMODULE> nsModuleHandle;
|
||||
|
||||
namespace {
|
||||
|
||||
|
@@ -26,7 +26,6 @@
|
||||
|
||||
typedef std::vector<std::string> StringList_t;
|
||||
|
||||
typedef std::vector<int> IntegerList_t;
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -62,7 +62,6 @@ namespace AwtFocusChangeReason = ::com::sun::star::awt::FocusChangeReason;
|
||||
typedef ::com::sun::star::awt::Point AwtPoint;
|
||||
typedef ::com::sun::star::awt::Size AwtSize;
|
||||
typedef ::com::sun::star::awt::Rectangle AwtRectangle;
|
||||
typedef ::com::sun::star::awt::KeyEvent AwtKeyEvent;
|
||||
typedef ::com::sun::star::awt::FocusEvent AwtFocusEvent;
|
||||
|
||||
|
||||
|
@@ -46,7 +46,6 @@
|
||||
|
||||
typedef ne_session HttpSession;
|
||||
typedef ne_status HttpStatus;
|
||||
typedef ne_server_capabilities HttpServerCapabilities;
|
||||
|
||||
typedef ne_propname NeonPropName;
|
||||
typedef ne_prop_result_set NeonPropFindResultSet;
|
||||
|
@@ -37,7 +37,6 @@ struct SalVirDevData
|
||||
};
|
||||
|
||||
typedef struct SalVirDevData SalVirDevData;
|
||||
typedef SalVirDevData** SalVirDevDataHandle;
|
||||
|
||||
class AquaSalGraphics;
|
||||
|
||||
|
Reference in New Issue
Block a user