[analyzer] Move the files in lib/StaticAnalyzer to lib/StaticAnalyzer/Core.

Eventually there will also be a lib/StaticAnalyzer/Frontend that will handle initialization and checker registration.
Yet another library to avoid cyclic dependencies between Core and Checkers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125124 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/CMakeLists.txt b/lib/StaticAnalyzer/CMakeLists.txt
index 3521385..b2b778a 100644
--- a/lib/StaticAnalyzer/CMakeLists.txt
+++ b/lib/StaticAnalyzer/CMakeLists.txt
@@ -1,42 +1,2 @@
-set(LLVM_NO_RTTI 1)
-
-set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
-
-add_clang_library(clangStaticAnalyzerCore
-  AggExprVisitor.cpp
-  AnalysisManager.cpp
-  AnalyzerStatsChecker.cpp
-  BasicConstraintManager.cpp
-  BasicStore.cpp
-  BasicValueFactory.cpp
-  BugReporter.cpp
-  BugReporterVisitors.cpp
-  CFRefCount.cpp
-  Checker.cpp
-  CheckerHelpers.cpp
-  Environment.cpp
-  ExplodedGraph.cpp
-  FlatStore.cpp
-  BlockCounter.cpp
-  CXXExprEngine.cpp
-  CoreEngine.cpp
-  GRState.cpp
-  HTMLDiagnostics.cpp
-  ManagerRegistry.cpp
-  MemRegion.cpp
-  ObjCMessage.cpp
-  PathDiagnostic.cpp
-  PlistDiagnostics.cpp
-  RangeConstraintManager.cpp
-  RegionStore.cpp
-  SimpleConstraintManager.cpp
-  SimpleSValBuilder.cpp
-  Store.cpp
-  SValBuilder.cpp
-  SVals.cpp
-  SymbolManager.cpp
-  TextPathDiagnostics.cpp
-  )
-
-add_dependencies(clangStaticAnalyzerCore ClangAttrClasses ClangAttrList ClangDeclNodes
-                 ClangStmtNodes)
+add_subdirectory(Core)
+add_subdirectory(Checkers)
diff --git a/lib/StaticAnalyzer/AnalyzerStatsChecker.cpp b/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
similarity index 98%
rename from lib/StaticAnalyzer/AnalyzerStatsChecker.cpp
rename to lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
index 24a73cb..26d0e02 100644
--- a/lib/StaticAnalyzer/AnalyzerStatsChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
@@ -14,7 +14,7 @@
 #include "clang/StaticAnalyzer/BugReporter/BugReporter.h"
 
 // FIXME: Restructure checker registration.
-#include "Checkers/ExperimentalChecks.h"
+#include "ExperimentalChecks.h"
 
 #include "clang/Basic/SourceManager.h"
 #include "llvm/ADT/SmallPtrSet.h"
