LibPDF: Give Parser a reference to the Document

The Parser will need to call resolve_to on certain values.
This commit is contained in:
Matthew Olsson 2021-05-10 10:33:32 -07:00 committed by Andreas Kling
parent 6808cd1915
commit 2f0a2865f2
Notes: sideshowbarker 2024-07-18 17:51:34 +09:00
2 changed files with 5 additions and 0 deletions

View file

@ -12,6 +12,8 @@ namespace PDF {
Document::Document(const ReadonlyBytes& bytes)
: m_parser(Parser({}, bytes))
{
m_parser.set_document(this);
VERIFY(m_parser.perform_validation());
auto [xref_table, trailer] = m_parser.parse_last_xref_table_and_trailer();

View file

@ -19,6 +19,8 @@ class Parser {
public:
Parser(Badge<Document>, const ReadonlyBytes&);
void set_document(RefPtr<Document> document) { m_document = document; }
bool perform_validation();
struct XRefTableAndTrailer {
@ -74,6 +76,7 @@ private:
void consume(char);
Reader m_reader;
RefPtr<Document> m_document;
};
}