Loading...
Searching...
No Matches
autopack.hpp
Go to the documentation of this file.
1
2#pragma once
3
7#include "core/ast/scope.hpp"
8#include "core/ast/pack.hpp"
9
10namespace by {
11
12 class visitor;
13
96 class _nout autopack: public pack, public packMakable {
97 BY(CLASS(autopack, pack), VISIT())
98
99 public:
100 autopack(const manifest& manifest, const packLoadings& loadingsInHeap);
101 ~autopack() override;
102
103 public:
104 using super::subs;
105 scope& subs() override;
106
107 state getState() const override;
108 void setState(state new1) override;
109 nbool isValid() const override;
110
111 void rel() override;
112
113 protected:
114 void _invalidate() override;
115
116 private:
117 nbool parse(errReport& rpt, pack& pak) override;
118 nbool expand(errReport& rpt, pack& pak) override;
119 nbool verify(errReport& rpt, pack& pak) override;
120 nbool link();
121 void _rel();
122
123 private:
124 packLoadings _loadings;
125 state _state;
126 };
127} // namespace by
Automatic pack loading pack.
Definition autopack.hpp:96
void _invalidate() override
Protected virtual method to invalidate the pack.
void rel() override
Error report collector.
Definition errReport.hpp:24
Pack.
Definition pack.hpp:21
Interface for pack creation and verification.
Definition packMakable.hpp:22
Pack manifest information.
Definition manifest.hpp:32
Rich logging support with polymorphic type conversion.
Definition richLog.hpp:34