[analyzer] Introduce "event" mechanism in CheckerManager.
commitdeb6447d0029bdb122397fafb5fa2a4e76f2e555
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 28 Feb 2011 17:36:09 +0000 (28 17:36 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 28 Feb 2011 17:36:09 +0000 (28 17:36 +0000)
tree5f4e9cbd3a9fe8a263b5ac708341193d9ee66347
parentb742dfde440c8bb0f7e655715e9413fa69f0fefd
[analyzer] Introduce "event" mechanism in CheckerManager.

A checker can register as receiver/listener of "events" (basically it registers a callback
with a function getting called with an argument of the event type) and other checkers can
register as "dispatchers" and can pass an event object to all the listeners.
This allows cooperation amongst checkers but with very loose coupling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126658 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/CheckerManager.h
include/clang/StaticAnalyzer/Core/CheckerV2.h
lib/StaticAnalyzer/Core/CheckerManager.cpp
lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp