/*
* Copyright 2021 Google LLC
*
* Use of this source code is governed by a BSD - style license that can be
* found in the LICENSE file .
*/
#ifndef SKSL_ERROR_REPORTER
#define SKSL_ERROR_REPORTER
#include "include/core/SkTypes.h"
#include <string_view>
namespace SkSL {
class Position;
/**
* Class which is notified in the event of an error .
*/
class ErrorReporter {
public:
ErrorReporter() {}
virtual ~ErrorReporter() {}
void error(Position position, std::string_view msg);
std::string_view source() const { return fSource; }
void setSource(std::string_view source) { fSource = source; }
int errorCount() const {
return fErrorCount;
}
void resetErrorCount() {
fErrorCount = 0 ;
}
protected :
/**
* Called when an error is reported .
*/
virtual void handleError(std::string_view msg, Position position) = 0 ;
private :
Position position(int offset) const ;
std::string_view fSource;
int fErrorCount = 0 ;
};
/**
* Error reporter for tests that need an SkSL context ; aborts immediately if an error is reported .
*/
class TestingOnly_AbortErrorReporter : public ErrorReporter {
public:
void handleError(std::string_view msg, Position pos) override;
};
} // namespace SkSL
#endif
Messung V0.5 in Prozent C=87 H=98 G=92
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-08-26)
¤
*© Formatika GbR, Deutschland