• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / sdfglib / 19162352523

07 Nov 2025 08:16AM UTC coverage: 61.556% (-0.4%) from 61.911%
19162352523

push

github

web-flow
rewrite of arg captures to work on a scope level (#319)

* rewrite of arg captures to work on a scope level

* adding first unit tests for arg capturing

* Fix scoped arg captures

* Fix debug output

* Only write capture fila name to index

* Switch to element-id based capture storage

* Reenable debug prints

* Fix serialization deserialization of arg capture index

* Use fake node ids in rtl test

* Add debug output for capture file creation

* Boost coverage

---------

Co-authored-by: Nora Hagmeyer <nora.hagmeyer@daisytuner.com>

171 of 320 new or added lines in 18 files covered. (53.44%)

17 existing lines in 5 files now uncovered.

10265 of 16676 relevant lines covered (61.56%)

100.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

51.85
/src/codegen/dispatchers/node_dispatcher.cpp
1
#include "sdfg/codegen/dispatchers/node_dispatcher.h"
2
#include "sdfg/codegen/instrumentation/instrumentation_info.h"
3

4
namespace sdfg {
5
namespace codegen {
6

7
NodeDispatcher::NodeDispatcher(
55✔
8
    LanguageExtension& language_extension,
9
    StructuredSDFG& sdfg,
10
    analysis::AnalysisManager& analysis_manager,
11
    structured_control_flow::ControlFlowNode& node,
12
    InstrumentationPlan& instrumentation_plan,
13
    ArgCapturePlan& arg_capture_plan
14
)
15
    : node_(node), language_extension_(language_extension), sdfg_(sdfg), analysis_manager_(analysis_manager),
110✔
16
      instrumentation_plan_(instrumentation_plan), arg_capture_plan_(arg_capture_plan) {};
165✔
17

18
bool NodeDispatcher::begin_node(PrettyPrinter& stream) { return false; };
30✔
19

20
void NodeDispatcher::end_node(PrettyPrinter& stream, bool applied) {};
30✔
21

22
InstrumentationInfo NodeDispatcher::instrumentation_info() const {
×
23
    return InstrumentationInfo(ElementType_Unknown, TargetType_SEQUENTIAL, -1, node_.element_id(), {});
×
24
};
×
25

26
void NodeDispatcher::
27
    dispatch(PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory) {
30✔
28
    bool applied = begin_node(main_stream);
30✔
29

30
    if (this->arg_capture_plan_.should_instrument(node_)) {
30✔
NEW
31
        this->arg_capture_plan_.begin_instrumentation(node_, main_stream, language_extension_);
×
NEW
32
    }
×
33

34
    if (this->instrumentation_plan_.should_instrument(node_)) {
30✔
35
        auto instrumentation_info = this->instrumentation_info();
×
36
        this->instrumentation_plan_.begin_instrumentation(node_, main_stream, language_extension_, instrumentation_info);
×
37
    }
×
38

39
    dispatch_node(main_stream, globals_stream, library_snippet_factory);
30✔
40

41
    if (this->instrumentation_plan_.should_instrument(node_)) {
30✔
42
        auto instrumentation_info = this->instrumentation_info();
×
43
        this->instrumentation_plan_.end_instrumentation(node_, main_stream, language_extension_, instrumentation_info);
×
44
    }
×
45

46
    if (this->arg_capture_plan_.should_instrument(node_)) {
30✔
NEW
47
        this->arg_capture_plan_.end_instrumentation(node_, main_stream, language_extension_);
×
NEW
48
    }
×
49

50
    end_node(main_stream, applied);
30✔
51
};
30✔
52

53
} // namespace codegen
54
} // namespace sdfg
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc