}
void ValueState::printDOT(std::ostream& Out) const {
+ print(Out, "\\l", "\\|");
+}
+
+void ValueState::print(std::ostream& Out,
+ const char* nl,
+ const char* sep) const {
// Print Variable Bindings
- Out << "Variables:\\l";
+ Out << "Variables:" << nl;
bool isFirst = true;
for (vb_iterator I = vb_begin(), E = vb_end(); I != E; ++I) {
if (isFirst) isFirst = false;
- else Out << "\\l";
+ else Out << nl;
Out << ' ' << I.getKey()->getName() << " : ";
I.getData().print(Out);
for (seb_iterator I = seb_begin(), E = seb_end(); I != E; ++I) {
if (isFirst) {
- Out << "\\l\\lSub-Expressions:\\l";
+ Out << nl << nl << "Sub-Expressions:" << nl;
isFirst = false;
}
- else { Out << "\\l"; }
+ else { Out << nl; }
Out << " (" << (void*) I.getKey() << ") ";
I.getKey()->printPretty(Out);
for (beb_iterator I = beb_begin(), E = beb_end(); I != E; ++I) {
if (isFirst) {
- Out << "\\l\\lBlock-level Expressions:\\l";
+ Out << nl << nl << "Block-level Expressions:" << nl;
isFirst = false;
}
- else { Out << "\\l"; }
+ else { Out << nl; }
Out << " (" << (void*) I.getKey() << ") ";
I.getKey()->printPretty(Out);
if (!ConstEq.isEmpty()) {
- Out << "\\l\\|'==' constraints:";
+ Out << nl << sep << "'==' constraints:";
for (ConstEqTy::iterator I = ConstEq.begin(),
E = ConstEq.end(); I!=E; ++I) {
- Out << "\\l $" << I.getKey()
+ Out << nl << " $" << I.getKey()
<< " : " << I.getData()->toString();
}
}
if (!ConstNotEq.isEmpty()) {
- Out << "\\l\\|'!=' constraints:";
+ Out << nl << sep << "'!=' constraints:";
for (ConstNotEqTy::iterator I = ConstNotEq.begin(),
EI = ConstNotEq.end(); I != EI; ++I) {
- Out << "\\l $" << I.getKey() << " : ";
+ Out << nl << " $" << I.getKey() << " : ";
isFirst = true;
IntSetTy::iterator J = I.getData().begin(), EJ = I.getData().end();
typedef ConstEqTy::iterator ce_iterator;
ce_iterator ce_begin() const { return ConstEq.begin(); }
ce_iterator ce_end() const { return ConstEq.end(); }
+
+ void print(std::ostream& Out,
+ const char* nl = "\n",
+ const char* sep = "") const;
- void printDOT(std::ostream& Out) const;
- void print(std::ostream& Out) const;
void printStdErr() const { print(*llvm::cerr); }
+ void printDOT(std::ostream& Out) const;
};
template<> struct GRTrait<ValueState*> {