1 /*
2  * Copyright 2016 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef SKSL_ERRORREPORTER
9 #define SKSL_ERRORREPORTER
10 
11 #include "SkSLPosition.h"
12 
13 namespace SkSL {
14 
15 /**
16  * Interface for the compiler to report errors.
17  */
18 class ErrorReporter {
19 public:
20     virtual ~ErrorReporter() {}
21 
22     void error(int offset, const char* msg) {
23         this->error(offset, String(msg));
24     }
25 
26     virtual void error(int offset, String msg) = 0;
27 
28     virtual int errorCount() = 0;
29 };
30 
31 } // namespace
32 
33 #endif
34