@@ -44,27 +44,6 @@ class InstrumenterBase {
44
44
virtual BraceStmt *transformBraceStmt (BraceStmt *BS,
45
45
bool TopLevel = false ) = 0;
46
46
47
- class ErrorGatherer : public DiagnosticConsumer {
48
- private:
49
- bool error = false ;
50
- DiagnosticEngine &diags;
51
-
52
- public:
53
- ErrorGatherer (DiagnosticEngine &diags) : diags(diags) {
54
- diags.addConsumer (*this );
55
- }
56
- ~ErrorGatherer () override { diags.takeConsumers (); }
57
- void handleDiagnostic (SourceManager &SM, SourceLoc Loc,
58
- DiagnosticKind Kind, StringRef Text,
59
- const DiagnosticInfo &Info) override {
60
- if (Kind == swift::DiagnosticKind::Error) {
61
- error = true ;
62
- }
63
- llvm::errs () << Text << " \n " ;
64
- }
65
- bool hadError () { return error; }
66
- };
67
-
68
47
class ClosureFinder : public ASTWalker {
69
48
private:
70
49
InstrumenterBase &I;
@@ -95,30 +74,6 @@ class InstrumenterBase {
95
74
96
75
ClosureFinder CF;
97
76
98
- class ErrorFinder : public ASTWalker {
99
- bool error = false ;
100
-
101
- public:
102
- ErrorFinder () {}
103
- std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
104
- if (isa<ErrorExpr>(E) || !E->getType () || E->getType ()->hasError ()) {
105
- error = true ;
106
- return {false , E};
107
- }
108
- return {true , E};
109
- }
110
- bool walkToDeclPre (Decl *D) override {
111
- if (ValueDecl *VD = dyn_cast<ValueDecl>(D)) {
112
- if (!VD->hasInterfaceType () || VD->getInterfaceType ()->hasError ()) {
113
- error = true ;
114
- return false ;
115
- }
116
- }
117
- return true ;
118
- }
119
- bool hadError () { return error; }
120
- };
121
-
122
77
template <class T >
123
78
bool doTypeCheck (ASTContext &Ctx, DeclContext *DC, Added<T *> &parsedExpr) {
124
79
Expr *E = *parsedExpr;
0 commit comments