comparison OrthancFramework/Resources/CheckOrthancFrameworkSymbols.py @ 4349:85237ae3a076

relax CheckOrthancFrameworkSymbols.py about one friend stream function
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 06 Dec 2020 12:47:54 +0100
parents 91554aecff9a
children d9473bd5ed43
comparison
equal deleted inserted replaced
4348:93c281752e7a 4349:85237ae3a076
249 ReportProblem('Exported template function without an inline implementation', fqn, i) 249 ReportProblem('Exported template function without an inline implementation', fqn, i)
250 250
251 elif (i.kind == clang.cindex.CursorKind.TYPEDEF_DECL or # Allow "typedef" 251 elif (i.kind == clang.cindex.CursorKind.TYPEDEF_DECL or # Allow "typedef"
252 i.kind == clang.cindex.CursorKind.ENUM_DECL): # Allow enums 252 i.kind == clang.cindex.CursorKind.ENUM_DECL): # Allow enums
253 pass 253 pass
254
255 elif i.kind == clang.cindex.CursorKind.FRIEND_DECL:
256 children = list(i.get_children())
257 if (isPublic and
258 (len(children) != 1 or
259 not children[0].displayname in [
260 # This is supported for ABI compatibility with Orthanc <= 1.8.0
261 'operator<<(std::ostream &, const Orthanc::DicomTag &)',
262 ])):
263 raise Exception('Unsupported: %s, %s' % (i.kind, i.location))
254 264
255 else: 265 else:
256 if isPublic: 266 if isPublic:
257 raise Exception('Unsupported: %s, %s' % (i.kind, i.location)) 267 raise Exception('Unsupported: %s, %s' % (i.kind, i.location))
258 268