Mercurial > hg > orthanc
comparison OrthancFramework/Resources/CheckOrthancFrameworkSymbols.py @ 4305:8992faf451fc
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 06 Nov 2020 17:02:42 +0100 |
parents | 50b0c69b653a |
children | 2ae905070221 |
comparison
equal
deleted
inserted
replaced
4304:50b0c69b653a | 4305:8992faf451fc |
---|---|
66 ROOT = os.path.abspath(os.path.dirname(sys.argv[0])) | 66 ROOT = os.path.abspath(os.path.dirname(sys.argv[0])) |
67 SOURCES = [] | 67 SOURCES = [] |
68 | 68 |
69 for root, dirs, files in os.walk(os.path.join(ROOT, '..', 'Sources')): | 69 for root, dirs, files in os.walk(os.path.join(ROOT, '..', 'Sources')): |
70 for name in files: | 70 for name in files: |
71 if os.path.splitext(name)[1] == '.h': | 71 if (os.path.splitext(name)[1] == '.h' and |
72 name != 'Enumerations_TransferSyntaxes.impl.h'): | |
72 SOURCES.append(os.path.join(root, name)) | 73 SOURCES.append(os.path.join(root, name)) |
73 | 74 |
74 AMALGAMATION = '/tmp/CheckOrthancFrameworkSymbols.cpp' | 75 AMALGAMATION = '/tmp/CheckOrthancFrameworkSymbols.cpp' |
75 | 76 |
76 with open(AMALGAMATION, 'w') as f: | 77 with open(AMALGAMATION, 'w') as f: |
80 | 81 |
81 | 82 |
82 tu = index.parse(AMALGAMATION, [ | 83 tu = index.parse(AMALGAMATION, [ |
83 '-DORTHANC_BUILDING_FRAMEWORK_LIBRARY=1', | 84 '-DORTHANC_BUILDING_FRAMEWORK_LIBRARY=1', |
84 '-DORTHANC_BUILD_UNIT_TESTS=0', | 85 '-DORTHANC_BUILD_UNIT_TESTS=0', |
85 '-DORTHANC_SANDBOXED=0', | |
86 '-DORTHANC_ENABLE_BASE64=1', | 86 '-DORTHANC_ENABLE_BASE64=1', |
87 '-DORTHANC_ENABLE_CIVETWEB=1', | 87 '-DORTHANC_ENABLE_CIVETWEB=1', |
88 '-DORTHANC_ENABLE_CURL=1', | 88 '-DORTHANC_ENABLE_CURL=1', |
89 '-DORTHANC_ENABLE_DCMTK=1', | 89 '-DORTHANC_ENABLE_DCMTK=1', |
90 '-DORTHANC_ENABLE_DCMTK_JPEG=1', | 90 '-DORTHANC_ENABLE_DCMTK_JPEG=1', |
91 '-DORTHANC_ENABLE_DCMTK_NETWORKING=1', | 91 '-DORTHANC_ENABLE_DCMTK_NETWORKING=1', |
92 '-DORTHANC_ENABLE_DCMTK_TRANSCODING=1', | 92 '-DORTHANC_ENABLE_DCMTK_TRANSCODING=1', |
93 '-DORTHANC_ENABLE_JPEG=1', | 93 '-DORTHANC_ENABLE_JPEG=1', |
94 '-DORTHANC_ENABLE_LOCALE=1', | 94 '-DORTHANC_ENABLE_LOCALE=1', |
95 '-DORTHANC_ENABLE_LOGGING=1', | |
96 '-DORTHANC_ENABLE_LOGGING_STDIO=0', | |
95 '-DORTHANC_ENABLE_LUA=1', | 97 '-DORTHANC_ENABLE_LUA=1', |
96 '-DORTHANC_ENABLE_LOGGING=1', | |
97 '-DORTHANC_ENABLE_MD5=1', | 98 '-DORTHANC_ENABLE_MD5=1', |
98 '-DORTHANC_ENABLE_PKCS11=1', | 99 '-DORTHANC_ENABLE_PKCS11=1', |
99 '-DORTHANC_ENABLE_PNG=1', | 100 '-DORTHANC_ENABLE_PNG=1', |
100 '-DORTHANC_ENABLE_PUGIXML=1', | 101 '-DORTHANC_ENABLE_PUGIXML=1', |
101 '-DORTHANC_ENABLE_SSL=1', | 102 '-DORTHANC_ENABLE_SSL=1', |
103 '-DORTHANC_SANDBOXED=0', | |
102 '-DORTHANC_SQLITE_STANDALONE=0', | 104 '-DORTHANC_SQLITE_STANDALONE=0', |
103 '-DORTHANC_ENABLE_LOGGING_STDIO=0', | |
104 ]) | 105 ]) |
105 | 106 |
106 | 107 |
107 FILES = [] | 108 FILES = [] |
108 COUNT = 0 | 109 COUNT = 0 |
256 | 257 |
257 elif (child.kind == clang.cindex.CursorKind.CLASS_DECL or | 258 elif (child.kind == clang.cindex.CursorKind.CLASS_DECL or |
258 child.kind == clang.cindex.CursorKind.STRUCT_DECL): | 259 child.kind == clang.cindex.CursorKind.STRUCT_DECL): |
259 ExploreClass(child, fqn) | 260 ExploreClass(child, fqn) |
260 | 261 |
262 elif child.kind == clang.cindex.CursorKind.FUNCTION_DECL: | |
263 visible = False | |
264 hasImplementation = False | |
265 for i in child.get_children(): | |
266 if (i.kind == clang.cindex.CursorKind.VISIBILITY_ATTR and | |
267 i.spelling == 'default'): | |
268 visible = True | |
269 elif i.kind == clang.cindex.CursorKind.COMPOUND_STMT: | |
270 hasImplementation = True | |
271 | |
272 if visible and hasImplementation: | |
273 ReportProblem('Exported public function with an implementation', fqn, i) | |
274 | |
261 | 275 |
262 | 276 |
263 print('') | 277 print('') |
264 | 278 |
265 for node in tu.cursor.get_children(): | 279 for node in tu.cursor.get_children(): |