28class SOURCEMETA_BLAZE_COMPILER_EXPORT CompilerError :
public std::exception {
30 CompilerError(sourcemeta::core::URI base,
31 sourcemeta::core::Pointer schema_location,
const char *message)
32 : base_{std::move(base)}, schema_location_{std::move(schema_location)},
34 CompilerError(sourcemeta::core::URI base,
35 sourcemeta::core::Pointer schema_location,
36 std::string message) =
delete;
37 CompilerError(sourcemeta::core::URI base,
38 sourcemeta::core::Pointer schema_location,
39 std::string &&message) =
delete;
40 CompilerError(sourcemeta::core::URI base,
41 sourcemeta::core::Pointer schema_location,
42 std::string_view message) =
delete;
43 [[nodiscard]]
auto what()
const noexcept ->
const char *
override {
44 return this->message_;
47 [[nodiscard]]
auto base()
const noexcept ->
const sourcemeta::core::URI & {
54 -> const sourcemeta::core::Pointer & {
55 return this->schema_location_;
59 sourcemeta::core::URI base_;
60 sourcemeta::core::Pointer schema_location_;
66class SOURCEMETA_BLAZE_COMPILER_EXPORT CompilerInvalidRegexError
67 :
public std::exception {
69 CompilerInvalidRegexError(sourcemeta::core::URI base,
70 sourcemeta::core::Pointer schema_location,
72 : base_{std::move(base)}, schema_location_{std::move(schema_location)},
73 regex_{std::move(regex)} {}
74 [[nodiscard]]
auto what()
const noexcept ->
const char *
override {
75 return "Invalid regular expression";
78 [[nodiscard]]
auto base()
const noexcept ->
const sourcemeta::core::URI & {
85 -> const sourcemeta::core::Pointer & {
86 return this->schema_location_;
89 [[nodiscard]]
auto regex() const noexcept -> const std::
string & {
94 sourcemeta::core::URI base_;
95 sourcemeta::core::Pointer schema_location_;
101class SOURCEMETA_BLAZE_COMPILER_EXPORT CompilerReferenceTargetNotSchemaError
102 :
public std::exception {
104 CompilerReferenceTargetNotSchemaError(
105 const std::string_view identifier,
106 sourcemeta::core::Pointer schema_location)
107 : identifier_{identifier}, schema_location_{std::move(schema_location)} {}
109 [[nodiscard]]
auto what()
const noexcept ->
const char *
override {
110 return "The referenced schema is not considered to be a valid subschema "
111 "given the dialect and vocabularies in use";
114 [[nodiscard]]
auto identifier()
const noexcept ->
const std::string & {
115 return this->identifier_;
121 -> const sourcemeta::core::Pointer & {
122 return this->schema_location_;
126 std::string identifier_;
127 sourcemeta::core::Pointer schema_location_;
174class SOURCEMETA_BLAZE_COMPILER_EXPORT CompilerInvalidEntryPoint
175 :
public std::exception {
177 CompilerInvalidEntryPoint(
const std::string_view entrypoint,
179 : identifier_{entrypoint}, message_{message} {}
180 CompilerInvalidEntryPoint(
const std::string_view entrypoint,
181 std::string message) =
delete;
182 CompilerInvalidEntryPoint(
const std::string_view entrypoint,
183 std::string &&message) =
delete;
184 CompilerInvalidEntryPoint(
const std::string_view entrypoint,
185 std::string_view message) =
delete;
187 [[nodiscard]]
auto what()
const noexcept ->
const char *
override {
188 return this->message_;
191 [[nodiscard]]
auto identifier()
const noexcept ->
const std::string & {
192 return this->identifier_;
196 std::string identifier_;
197 const char *message_;