v0.0.1
Changelog
π Features
New features and additions
- β¨ RangeFor. c916310
- π« Formatter. 21988cf
- π Handlebars API. 7a218f4
- β¨ Add Path APIs. 66aedd6
- π« JavaScript api. e12c78d
- π Addons directory. 9582ac1
- β¨ String support algorithms. ae14717
- π« Doc::Heading. 9094337
- π More doc node types. 6806796
- β¨ Add MRDOX_GENERATE_REFERENCE cmake option. 6e67eb4
- π« Error refactoring. 1982508
- π Stack trace on exception. fcb2d60
- β¨ Links in doc. 0578675
- π« Dom. ec7344e
- π Adoc support for templates. (close #328) 1a89402
- β¨ Interface for records. 1138867
- π« Enum dom and adoc work. 2b90a02
- π Dom is lazy. a2613b8
- β¨ Better Expected. 5b2fa54
- π« SharedPtr. e2d0f73
- π Lua integration. 940033e
- β¨ Recursive TypeInfo structure. (closes #209, closes #343) af254c3
- π« New Dom. 8ccb12a
- π Add IsMutable for FieldInfo. (closes #177) 9798204
- β¨ Add support for bitfields. (closes #212) 8c82517
- π« Add ConstexprKind and isConstinit to VariableInfo. (closes #325, closes #205) a864552
- π Add isThreadLocal to VariableInfo. b1a5896
- β¨ Add isInline and isAnonymous to NamespaceInfo. (closes #199) c85c48e
- π« DomCorpus. 345358d
- π Classify functions by kind. 5aa45a6
- β¨ Info name improvements. (closes #352) a3389a2
- π« Diagnostics. 668e4e9
- π Array::emplace_back. e92e988
- β¨ Dom::String. (fix #361, fix #372) 735ef37
- π« Use std::unordered_set<std::unique_ptr> during AST traversal. 8a376f2
- π Tests have configs. c59ef02
- β¨ C++ Handlebars library. 81a5b88
- π« Improved reporting with levels. 9a64659
- π --report switch. 843f5a2
- β¨ Info reporting in test runner. caf0347
- π« Improved declaration resolution. e4947d8
- π TArg stores types. c0fd3fc
- β¨ Improved clang and llvm natvis. cb7d069
- π« HTML generator. a57def6
- π Add Info::Implicit flag. 2a21b06
- β¨ Dom::Function and major refactor. a45679c
- π« Duktape uses native dom. a3d6bbd
- π Whitespace control specs. 7e5250e
- β¨ Partials specs. 5a0409a
- π« Block specs. 95210f8
- π Subexpression specs. f3e6861
- β¨ Builtin specs. 7510558
- π« Private data specs. c1223af
- π Helpers specs. 8f674d5
- β¨ Track-ids specs. 517d4d4
- π« Strict specs. deaa47c
- π Util specs. d10a921
- β¨ Mustache specs. f63df18
- π« Safe names. 3aecfc0
- π Support dom::Function. 93a1bf9
- β¨ Handlebars error handling. 2e554c8
- π« Symbol filtering. 090db2a
- π Dependency extraction improvements. c3a18a5
- β¨ ExtractOptions. 7a1e1dd
- π« Minimal safenames. 7360cd4
- π Support basic filtering of inaccessible members. 66ba585
- β¨ Add find/index_of container helpers. c6ccde2
- π« Find helper supports strings, arrays, and objects. 60d79ff
- π Symbol name lookup. 9141ad1
- β¨ Add EnumeratorInfo and FriendInfo. 22ac9ec
- π« Overload sets. bbc08f1
- π C++/JS proxy functions.1 58e4cec
- β¨ Configurable extraction of inaccessible bases. a77752e
- π« C++/JS proxy objects. 339f7da
- π Tranches & overload sets for namespaces. a7a7330
- β¨ C++/JS proxy arrays. 5230768
- π« Complete JavaScript helpers support.2 1a1b510
- π Template context includes config. 186db21
- β¨ BaseURL config option. 86609ec
π Fixes
Bug fixes and error corrections
- Linux build. fab205d
- Added addons folder copy. ea602c2
- Runtime errors. (close #284, close #285) 90668f3
- Fix Source/Error.hpp include. 8bf0395
- Missing Field in visit. 4c2f8c5
- Missing info kind tags. be131f1
- Mrdox.cmake. 03bcc0a
- Add CMakePresets.json to gitignore. 8a0bb97
- Add back brief-1.cpp. 9fe16c8
- Invert Value::getBool. bb6a6d3
- Constexpr. 181ac6b
- CI warnings. 5c7120b
- Don't lookup bases that use SymbolID::zero. bf5ffde
- Source_location. 262846a
- Expressions of different signedness are casted. 66b3d3b
- No reference temporaries. 353fe98
- Lua ignored warnings include GCC. 828560c
- Change FieldFlags::isNodiscard to FieldFlags::isMaybeUnused. db42b86
- DomCorpus warning. 4db0c96
- Hack to make test pass regardless of line endings. 45d69f7
- Invalid assert in parseJavadoc. 09854bc
- Doc::Overview. f8e72bb
- Concurrency is a command line argument. (fix #392) 3e5f660
- Fixup clang natvis. fda33b1
- Inverse blocks with no helpers expand expressions. 68491d0
- Single-thread pool. a55a87c
- Info::Namespace uses SymbolID::zero for global namespace. cbc7d55
- Handle substituted template parameter types. d2990a8
- Fallback to TemplateName::print for qualified template names. 80f9eae
- Multipage links work in adoc. 9914bbb
- Make_format_args requires lvalue references. 53273a0
- Asciidoc demos. fa02ec5
- Safename disambiguation. a2e033b
- Workaround for msvc 14.5 bug. 0448745
- Global namespace safename. 2bd8576
- Remove expression trim.3 bf64028
- [object Object] shown in adoc output. bb41cf0
- Create generator output directory if it doesn't exist. 581bc90
- Adoc shows declarations and definitions. bb96013
- Qualified lookup for transparent contexts. 2b5c5c8
- Compute pseudo-access for friends. 3401014
- GetInstantiatedFrom returns templated declaration for templates. 1579d95
- Use string_view data. 71dd9f5
- Tranche partial requires no whitespace. 7d689c9
- Report handlebars errors from Builder. cf2d10a
- AccessKind::None is zero. 633a686
β»οΈ Refactor
Code refactoring and restructuring
- Move source files to src. 04f75dd
- MrDox uses C++ handlebars.4 63ac382
- Store dom::String as a single pointer. (closes #413) ba19bdf
- Project name is mrdocs. (π¨ BREAKING) 12c027f
- Rename format option to generate and move it to the config. bfe1ae3
- Promote adoc section levels. a7afbe1
- Group namespace members by kind. 76998f4
- Invert source and synopsis. 7c1f0ea
- Namespace members are sorted. d788ed8
- Source partial refers to headers. 6e00120
- Replicate function and record sections. a0c9d1d
- Tool uses Expected. 3e1c279
- Template headers link to repo. 866f727
π Documentation
Documentation updates and improvements
- Antora setup. 744eaee
- SafeString javadoc. (fix #388) 2f9fe70
- Installation instructions are relative to enclosing directory. 3491224
- Antora playbooks refer to mrdocs repo.5 4e59401
- LLVM version is 29b20829.6 (fix #462) 6c6d641
- JavaScript.hpp javadoc. da84105
- JavaScript capitalization is consistent. ef24d66
π¦οΈ Build
Build system and configuration changes
- Integrate duktape. (close #235) 3b31926
- Extend fmt integration options. 0458f28
- Reset LLVM warning flags.7 (fix #251) f6c5346
- Support CMake presets. ba63ed0
- Lowercase config preset names. 03b5b26
- Vcpkg manifest example. d5081bc
- Cmake presets use variable-based paths.8 9412a8c
- LLVM presets. 2ac2157
- Use duktape package.9 e2c8f19
π§ͺ Tests
Test cases and testing-related changes
- Integrate handlebars and boost.url test suite.10 (fix #390, #384) e14fe08
- Handlebars basic spec. 74fd1f3
- Improve decomposer integral comparison operators. 831a691
- Clang::mrdox::dom unit tests. cc9e397
- JavaScript unit tests.11 d5b7b3d
π¦ Continuous Integration
Changes related to continuous integration
- Update workflows. 97f5aff
- All workflows support libxml2. (closes #218) 9dc4f0d
- Setup fmt. 2b78a32
- Update cpp-actions to v1.4.0. 7ebe6a0
- Update cpp-actions to v1.5.0. e2acdae
- Clang uses libstdc++-12-dev. 1db5cf5
- Automated deployment of demo documentation. (fix #402, #405) 5bd2cc4
- Run asciidoctor on adoc demos. d8bbf98
- Use MrDox LLVM binary releases. 2584328
- Preserve directory structure in demos. 0ec670a
- Remove gcc 13.1 job. 2c2b4d6
- Update llvm version. bd103aa
- Fix demos directory permissions. 0683dde
- GCC version is 13.1. 34a9e37
ποΈ Chores
Routine tasks, maintenance, and housekeeping
- Tidy up include guard names. 1c398cb
- Error is in Support. f3a848e
- Refactor error handling and reporting. b81ac4a
- Config has workingDir. f3694e3
- Absolute compilation database. d226f3a
- Add Execution. 21b6df1
- Add parallelFor. 8460e1f
- ParallelFor tidy. 028a460
- Path public API work. 8c5c0fc
- Use new path routines. 5ccf929
- Fix absolute path algorithms. 9c0f220
- ThreadPool. e396dbf
- Only 1 each of msvc, clang, gcc CI targets. bdc9864
- Refactor thread facilities. 9121bef
- Config uses ThreadPool. c740a9a
- Tidy up config construction. 993bfa1
- NamespaceInfo member refs are just symbol IDs. 3205784
- RecordInfo member refs are just symbol IDs. 1b6bb13
- Executor group. 5915bef
- No source files in source/. d1a37ee
- Refactor thread support sources. f19a27a
- Tidy up command line arguments. 5c90ac2
- Support fixes. 8ce8894
- Add traverse and visit. 85b20d4
- JS array objects. 9dcc342
- Refactor Javadoc. 6600fe7
- Reverse compare direction in diffs for failed tests. d9ad26f
- Rename VarInfo to VariableInfo. 711baf4
- Rename SymbolInfo to SourceInfo, move Location into Source.hpp. 77729b0
- Debug and error streams are unbuffered. 5b92bfb
- Remove llvm/clang includes from public headers. 0264f5e
- Remove debug_outs. a31ae91
- Relative paths during visit. 971dcd1
- Corpus visit fix. 0e960f2
- Better bitcoding for doc nodes. 87d0752
- Asserts for ExecutorGroup. 68ccbfe
- Fix data race in executor group. d49dcb1
- Define FMT_CONSTEVAL. e89a07a
- Error is an exception. 5d78642
- Refactor ExecutorGroup. 65b5279
- ExecutorGroup returns errors. a09e7af
- ThreadPool returns errors. b7e2443
- Visitor helpers are not anonymous. e4ab713
- Add OptionalLocation. (fix #316) 23b8911
- Normalize outputPath. 6c436c2
- Dom work. 395be0f
- Source symbols are exported. f7aaad9
- Adoc multipage visitor. 118c1b7
- Tidy up Pointer. 1d4a429
- Empty dom Array, Object. ef5af06
- Dom and asciidoc work. 75cd2dd
- Generate symbol IDs for type by looking through pointers/references etc. 072f43c
- BaseInfo stores type using TypeInfo. c2abb69
- Move TagTypeKind conversion to ASTVisitorHelpers. 7246747
- Add toString for InfoKind and RecordKeyKind. e0a82fb
- Dom::create spelling. 2e4b285
- DefaultAccess for bases. 88146bd
- Enum and adoc template work. 246cd12
- Dom for fields. ad536a0
- Dom for variables. a07082a
- Data is fields. 9744bf6
- Make ASTVisitor::traverse overloads easier to find. 13d2513
- Refactor DomTemplate. cbd7c14
- Tidy. fbb8f09
- Function specifiers in the dom are flat. 917d2cb
- Flatten source dirs. 2e9e713
- Value::copy. efe3d17
- Dom tidy. 31c99f4
- Refactor Error. 1d22799
- Tidy include guards. a97f568 1f9bf64
- Error improvement and tidy. 740569c
- Dom diagnostics and tidy. f1f8ee0
- Javascript fixes. 9634364
- Disabled version header generation. 4174ba5
- Mrdox.rng generation uses .rnc as dependency. 5e9e1d2
- SharedPtr api. 0ce939f
- Xml generator support for new types + cleanup. d1c44c4
- Update schema. 648699d
- Cleanup. d15a3e5
- JavaScript uses Proxy. 609b5da
- MakeInterface does not share. a7024b8
- Visit replaces Visitor. c98b4de
- Rename EnumInfo::BaseType to UnderlyingType, TypedefInfo::Underlying to Type. a121fb4
- StringLiteral. f523dd3
- Std::shared_ptr is standard. a9db251
- Generators render javadocs. 535aef1
- Refactor dom Object and JavaScript. 365f798
- Update rnc schema. d6f37a6
- Expected is in Error.hpp. (fix #362) 31c366e
- Add Exception. 39b0e52
- Use Exception. 7373604
- Use mrdox::ToolExecutor. f5db91d
- ToolExecutor uses Config. d1b0340
- ToolExecutor refactoring. 4fb586d
- Clean up catch sites. 22ea97a
- Reporting is in Error.hpp. (close #363, fix #365) 1eda403
- Diagnostics for warnings and errors. 2226e3c
- Squelch diagnostic totals per config. ecf237e
- Javadoc::makeOverview. f53619d
- Javadoc preserves order. e29bd89
- Array, Object special members. ca3fda4
- Refactor project structure. bd8b0e0
- Remove duplicate cmake code. fc51870
- Simplified glob expressions. 0158830
- Config::Settings. b39afbd
- New config from base config. 19f25ef
- Separate ASTVisitor from SemaConsumer. 1b80f11
- Merge FrontendAction.cpp with ASTVisitor.cpp. 8cfd15d
- Add clang natvis, update llvm natvis. 123a575
- Natvis renders SymbolIDs. 0365b23
- Refactor error reporting. 4d12651
- Refactor reporting call sites. d3fd9e6
- Diagnostics in parseJavadoc. dd79d58
- Length for dom::String literals. 04fc1dd
- Add test Doxyfile. 6c6a621
- Tidy up config settings. 6a0a540
- Tidy up unhandled exceptions. 2b8a861
- Update llvm and clang natvis. ce7844f
- Refactor TParam. (closes #223) 2cc093d
- Add TParamKeyKind, use TArg to store default template arguments. (closes #196) 21ec7ae
- Tidy up test source structure. 4f6ca64
- Remove unused code in ASTVisitor. 48ecec8
- Implement FrontendAction::ExecuteAction & call ParseAST directly. 5fa524d
- Tidy up test source tree. 534e3bb
- Run all suites. 8a232b1
- Rename some report functions. 96e7c9a
- Factor out llvm ostreams. da279c1
- Fewer falsy properties. 47b0c01
- Javadoc work. 0df0e02
- Better assertions. d921878
- Adoc generator improvements. 055fac3
- Files::createDirectory. 193e060
- Adoc uses safe names by default. 7382609
- Cleanup ToolExecutor and ExecutionContext. 7e112c3
- Eliminate ToolExecutor, replace Corpus::index with iterator access, add ExecutionContext which skips bitcode. 01835f4
- Bitcode cleanup. 221d69a
- Natvis improvements. dddfeed 1509e20
- Remove PackTypeInfo. 8dcf6b3
- Cleanups. e5b8d31
- Extract dependencies after primary AST traversal. 143c947
- Update llvm version. 7f3d4ae
- Make extract options private. 3a223ab
- Docs for dependency extraction options. 0673c9b
- Delete old demos before upload. 036f501
- Hide inaccessible members in demos. d7c0c4e
- Adoc and html generators use native handlebars helpers. 634ea5d
- Improve asciidoc templates. 17d5da6
- Move safename enable logic into SafeNames. 2d3aa0b
- SymbolID zero is invalid. df33bd6
- Remove OptionalSymbolID. 573fc11
- Update tests. 5ffc7de 954f69f
- ASTVisitor cleanup. 592e196
- Add DecltypeTypeInfo. 1b486b7
- Improved file paths. 8788300
- Indicate whether declaration location had documentation. 7086f2c
- Merge function parameters. 3ca3356
- Refer to global namespace as such in asciidoc templates. 6f0fdf7
- Support partials in subdirectories. a9b6774
- Move generators to src/lib/Gen. c777320
- Fix Wparentheses warning. 4ae56c0
- Adoc template improvements. 57238d7
- Remove handlebars.js.12 b8b6880
- Sort members alphabetically. 0b04f75
π¬ Other
Other changes not covered by specific categories
- Initial commit. 4592d4c
- Import clang-doc and set up build scripts. 887e4a7
- Add assets. f11bb73
- Adoc generator. b88ceb3
- CommentVisitor. 002927b
- Javadoc in Representation.h. ece8eb9
- Comment work. 258a620
- Function overloads. 8d9304b
- Access control for all infos. aa5999a
- Refactor project into lib, tool, and tests. 9c2585a
- Add testfiles. eeb7259
- Add llvm submodule. 05199e7
- Add submodule notes. 1df459f
- Tests and XML output. 0b5cfe3
- Tidy up namespacing. 3d32024
- Refactor frontend and commandline. c3562c2
- Only one doc context. (fix #11) abec71c
- Refactor ClangDocContext. a74b883
- Move type to its own header. 3a5b9ad
- More CDCtx. fd3bef1
- Test work. 6aad179
- Break up Main. 27931da
- Factor out indexing step. 6ddb9d1
- Tidy public apis. 0037a03
- Refactor entry points. bd76998
- Force xml generator linkage. 2f5f38a
- Build AST in tests. 5b572f6
- Add Corpus. 7a96c10
- Rename to Config. e3948b5
- Use Corpus. 6f5e434
- Check test xml. e7dd3c9
- Front end receives corpus. 0fc0c82
- Tests main() work. b7bf501
- Use debug tooling libs. b9bf74a
- Refactor actions. 1b5a3b9
- Refactor visitor. 521deec
- Refactor test actions. 21abfca
- Refactor build index from tool results. 77027b9
- Tests compare expected XML versus actual. 32fc1bd
- More tidy. ebea6bd
- Refactor XML. 5ed6c8f
- Explore correct USRs for typeinfo. 65bc8d4
- Refactor xml. feb76a7 5fc6062
- Tidy up names and dtd. 8c41281
- Refactor xml files. 2f99861
- Refactor into jad files. 53993ca
- Continuous Integration. 202c22e
- Fix build scripts. 9a2f44e
- Rename to Scope. 75ac617
- AssertExists. 52124f1
- AssertExists work. 78aa399
- No assertExists in release. 7efbcdc
- Refactor corpus and error handling. 6dbd8a9
- Class Result. cd3d706
- Tool results are threadsafe. 958f7a2
- Llvm::Optional for clang-15. b71e159
- Llvm_map_components_to_libnames lists components. ec68ed2
- Refactor method of calling getPtr. fc04ba6
- Added
CLANG_SIMPLE_LIBS
cmake option.13 5b58fcf - Use llvm::Optional. f1d1690
- Refactor command line. 6169bbd
- Comments and tidy. 47ba542
- Refactor test execution. caab7c1
- Refactor tool execution. eba53fa
- Refactor and add allSymbols. 24ddd2c
- Refactor find. 5d0cb5c
- Flatten source files. df0953f
- Refactor test actions. fa5c26a
- Tidy up corpus. 91f5894
- Flatten structure of functions in Scope. 550a350
- Big refactor, functions are Referenced. 54aabe2
- WriteAttrs. 00504e6
- Tests emit normalized xml. a48361b
- No QualName in Reference. 7202689
- Refactor generators. 7a27e5b
- Mrdox.yml file. b472583
- Rename to config. 770ed6c
- Refactor file filtering. 76cf073
- More file filtering. bbbe9db
- Refactor error reporting. 037b692
- Use makeError. e3aabb4
- FormatError and more. 5d610a6
- More adoc work. af2b7e3
- Downgraded required cmake version. c3679f7
- Reporter sets exit-exit when failed. 48b7a36
- Serialize uses llvm::Optional. 9995520
- Base class work. dd044d2
- Multi-config CI. (close #27) 081e28e
- Fix tests. 53f3280
- Xml and adoc work. b08a73e
- Corpus can be canonicalized. 8343333
- Squelch unused private members. bae9c52
- Symbol compare function. 38de43d
- Refactor Index.cpp. 6a8f733
- Canonicalize Corpus. 7862f70
- Refactor test sources. 43c1509
- Refactor Reporter. d3b29fe
- Record work. 6ea84b2
- Factor out nice. c93e9f1
- Refactor makeError. 5df191c
- Add OverloadSet. c579332
- Refactor config and settings. 309b16d
- Add verbose config option. 3faf936
- Refactor config paths. b846951
- Input include filter work. 5a5de47
- Tidy up errors and warnings. 564de79
- Add RecursiveWriter. 005b391
- Document some things. edbceb5
- Tidy up test handling of files. a5277f7
- Add FlatWriter. 3945563
- Data members. 7115b7d
- Refactor includes. 778861b f9111c9
- Refactor sources. 13adee3
- Refactor frontend action. 6b3e139
- Refactor test files, set text mode. 26dff21
- Import doxygen comment parser. 905570c
- Javadoc work and custom commands. c54dc26
- Javadoc list nodes. ba89710
- More Javadoc metadata. a6ac939
- Attach javadoc to Info. 95c8da3
- Xml javadoc work. 197bb95
- Javadoc bitcode. c31f3e7
- Remove old comment visitor. 9e4657d
- Remove CommentInfo. d2da585
- Bitcode work. 0aaa4fa
- List is SCARY. 76237aa
- Finish bitcode round tripping and fixes. 97ac444
- Output format work. f450458
- Refine briefs. f372be6
- Format work. 8881634
- Tidy xml and test folders. d086b4a
- Refactor javadoc node types. ed309e2
- canonicalization and brief extraction is improved. 1455e40
- Refactor javadoc node hierarchy. 1dd7055
- Tidy up flat writers. 0753882
- Tidy up asciidoc. 73b53de
- More format work, debug heap checking (msvc). d2a2592
- Refactor format sources. 4d51a10
- Refactor List and bitcode for Javadoc. 99dca89
- Javadoc fixes and tidy. cd0c586
- Tidy up Corpus API. 5840069
- Refactor async. 8f18ab8
- Corpus references config. d903a52
- Tidy up javadoc code. b03cf78
- More javadoc tidy. f5faf9e
- Refactor function overloads. cea7b46
- Records are cxx. 5c76530
- Serializer has state. 6e1c1fd
- Refactor Corpus. 014593f
- Arbitrary radix encoding. 51bf725
- Remove Path from meta. bbfb0f8
- Id spells USR. 6db7a4a
- More function metadata. (fix #68) ead4cd7
- XML uses Corpus visitor. 71e6e7e
- More function metadata, and Assert. 6963951
- Corpus is const. (fix #72) 9f073e3
- Javadoc can be disengaged. (fix #71) 3c8d225
- Notes for missing attributes. d9c898c
- Refactor integers in bitstream. d84a149
- Function specs are 32 bit. a3d947a
- Extract override attribute. (fix #77) 421175a
- Refactor canonicalization.14 (fix #31, fix #36) def255f
- Friend work. c6d7e27
- Refactor serializer. 70b6cc6 23da910
- FriendDecl in serializer.15 9af8c48
- Mrdox-test uses command line parser. (fix #39, fix #51, fix #69) 3139781
- Visitor can be aborted. 5780eca
- Noreturn and refactor xml tests. (fix #83) 4768999
- Enum work. 7b31b0d
- Results go to debugger if attached. fe396da
- Javadoc is optional. 362fdaa
- Remove FlatWriter. 2391d32
- Xml and adoc namespaces. 12fc21a
- Source file refactor. ce70be6
- Add Platform.hpp. ce2fba1
- Tidy include guards. 659d19a
- Tidy up remaining source files. 9411a45
- Capitalization. 82f80a9
- Add Generators. cca6494
- Refactor Config into impl. 75d9c37
- Refactor adoc sources. 0c44ad5
- Adoc pagination framework. 98b03c5
- Xml writer in separate file. c4447cb
- Factor xml tags out of writer. d32bd72
- Tidy up function bits. 433c78d
- Add operator names. 9d17ff9
- Parents of friends are namespaced. 995e178
- Safe names and adoc pagination. 9dbb505
- Add Bits. 8e2e92c
- Tests use -std=c++20. 83595c4
- Simplify and use Bits. 8893e61
- Add generate.py to generate enum declarations into tests/py/dcl.enum/. (close #95) 5efe3ef
- Update function specs, plus adoc linking. e7884ca
- Fixes. 4028540
- Mrdox cmake script for self-test. (close #41) 16b7aca
- Has shared link option. (fix #93, close #98) 88601b1
- Tidy up noreturn attribute. 431b204
- Safenames are safe. ee1e170
- Explore UsingDecl. 7890557
- Refactor source files. 157b58f ed8326c
- Add output validation functions. 4ab9ea7
- Adoc work and single-page config item. e9c1b1e
- Refactor directory structure. 4fdf50f
- Generate empty declaration. f380643
- Generate namespace definitions. 084b5d1
- Generate class definitions a la [class.pre]. f1c28fd
- Generate some simple non member functions. a672ff8
- Refactor adoc output and bitcode. d428e5f
- Final for CXXRecordInfo. 4e22c31
- Nodiscard attributes. f9ce927
- Extract variables. 69efdb9
- Better xml typedefs. 30b632d
- Escape "c++" in adoc files. (close #110) 896859d
- Add explicit specifier. (close #119) e5ce168
- Generator target directory argument. (close #111) a5a251e
- Cmake uses mrdox.yml from docs/. 90fd982
- CI runs self-test. df1ad22
- Refactor bitcode reader. 7958e9e
- Single file bitcode output. 2a1bbde
- Child types are refs. f446d15
- Child enums are refs. 18210c1
- SafeNames is Support. 7aa2e47
- Enum and block fixes. e65ac0f
- Tidy up anyblocks. c8531c1
- Tidy up merge. 9527802
- Tidy up javadoc block. 6cd9c04
- Tidy up Javadoc. bfbfcdd
- Tidy up Location. 1b39775
- Tidy up Record. 63c892c
- More tidying. 0c783a4
- Variable work. 7f290fe
- Refactor meta attrs in xml. eb937d1
- Javadoc work. ba98661 2cf328e
- Xml work. 53899ef a505a3d 3dea5c4
- Template fixes. 9d35f70
- Adoc work. 0ca3e22 9d61625 ca1ce30 b216c89
- Tidy up all symbols and InfoType strings. 78612b0
- AnyList replaces List. (fix #130) dd040e4
- Javadoc params and tparams in separate list. (fix #74) 9fe79c9
- Tidy xml, add FunctionKind. 0bd9adf
- Refactor Config. (fix #103) 617f4ee
- Adoc config options. 1229e4b
- Mrdox has a rng schema & test to verify.16 d8ac598
- Generate github releases. (fix #139) 5c147ef
- Adjust test args. 5e10690
- Public interface tidying. 8d18286
- Refactor Generator api. 507a134
- Additional-defines in config. d36e1ad
- Refactor Config and Corpus. 1bf25d4
- Tidy generators for single-page config. 3f14052
- Tidy up warnings. 883a307
- Set and ensure minimum version of LLVM. (Closes #115.) c7b8c11
- Use BUILD_TESTING in cml. a48a808
- Pad test file names. (close #141) 1dfe986
- MSVC workflow. 43981c8
- Disable MSVC workflow. 713cefa
- Disable MSVC artifacts. 60470f1
- Tidy up xml tag names. (fix #140) 6c4cbda
- Javadoc returns paragraph has its own container. 81d2d91
- Refactor metadata extraction. 1cee02e
- LLVM comes from GitHub release. fedfe34
- Refactor BaseInfo. ee73ec0
- Add Interface metadata. 423418d
- Fix cv-qualified parameter types. (close #157) 1bfccbb
- Improved release notes body in releases. 92d619d
- Fix AnyList::move_to. 8d98213
- Added bitfield. a64d3cf
- Function bits uses bitfield. 10bfad0
- Var bits uses bitfield. 9a2e0dc
- Record bits uses bitfield. db79d76
- Removed Bits structure. 074ff7c
- Replace array with initializer_list. 49dda57
- Attributes on data members are supported. aa9b4c2
- Tests print diffs on error, so CI is more informative. 0452c03
- Enabled CMAKE_EXPORT_COMPILE_COMMANDS for CI build. 975a6a9
- Mrdox has a version to print. (Closes #24.) 2d39eae
- _Bool becomes
bool
. (Closes #32.) beccd6f - Rng file is built. (Closes #155.) 9128741
- Big refactor of scopes and records. d42444c
- Support Javadoc in/out parameter attributes. (Closes #145) 49e2aad
- Utf8 is tested. (fix #45, close #175) 51fdd68
- Refactor record members, include access specifier. b46e8df
- Remove IsMethod. 9fabbcb
- Remove RecordInfo Parent. 3573549
- Add OptionalSymbolID. 42bee96
- Clean up data members. 7c21e67
- Split tranche access to separate vector. f17057b
- Tidy up insertChild. 299d76f
- Pass Reporter to parseJavadoc. 3e5039d
- Tidy. 334a1de ee85cd0 195f8d2 0bc5d3b d99d06b e43f92e e3de53f 1f49653 24bda63 dbb68ca
- Use std::string. 0f1f8fb
- FunctionKind work. 5b869ff
- Add overloaded operator tests. 38b6330
- Add choice for ugly safenames. 5579004
- Functions are members of ASTVisitor. aed34a1
- Better bool. (close #189) afc82d5
- Update CI matrix. 564d9ef
- Improved parsing of templates. (closes #167) d9efa40
- Combine tool, tests, and library. 2fb56a2
- Mrdox.cmake uses new arg structure. 81d4b3d
- Gh msvc uses ninja as generator. 2e3ea0b
- Mrdox does everything. (close #197, close #198) 0018f1e
- Tidy sources. 1437f79
- Drop RecursiveASTVisitor, fixup templates. (closes #200) 2becf2d
- SymbolID is a distinct type. eb76362
- Silence unused field warning in JavadocVisitor and SingleFileBuilder. fbef688
- specializations for some metadata types. ebdcf07
- SymbolID rewrite. 7913824
- Test for static data member defined out-of-line as constexpr. 8f34682
- Developer notes. 0d3e0c7
- Add ADT directory. 6829d3d
- Add Optional. (fix #214, close #215) 8265ca8
- Rename RefWithAccess to MemberRef. 87e4339
- Function parameters use Param. feb8284
- RecordInfo::Bases should not be merged twice. 78ec84f
- Replace use of deprecated llvm::Optional with std::optional. 55c1a94
- Non-static data members have SymbolIDs and are part of RecordScope. d308d29
- TypeInfo inherits from Reference, VarInfo does not. d5f5aa6
- ASTVisitor refactor. ceb5fd3
- Initial support for variable and alias templates. cc0617c
- Rename TemplateParamKind to TParamKind, move TParam and TArg to Template.hpp. f9aa994
- Add SpecializationInfo. 91a8c3c
- Change comments on TemplateInfo public interface to javadocs. d2b0b7d
- Ensure required headers are included. (fixes #219) 648fa27
- Optional enhancements. 6c0fcbc
- Use Optionalstd::string over std::optionalstd::string. cfbd0bb
- Parse fields with Traverse(FieldDecl*). 0c92edd
- Fix variable template specializations, misc ASTVisitor work. 710aa69
- More ASTVisitor work. 50dc807
- Tidy up javadoc parsing files. 8f26655
- Javadocs are unique pointers. edc9af3
- Improve template argument parsing. 6c5170c
- Switch std::formatter specializations to fmt::formatter. 5ea02aa
- Add with-anonymous config option. 6e7bea1
- Assorted work. (closes #226) cbb74a9
- Make MemberRef constructible for compilers lacking c++20 support. 478a3fd
- Disable reference.xml/reference.adoc generation. 5a5f124
- Fix gcc?. f1b8a92
- Add out of line definition test. af1a9cf
- Remove --adoc test option. 8a52d62
- Skip parsing function bodies. 175a4d2
- Use SemaConsumer instead of ASTConsumer. b79a2a3
- Fix gcc warnings. 194dcca
- Replace TagTypeKind with RecordKeyKind. e416156
- Public interface does not use SmallString or SmallVector. 8fe719a
- Change InfoType to InfoKind. e9015a2
- Move Corpus::build to CorpusImpl::build. 616773e
- Skip invalid Decls. dc17c5e
- Check __cplusplus in Platform.hpp. 8efad70
- Remove unused source_location include. cceb1c5
- Adjust command line arguments prior to running tool. f64f698
- Skip unknown input files in compile_commands. 452436b
- Enable reference.xml/reference.adoc generation tests. 9ce362e
- Set source-root in mrdox.yml. c4e7094
- Fix unused variable warning. 7eff47c
- Fix maybe uninitialized warnings. 8205c99
- Fix unintended fallthrough in javadoc post-processing. cbf2747
- Don't enter an infinite loop. 1baa2ba
- Ignore duplicate compile commands for same file. 46581c0
- Fix Error constructor for formatted strings. e1d8c7f
- Parent namespaces are extracted last. c5bd179
- Explicit specializations of implicit instantiations. 1810e93
- Update tests. 1481de8
- Do not traverse implicit instantiations. 022cce3
- Call Decl::setImplicit for implicit instantiations of variables and functions. 2aad9fc
- Support explicit specializations of members of implicit instantiations within non-template classes. 49750ba
- Update schema. aac2bc0 fa31a0e 9d909e3
- Cleanup. e427070 d821280
- Add IsInfo and InfoKind checking functions. (close #276) 5d8636b
- Remove InfoKind::Default. bcf02e8
- Add MRDOX_ASSERT and MRDOX_UNREACHABLE. 818af05
- Add toString overload for AccessKind. 218e8e6
- Rename BaseInfo::access to BaseInfo::Access. ae5342e
- Postprocess Javadocs upon insertion. ed8e91f
- Replace AnyList with std::vector<std::unique_ptr>. 5c9e7d2
- Javadocs are not extracted for namespaces. 35350b3
- Strike JAVADOC_LIST_KIND. 7eca493
- Strike doc::Kind::block. a9f6169
- Revert "build: extend fmt integration options".17 17ee2ef
- Asciidoc generator refactor. 2bbb606
- Update README.adoc.18 80596cd
- Add library requirements to requirements section. (close #375) 0a698ff
-
Define JS proxy types for functions to allow complete interoperability between C++ and JS functions.When accessing a JS function in C++, the dom::Function contains a reference to the Scope variable with the JS function. The JS execution context will evaluate this function in JS and convert the result back to dom::Value.When accessing a C++ function in JS, the JS object will contain a hidden buffer to store a copy of the original dom::Function. When JS executes the function, it will get the original dom::Function from this hidden buffer, convert all arguments to dom::Value, call the original dom::Function, and push the dom::Value result to the stack. When the function is garbage collected, the object finalization callback destroys the function stored in the buffer. β©
-
This commit uses proxy objects to offer complete support for JavaScript helpers that return reference types. Previously, JavaScript reference types returned by these functions were deep-copied or not handled at all. Now, proxy objects in both directions are used while helpers create a scope that's kept alive as long as necessary by the Handlebars engine.As the objects don't need to be deep copied, this change improves performance and allows objects with circular references, which are common in MrDocs. Additionally, JavaScript helpers receive a proxy object equivalent to the handlebars
options
object, and helper function registration was also simplified and improved to remove redundant code.This commit provides new test cases to validate the current code without counting on MrDocs. β© -
The unnecessary trim_spaces(expression) was removed from Handlebars.cpp as it's not required in the current context and could potentially remove intentional characters from literal string. β©
-
This PR refactors the generators to use the C++ implementation of handlebars. Javascript helpers are loaded with duktape. β©
-
The previously had to still refer to the mrdox repository. β©
-
The old instructions referred to 731264b0 version of LLVM. The binaries on the website provided for users were updated to 29b20829 and the install instructions were updated to reflect the preset examples. β©
-
LLVM unfortunately defines global compile flags that are inherited by all other targets in the project, including fetched dependencies. Warning flags, with are functionally unnecessary, can cause conflicts with other targets. β©
-
Variable-based paths make results more replicable by users. This commit also sets the preset version to 3, as it's the highest version supported by the build process, which relies on CMake 3.22 from Ubuntu 22.04. β©
-
This commit changes the Duktape setup to use the CMake find_package command to locate and configure the Duktape library. Direct access to source files through DUKTAPE_SOURCE_ROOT has been removed in order to respond to Duktape providing its own CMake integration scripts via vcpkg.Additionally, installation instructions for Duktape and references to DUKTAPE_SOURCE_ROOT have been removed from relevant files and examples. Instead, the Duktape dependency is now managed by vcpkg in CI. This simplifies the setup of the development environment. β©
-
This change integrates the test suite library developed for handlebars with the test suite library from boost.url that is being used for other tests.With this integration, Handlebars tests are listed among any other tests in the library.The features used for handlebars, such as the expression decomposer and the diff algorithm for golden master tests, have been integrated into the test library from Boost.URL. β©
-
Implements unit tests for the Javascript bindings based on duktape. All errors found are fixed in the same commit.This commit also includes the complete implementation for classes that were only placeholders, including conversions to dom::Value and related wrapper classes for objects, arrays, and functions.The changes are only related to bindings from Javascript to C++. Bindings from C++ to Javascript will be addressed in a later commit. β©
-
Removed handlebars since the project has completely transitioned to C++ handlebars. β©
-
That makes it work with preinstalled clang libs on fedora 37. β©
-
Always canonicalize on the ID. This is simple,fast, and always correct. We do it always, whenthe corpus is built. β©
-
And a big refactor of ASTVisitor. β©
-
Close 132, close 136. β©
-
Add
--config Release
to the build command. β©