@@ -75,21 +75,26 @@ void InferredAssociatedTypesByWitness::dump(llvm::raw_ostream &out,
75
75
}
76
76
77
77
void InferredTypeWitnessesSolution::dump () const {
78
+ const auto numValueWitnesses = ValueWitnesses.size ();
78
79
llvm::errs () << " Type Witnesses:\n " ;
79
80
for (auto &typeWitness : TypeWitnesses) {
80
81
llvm::errs () << " " << typeWitness.first ->getName () << " := " ;
81
82
typeWitness.second .first ->print (llvm::errs ());
82
- llvm::errs () << " value " << typeWitness.second .second << ' \n ' ;
83
+ if (typeWitness.second .second == numValueWitnesses) {
84
+ llvm::errs () << " , abstract" ;
85
+ } else {
86
+ llvm::errs () << " , inferred from $" << typeWitness.second .second ;
87
+ }
88
+ llvm::errs () << ' \n ' ;
83
89
}
84
90
llvm::errs () << " Value Witnesses:\n " ;
85
91
for (unsigned i : indices (ValueWitnesses)) {
86
- auto &valueWitness = ValueWitnesses[i];
87
- llvm::errs () << i << " : " << (Decl*)valueWitness.first
88
- << ' ' << valueWitness.first ->getBaseName () << ' \n ' ;
89
- valueWitness.first ->getDeclContext ()->printContext (llvm::errs ());
90
- llvm::errs () << " for " << (Decl*)valueWitness.second
91
- << ' ' << valueWitness.second ->getBaseName () << ' \n ' ;
92
- valueWitness.second ->getDeclContext ()->printContext (llvm::errs ());
92
+ const auto &valueWitness = ValueWitnesses[i];
93
+ llvm::errs () << ' $' << i << " :\n " ;
94
+ valueWitness.first ->dumpRef (llvm::errs ());
95
+ llvm::errs () << " ->\n " ;
96
+ valueWitness.second ->dumpRef (llvm::errs ());
97
+ llvm::errs () << ' \n ' ;
93
98
}
94
99
}
95
100
0 commit comments