object-introspection/oi/type_graph
Alastair Robertson 8bf7dbae9f Type Graph: Replace MutationTracker with the more general ResultTracker
MutationTracker could only store Type nodes, while ResultTracker is
templated on the result type so can store anything.

Template the Visitor base class on the return type of visit() functions.

This sets us up for allowing visitors to return different results from
their visit() functions in the future.

This will be used in a future commit introducing DrgnExporter, where we
cache drgn_type* results while walking the type graph.
2023-12-14 13:43:19 +00:00
..
AddChildren.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
AddChildren.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
AddPadding.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
AddPadding.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
AlignmentCalc.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
AlignmentCalc.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
CMakeLists.txt TypeGraph: Add IdentifyContainers mutator pass 2023-11-06 11:28:00 +00:00
DrgnParser.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
DrgnParser.h TypeGraph: Stop identifying containers in DrgnParser 2023-11-06 11:45:57 +00:00
EnforceCompatibility.cpp Remove Primitive::Kind::Incomplete 2023-10-04 11:23:28 -06:00
EnforceCompatibility.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
Flattener.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
Flattener.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
IdentifyContainers.cpp Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
IdentifyContainers.h Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
KeyCapture.cpp add range-v3 library 2023-11-13 18:42:04 +00:00
KeyCapture.h TypeGraph: Add KeyCapture pass 2023-09-28 19:42:49 -07:00
NameGen.cpp TypeGraph: Add CaptureKeys node 2023-09-28 19:42:49 -07:00
NameGen.h TypeGraph: Add CaptureKeys node 2023-09-28 19:42:49 -07:00
NodeTracker.h Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
PassManager.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
PassManager.h TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
Printer.cpp Remove Primitive::Kind::Incomplete 2023-10-04 11:23:28 -06:00
Printer.h Maintain type/name of Incomplete type 2023-10-04 11:23:28 -06:00
Prune.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
Prune.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
RemoveMembers.cpp CodeGen: Remove Incomplete members from Classes 2023-12-12 18:50:15 +00:00
RemoveMembers.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
RemoveTopLevelPointer.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
RemoveTopLevelPointer.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
TopoSorter.cpp TopoSorter: Only allow certain params to be incomplete 2023-10-25 17:01:44 +01:00
TopoSorter.h TypeGraph: Add CaptureKeys node 2023-09-28 19:42:49 -07:00
TypeGraph.cpp Remove Primitive::Kind::Incomplete 2023-10-04 11:23:28 -06:00
TypeGraph.h TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
TypeIdentifier.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
TypeIdentifier.h name contained types properly in treebuilder v2 2023-08-25 16:25:14 +01:00
Types.cpp Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
Types.h Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
Visitor.h Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00