[analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*.

Having a notion of an actual ProgramPointTag will aid in introspection of the analyzer's behavior.
For example, the GraphViz output of the analyzer will pretty-print the tags in a useful manner.

llvm-svn: 137529
This commit is contained in:
Ted Kremenek
2011-08-12 23:04:46 +00:00
parent 53cb46ebd7
commit e8f7316fee
16 changed files with 228 additions and 99 deletions

View File

@@ -0,0 +1,26 @@
//==- ProgramPoint.cpp - Program Points for Path-Sensitive Analysis -*- C++ -*-/
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the interface ProgramPoint, which identifies a
// distinct location in a function.
//
//===----------------------------------------------------------------------===//
#include "clang/Analysis/ProgramPoint.h"
using namespace clang;
ProgramPointTag::~ProgramPointTag() {}
SimpleProgramPointTag::SimpleProgramPointTag(StringRef description)
: desc(description) {}
StringRef SimpleProgramPointTag::getTagDescription() const {
return desc;
}