Porytiles
Loading...
Searching...
No Matches
c_parser_context.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include "gsl/pointers"
7
12
13namespace porytiles {
14
42 public:
52 gsl::not_null<const std::vector<std::string> *> file_lines,
53 gsl::not_null<const TextFormatter *> format,
54 std::string file_path = "");
55
73 [[nodiscard]] FormattableError make_error(SourcePosition pos, const std::string &message) const;
74
80 [[nodiscard]] const std::vector<std::string> *file_lines() const;
81
87 [[nodiscard]] const TextFormatter *formatter() const;
88
94 [[nodiscard]] const std::string &file_path() const;
95
96 private:
97 const std::vector<std::string> *file_lines_;
98 const TextFormatter *format_;
99 std::string file_path_;
100};
101
102} // namespace porytiles
Context object providing rich error formatting for C/C++ parsing.
FormattableError make_error(SourcePosition pos, const std::string &message) const
Creates a FormattableError with source context.
const TextFormatter * formatter() const
Returns the text formatter used by this context.
const std::string & file_path() const
Returns the file path associated with this context.
const std::vector< std::string > * file_lines() const
Returns the file lines held by this context.
General-purpose error implementation with formatted message support.
Definition error.hpp:63
Abstract base class for applying text styling with context-aware formatting.
Represents a position within source content.