• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 Google LLC.
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 #include "include/sksl/SkSLErrorReporter.h"
9 
10 #include "src/sksl/SkSLCompiler.h"
11 #include "src/sksl/dsl/priv/DSLWriter.h"
12 
13 namespace SkSL {
14 
error(skstd::string_view msg,PositionInfo position)15 void ErrorReporter::error(skstd::string_view msg, PositionInfo position) {
16     if (msg.contains(Compiler::POISON_TAG)) {
17         // don't report errors on poison values
18         return;
19     }
20     ++fErrorCount;
21     this->handleError(msg, position);
22 }
23 
error(int line,skstd::string_view msg)24 void ErrorReporter::error(int line, skstd::string_view msg) {
25     if (msg.contains(Compiler::POISON_TAG)) {
26         // don't report errors on poison values
27         return;
28     }
29     if (line == -1) {
30         ++fErrorCount;
31         fPendingErrors.push_back(String(msg));
32     } else {
33         this->error(msg, PositionInfo(/*file=*/nullptr, line));
34     }
35 }
36 
37 } // namespace SkSL
38