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():