aboutsummaryrefslogtreecommitdiff
path: root/source/20-codegen-compiler/main.cpp
AgeCommit message (Collapse)Author
2022-07-30Changeset: 88 (untested) replace manual sqlite3_step() calls with ↵rtk0c
SQLiteRunningStatement wrapper
2022-07-18Changeset: 87 Make codegen use mangled names, convert `std::string_view ↵rtk0c
fullname` to `const std::string* fullname` to indicate the reference nature better
2022-07-18Changeset: 86 Fix generated enum metadata using the wrong identifiers ↵rtk0c
(dangling pointer not fixed up after storing DeclEnum object into model)
2022-07-17Changeset: 85 Work on codegen (a big blob of changes about various things, ↵rtk0c
giving up on writing a clear commit message) - stuff along the lines of cleaning up store process - remove completed TODOs - move code generation out of parser loop - ^^^ also introduce some weird bugs of DeclXxx::name field disappearing -- maybe fixed, maybe didn't, can't reliably reproduce - add infra to mangle (not included in codegen yet, also not tested) - convert SourceFile storage map to node map, ensuring pointer stability (was broken before) - buildsystem asan and UBsan applying to all targest
2022-07-15Changeset: 84 Make all input commands use the same CodegenModel objectrtk0c
- A clean build on the main game still works - Generating cross-file references works now (only in a clean build, while the child classses are scanned after the parent classes though). This will still need fixing to support 1. reading from database 2. circular dependencies
2022-07-15Changeset: 83 Misc bug fixes, planning database readback for inheritance ↵rtk0c
hierarchy generation
2022-07-08Changeset: 82 Fix compiling the main game with codegen, add Files table to ↵rtk0c
replace embedding filename in each decl table directly
2022-07-07Changeset: 81 Replace DeclEnum::underlyingTypeStr with a lookup function ↵rtk0c
from the enumeration value DeclEnum::underlyingType
2022-07-07Changeset: 79 Initial work on fixing codegen for the main project, add enum ↵rtk0c
underlying type (EUT) scanning capability
2022-06-24Changeset: 76 Refactor the lexing-parsing-generating chain into more clearly ↵rtk0c
defined functions
2022-06-24Changeset: 75 Add feature to delete entries from the database that belong to ↵rtk0c
currently processed files
2022-06-12Changeset: 72 Add enum and namespace storing for CodegenModelArchivertk0c
2022-06-11Changeset: 70 Fix cmake and codegen infrartk0c
- Invoke codegen.exe once with a list of changed files, instead of individually for each changed file (this gives the codegen global access to all the code, allowing more things) - Initial support for outputting an archive SQLite database that contains all the code info
2022-06-09Changeset: 66 Fix ParserState::currentEnum not cleared correctlyrtk0c
2022-06-09Changeset: 65 Add enum name prefix manipulation support to codegenrtk0c
2022-06-03Changeset: 61 [BUGGED] Move object kind enums to use generated ToString and ↵rtk0c
FromStrong The old mechanism rely on a specific prefix to Ires and GameObject string representations, but the generator currently leaves the enum value. Therefore all editor (e.g. drag & drop) and IO (e.g. ires loading) mechanisms are broken.
2022-06-02Changeset: 60 Add struct/class scanning to codegenrtk0c
2022-05-30Changeset: 59 Integrate enum codegen into the actual projectrtk0c
2022-05-30Changeset: 56 Buildsystem cleanup: change to layered structure for different ↵rtk0c
targets