object-introspection/oi
Alastair Robertson bbc4cb822b Printer: Make prefix() [[nodiscard]] and fix bug printing Dummy nodes
Dummy and DummyAllocator nodes had been changed to use NodeIds, but
were still printed out in full when visited for a second time.

[[nodiscard]] prevents future bugs of this type by turning them into
compilation errors.

Example of the now-fixed bug:
    [1]  Container: std::map<int32_t, int32_t, DummySizedOperator<0, 0, 8>, std::allocator<std::pair<int32_t const, int32_t>>>
            Param
              Primitive: int32_t
            Param
              Primitive: int32_t
            Param
    [2]       Dummy [less<int>]
            Param
              ...
    [3]   Container: std::map<int32_t, int32_t, DummySizedOperator<0, 0, 8>, std::allocator<std::pair<int32_t const, int32_t>>>
            Param
              Primitive: int32_t
            Param
              Primitive: int32_t
            Param
              [2]
    Dummy [less<int>]
            Param
              ...

With this patch, the second "Dummy" line will not be printed.
2023-09-21 17:01:35 +01:00
..
exporters json: fix bug where a past the end iterator would be dereferenced (#341) 2023-09-12 10:23:43 +01:00
support tomlplusplus: compile header once 2023-05-30 16:43:10 +02:00
type_graph Printer: Make prefix() [[nodiscard]] and fix bug printing Dummy nodes 2023-09-21 17:01:35 +01:00
types/test move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
CMakeLists.txt oil v2 2023-08-23 15:59:53 +01:00
CodeGen.cpp codegen: generate enums as enum class 2023-09-20 18:13:45 +01:00
CodeGen.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
ContainerInfo.cpp oil v2 2023-08-23 15:59:53 +01:00
ContainerInfo.h oil v2 2023-08-23 15:59:53 +01:00
ContainerTypeEnum.h Implement Container V2 for std::unordered_multiset 2023-08-30 18:45:00 +02:00
Descs.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Descs.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
DrgnUtils.cpp ensure oi_name is never a nullptr (#165) 2023-06-12 16:47:34 -07:00
DrgnUtils.h DrgnUtils: Add isSizeComplete and underlyingType helper functions 2023-05-24 15:57:18 +01:00
EnumBitset.h Flattener: Attempt to take params from parent allocator in case of bad DWARF 2023-06-27 14:06:02 +01:00
Features.cpp oil v2 2023-08-23 15:59:53 +01:00
Features.h oil v2 2023-08-23 15:59:53 +01:00
FuncGen.cpp oil: change std::stack reference to a std::function (#345) 2023-09-14 16:57:45 +01:00
FuncGen.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
Headers.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
IntrospectionResult.cpp oil: change std::stack reference to a std::function (#345) 2023-09-14 16:57:45 +01:00
Metrics.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
Metrics.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICache.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICache.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICodeGen.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
OICodeGen.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICompiler.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
OICompiler.h Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
OID.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIDebugger.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIDebugger.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIGenerator.cpp oilgen: avoid demangling empty symbols 2023-09-19 20:27:10 +01:00
OIGenerator.h Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
OILexer.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OILexer.l move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OILibrary.cpp oil v2 2023-08-23 15:59:53 +01:00
OILibraryImpl.cpp oil: fix verbosity level in jit oil 2023-08-24 17:39:12 +01:00
OILibraryImpl.h oil v2 2023-08-23 15:59:53 +01:00
OIOpts.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
OIParser.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
OIParser.yy move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OITraceCode.cpp name contained types properly in treebuilder v2 2023-08-25 16:25:14 +01:00
OIUtils.cpp features: centralise requirement logic 2023-08-09 15:23:12 +01:00
OIUtils.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
PaddingHunter.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
PaddingHunter.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Serialize.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Serialize.h clean up common.h 2023-06-09 13:15:17 +02:00
SymbolService.cpp oil v2 2023-08-23 15:59:53 +01:00
SymbolService.h oil v2 2023-08-23 15:59:53 +01:00
Syscall.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
TimeUtils.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
TrapInfo.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
TreeBuilder.cpp Implement Container V2 for std::unordered_multiset 2023-08-30 18:45:00 +02:00
TreeBuilder.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
TypeHierarchy.h clean up common.h 2023-06-09 13:15:17 +02:00
X86InstDefs.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00