[analyzer] Fix a bug in REGISTER_MAP_WITH_PROGRAMSTATE

The ImmutableMap should not be the key into the GDM map as there could
be several entries with the same map type. Thanks, Jordan.

This complicates the usage of the macro a bit. When we want to retrieve
the whole map, we need to use another name. Currently, I set it to be
Name ## Ty as in "type of the map we are storing in the ProgramState".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167000 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp b/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
index 50b9fe0..5721b10 100644
--- a/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
@@ -106,9 +106,7 @@
                                        CheckerContext &C) const {
   initIdentifierInfo(C.getASTContext());
 
-  if (C.getCalleeIdentifier(Call) != IIfclose)
-    return;
-  if (Call->getNumArgs() != 1)
+  if (C.getCalleeIdentifier(Call) != IIfclose || Call->getNumArgs() != 1)
     return;
 
   // Get the symbolic value corresponding to the file handle.
@@ -130,9 +128,9 @@
 void SimpleStreamChecker::checkDeadSymbols(SymbolReaper &SymReaper,
                                            CheckerContext &C) const {
   ProgramStateRef State = C.getState();
-  StreamMap TrackedStreams = State->get<StreamMap>();
+  StreamMapTy TrackedStreams = State->get<StreamMap>();
   SymbolVector LeakedStreams;
-  for (StreamMap::iterator I = TrackedStreams.begin(),
+  for (StreamMapTy::iterator I = TrackedStreams.begin(),
                            E = TrackedStreams.end(); I != E; ++I) {
     SymbolRef Sym = I->first;
     if (SymReaper.isDead(Sym)) {
@@ -154,9 +152,9 @@
 ProgramStateRef SimpleStreamChecker::evalAssume(ProgramStateRef State,
                                                 SVal Cond,
                                                 bool Assumption) const {
-  StreamMap TrackedStreams = State->get<StreamMap>();
+  StreamMapTy TrackedStreams = State->get<StreamMap>();
   SymbolVector LeakedStreams;
-  for (StreamMap::iterator I = TrackedStreams.begin(),
+  for (StreamMapTy::iterator I = TrackedStreams.begin(),
                            E = TrackedStreams.end(); I != E; ++I) {
     SymbolRef Sym = I->first;
     if (State->getConstraintManager().isNull(State, Sym).isTrue())