diff --git a/lib/StaticAnalyzer/Checkers/CMakeLists.txt b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
index cf6e976..9a6ad7f 100644
--- a/lib/StaticAnalyzer/Checkers/CMakeLists.txt
+++ b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
@@ -5,6 +5,7 @@
 add_clang_library(clangStaticAnalyzerCheckers
   AdjustedReturnValueChecker.cpp
   AnalysisConsumer.cpp
+  AnalyzerStatsChecker.cpp
   ArrayBoundChecker.cpp
   ArrayBoundCheckerV2.cpp
   AttrNonNullChecker.cpp
diff --git a/lib/StaticAnalyzer/AggExprVisitor.cpp b/lib/StaticAnalyzer/Core/AggExprVisitor.cpp
similarity index 100%
rename from lib/StaticAnalyzer/AggExprVisitor.cpp
rename to lib/StaticAnalyzer/Core/AggExprVisitor.cpp
diff --git a/lib/StaticAnalyzer/AnalysisManager.cpp b/lib/StaticAnalyzer/Core/AnalysisManager.cpp
similarity index 100%
rename from lib/StaticAnalyzer/AnalysisManager.cpp
rename to lib/StaticAnalyzer/Core/AnalysisManager.cpp
diff --git a/lib/StaticAnalyzer/BasicConstraintManager.cpp b/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BasicConstraintManager.cpp
rename to lib/StaticAnalyzer/Core/BasicConstraintManager.cpp
diff --git a/lib/StaticAnalyzer/BasicStore.cpp b/lib/StaticAnalyzer/Core/BasicStore.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BasicStore.cpp
rename to lib/StaticAnalyzer/Core/BasicStore.cpp
diff --git a/lib/StaticAnalyzer/BasicValueFactory.cpp b/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BasicValueFactory.cpp
rename to lib/StaticAnalyzer/Core/BasicValueFactory.cpp
diff --git a/lib/StaticAnalyzer/BlockCounter.cpp b/lib/StaticAnalyzer/Core/BlockCounter.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BlockCounter.cpp
rename to lib/StaticAnalyzer/Core/BlockCounter.cpp
diff --git a/lib/StaticAnalyzer/BugReporter.cpp b/lib/StaticAnalyzer/Core/BugReporter.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BugReporter.cpp
rename to lib/StaticAnalyzer/Core/BugReporter.cpp
diff --git a/lib/StaticAnalyzer/BugReporterVisitors.cpp b/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
similarity index 100%
rename from lib/StaticAnalyzer/BugReporterVisitors.cpp
rename to lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
diff --git a/lib/StaticAnalyzer/CFRefCount.cpp b/lib/StaticAnalyzer/Core/CFRefCount.cpp
similarity index 100%
rename from lib/StaticAnalyzer/CFRefCount.cpp
rename to lib/StaticAnalyzer/Core/CFRefCount.cpp
diff --git a/lib/StaticAnalyzer/Core/CMakeLists.txt b/lib/StaticAnalyzer/Core/CMakeLists.txt
new file mode 100644
index 0000000..5fc72fb
--- /dev/null
+++ b/lib/StaticAnalyzer/Core/CMakeLists.txt
@@ -0,0 +1,41 @@
+set(LLVM_NO_RTTI 1)
+
+set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
+
+add_clang_library(clangStaticAnalyzerCore
+  AggExprVisitor.cpp
+  AnalysisManager.cpp
+  BasicConstraintManager.cpp
+  BasicStore.cpp
+  BasicValueFactory.cpp
+  BugReporter.cpp
+  BugReporterVisitors.cpp
+  CFRefCount.cpp
+  Checker.cpp
+  CheckerHelpers.cpp
+  Environment.cpp
+  ExplodedGraph.cpp
+  FlatStore.cpp
+  BlockCounter.cpp
+  CXXExprEngine.cpp
+  CoreEngine.cpp
+  GRState.cpp
+  HTMLDiagnostics.cpp
+  ManagerRegistry.cpp
+  MemRegion.cpp
+  ObjCMessage.cpp
+  PathDiagnostic.cpp
+  PlistDiagnostics.cpp
+  RangeConstraintManager.cpp
+  RegionStore.cpp
+  SimpleConstraintManager.cpp
+  SimpleSValBuilder.cpp
+  Store.cpp
+  SValBuilder.cpp
+  SVals.cpp
+  SymbolManager.cpp
+  TextPathDiagnostics.cpp
+  )
+
+add_dependencies(clangStaticAnalyzerCore ClangAttrClasses ClangAttrList ClangDeclNodes
+                 ClangStmtNodes)
diff --git a/lib/StaticAnalyzer/CXXExprEngine.cpp b/lib/StaticAnalyzer/Core/CXXExprEngine.cpp
similarity index 100%
rename from lib/StaticAnalyzer/CXXExprEngine.cpp
rename to lib/StaticAnalyzer/Core/CXXExprEngine.cpp
diff --git a/lib/StaticAnalyzer/Checker.cpp b/lib/StaticAnalyzer/Core/Checker.cpp
similarity index 100%
rename from lib/StaticAnalyzer/Checker.cpp
rename to lib/StaticAnalyzer/Core/Checker.cpp
diff --git a/lib/StaticAnalyzer/CheckerHelpers.cpp b/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
similarity index 100%
rename from lib/StaticAnalyzer/CheckerHelpers.cpp
rename to lib/StaticAnalyzer/Core/CheckerHelpers.cpp
diff --git a/lib/StaticAnalyzer/CoreEngine.cpp b/lib/StaticAnalyzer/Core/CoreEngine.cpp
similarity index 100%
rename from lib/StaticAnalyzer/CoreEngine.cpp
rename to lib/StaticAnalyzer/Core/CoreEngine.cpp
diff --git a/lib/StaticAnalyzer/Environment.cpp b/lib/StaticAnalyzer/Core/Environment.cpp
similarity index 100%
rename from lib/StaticAnalyzer/Environment.cpp
rename to lib/StaticAnalyzer/Core/Environment.cpp
diff --git a/lib/StaticAnalyzer/ExplodedGraph.cpp b/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
similarity index 100%
rename from lib/StaticAnalyzer/ExplodedGraph.cpp
rename to lib/StaticAnalyzer/Core/ExplodedGraph.cpp
diff --git a/lib/StaticAnalyzer/FlatStore.cpp b/lib/StaticAnalyzer/Core/FlatStore.cpp
similarity index 100%
rename from lib/StaticAnalyzer/FlatStore.cpp
rename to lib/StaticAnalyzer/Core/FlatStore.cpp
diff --git a/lib/StaticAnalyzer/GRState.cpp b/lib/StaticAnalyzer/Core/GRState.cpp
similarity index 100%
rename from lib/StaticAnalyzer/GRState.cpp
rename to lib/StaticAnalyzer/Core/GRState.cpp
diff --git a/lib/StaticAnalyzer/HTMLDiagnostics.cpp b/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
similarity index 100%
rename from lib/StaticAnalyzer/HTMLDiagnostics.cpp
rename to lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
diff --git a/lib/StaticAnalyzer/Core/Makefile b/lib/StaticAnalyzer/Core/Makefile
new file mode 100644
index 0000000..4aebc16
--- /dev/null
+++ b/lib/StaticAnalyzer/Core/Makefile
@@ -0,0 +1,17 @@
+##===- clang/lib/StaticAnalyzer/Core/Makefile --------------*- Makefile -*-===##
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===----------------------------------------------------------------------===##
+#
+# This implements analyses built on top of source-level CFGs. 
+#
+##===----------------------------------------------------------------------===##
+
+CLANG_LEVEL := ../../..
+LIBRARYNAME := clangStaticAnalyzerCore
+
+include $(CLANG_LEVEL)/Makefile
diff --git a/lib/StaticAnalyzer/ManagerRegistry.cpp b/lib/StaticAnalyzer/Core/ManagerRegistry.cpp
similarity index 100%
rename from lib/StaticAnalyzer/ManagerRegistry.cpp
rename to lib/StaticAnalyzer/Core/ManagerRegistry.cpp
diff --git a/lib/StaticAnalyzer/MemRegion.cpp b/lib/StaticAnalyzer/Core/MemRegion.cpp
similarity index 100%
rename from lib/StaticAnalyzer/MemRegion.cpp
rename to lib/StaticAnalyzer/Core/MemRegion.cpp
diff --git a/lib/StaticAnalyzer/ObjCMessage.cpp b/lib/StaticAnalyzer/Core/ObjCMessage.cpp
similarity index 100%
rename from lib/StaticAnalyzer/ObjCMessage.cpp
rename to lib/StaticAnalyzer/Core/ObjCMessage.cpp
diff --git a/lib/StaticAnalyzer/PathDiagnostic.cpp b/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
similarity index 100%
rename from lib/StaticAnalyzer/PathDiagnostic.cpp
rename to lib/StaticAnalyzer/Core/PathDiagnostic.cpp
diff --git a/lib/StaticAnalyzer/PlistDiagnostics.cpp b/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
similarity index 100%
rename from lib/StaticAnalyzer/PlistDiagnostics.cpp
rename to lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
diff --git a/lib/StaticAnalyzer/RangeConstraintManager.cpp b/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
similarity index 100%
rename from lib/StaticAnalyzer/RangeConstraintManager.cpp
rename to lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
diff --git a/lib/StaticAnalyzer/RegionStore.cpp b/lib/StaticAnalyzer/Core/RegionStore.cpp
similarity index 100%
rename from lib/StaticAnalyzer/RegionStore.cpp
rename to lib/StaticAnalyzer/Core/RegionStore.cpp
diff --git a/lib/StaticAnalyzer/SValBuilder.cpp b/lib/StaticAnalyzer/Core/SValBuilder.cpp
similarity index 100%
rename from lib/StaticAnalyzer/SValBuilder.cpp
rename to lib/StaticAnalyzer/Core/SValBuilder.cpp
diff --git a/lib/StaticAnalyzer/SVals.cpp b/lib/StaticAnalyzer/Core/SVals.cpp
similarity index 100%
rename from lib/StaticAnalyzer/SVals.cpp
rename to lib/StaticAnalyzer/Core/SVals.cpp
diff --git a/lib/StaticAnalyzer/SimpleConstraintManager.cpp b/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
similarity index 100%
rename from lib/StaticAnalyzer/SimpleConstraintManager.cpp
rename to lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
diff --git a/lib/StaticAnalyzer/SimpleConstraintManager.h b/lib/StaticAnalyzer/Core/SimpleConstraintManager.h
similarity index 100%
rename from lib/StaticAnalyzer/SimpleConstraintManager.h
rename to lib/StaticAnalyzer/Core/SimpleConstraintManager.h
diff --git a/lib/StaticAnalyzer/SimpleSValBuilder.cpp b/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
similarity index 100%
rename from lib/StaticAnalyzer/SimpleSValBuilder.cpp
rename to lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
diff --git a/lib/StaticAnalyzer/Store.cpp b/lib/StaticAnalyzer/Core/Store.cpp
similarity index 100%
rename from lib/StaticAnalyzer/Store.cpp
rename to lib/StaticAnalyzer/Core/Store.cpp
diff --git a/lib/StaticAnalyzer/SymbolManager.cpp b/lib/StaticAnalyzer/Core/SymbolManager.cpp
similarity index 100%
rename from lib/StaticAnalyzer/SymbolManager.cpp
rename to lib/StaticAnalyzer/Core/SymbolManager.cpp
diff --git a/lib/StaticAnalyzer/TextPathDiagnostics.cpp b/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp
similarity index 100%
rename from lib/StaticAnalyzer/TextPathDiagnostics.cpp
rename to lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp
diff --git a/lib/StaticAnalyzer/Makefile b/lib/StaticAnalyzer/Makefile
index 08ace28..f762531 100644
--- a/lib/StaticAnalyzer/Makefile
+++ b/lib/StaticAnalyzer/Makefile
@@ -1,4 +1,4 @@
-##===- clang/lib/Checker/Makefile --------------------------*- Makefile -*-===##
+##===- clang/lib/StaticAnalyzer/Makefile -------------------*- Makefile -*-===##
 # 
 #                     The LLVM Compiler Infrastructure
 #
@@ -12,8 +12,6 @@
 ##===----------------------------------------------------------------------===##
 
 CLANG_LEVEL := ../..
-LIBRARYNAME := clangStaticAnalyzerCore
-PARALLEL_DIRS := Checkers
+PARALLEL_DIRS := Core Checkers
 
 include $(CLANG_LEVEL)/Makefile
-