[analyzer] Add numerous assertions to SVal, SymExpr, and MemRegion classes.
authorArtem Dergachev <artem.dergachev@gmail.com>
Thu, 13 Apr 2017 09:48:05 +0000 (09:48 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Thu, 13 Apr 2017 09:48:05 +0000 (09:48 +0000)
commitb3241f41b21016a7c2dbdd7efdd6bfa08cebc53d
treefecd76737fe550e087614e068c7a36ac3167e491
parentd0656a3af153ce56825094bde39554601bc7c1a1
[analyzer] Add numerous assertions to SVal, SymExpr, and MemRegion classes.

Clean up vtable anchors (remove anchors for regions that have regular
out-of-line virtual methods, add anchors for regions that don't have those).

Fix private/public methods (all constructors should now be private for leaf
classes, protected for abstract classes).

No functional change intended, only extra sanity checks and cleanups.

Differential Revision: https://reviews.llvm.org/D26837

llvm-svn: 300187
clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
clang/lib/StaticAnalyzer/Core/MemRegion.cpp