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

daisytuner / sdfglib / 18737129868

22 Oct 2025 07:37PM UTC coverage: 61.468% (-0.3%) from 61.746%
18737129868

push

github

web-flow
Merge pull request #296 from daisytuner/fix-external-prefix

Fixes for building OpenFOAM with DOCC

9 of 19 new or added lines in 6 files covered. (47.37%)

44 existing lines in 4 files now uncovered.

9704 of 15787 relevant lines covered (61.47%)

100.86 hits per line

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

79.55
/src/codegen/dispatchers/while_dispatcher.cpp
1
#include "sdfg/codegen/dispatchers/while_dispatcher.h"
2

3
namespace sdfg {
4
namespace codegen {
5

6
WhileDispatcher::WhileDispatcher(
2✔
7
    LanguageExtension& language_extension,
8
    StructuredSDFG& sdfg,
9
    analysis::AnalysisManager& analysis_manager,
10
    structured_control_flow::While& node,
11
    InstrumentationPlan& instrumentation_plan
12
)
13
    : NodeDispatcher(language_extension, sdfg, analysis_manager, node, instrumentation_plan), node_(node) {
2✔
14

15
      };
2✔
16

17
void WhileDispatcher::dispatch_node(
1✔
18
    PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
19
) {
20
    main_stream << "while (1)" << std::endl;
1✔
21
    main_stream << "{" << std::endl;
1✔
22

23
    main_stream.setIndent(main_stream.indent() + 4);
1✔
24
    SequenceDispatcher dispatcher(language_extension_, sdfg_, analysis_manager_, node_.root(), instrumentation_plan_);
1✔
25
    dispatcher.dispatch(main_stream, globals_stream, library_snippet_factory);
1✔
26
    main_stream.setIndent(main_stream.indent() - 4);
1✔
27

28
    main_stream << "}" << std::endl;
1✔
29
};
1✔
30

31
BreakDispatcher::BreakDispatcher(
2✔
32
    LanguageExtension& language_extension,
33
    StructuredSDFG& sdfg,
34
    analysis::AnalysisManager& analysis_manager,
35
    structured_control_flow::Break& node,
36
    InstrumentationPlan& instrumentation_plan
37
)
38
    : NodeDispatcher(language_extension, sdfg, analysis_manager, node, instrumentation_plan), node_(node) {
2✔
39

40
      };
2✔
41

42
void BreakDispatcher::dispatch_node(
1✔
43
    PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
44
) {
45
    main_stream << "break;" << std::endl;
1✔
46
};
1✔
47

48
ContinueDispatcher::ContinueDispatcher(
2✔
49
    LanguageExtension& language_extension,
50
    StructuredSDFG& sdfg,
51
    analysis::AnalysisManager& analysis_manager,
52
    structured_control_flow::Continue& node,
53
    InstrumentationPlan& instrumentation_plan
54
)
55
    : NodeDispatcher(language_extension, sdfg, analysis_manager, node, instrumentation_plan), node_(node) {
2✔
56

57
      };
2✔
58

59
void ContinueDispatcher::dispatch_node(
1✔
60
    PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
61
) {
62
    main_stream << "continue;" << std::endl;
1✔
63
};
1✔
64

65
ReturnDispatcher::ReturnDispatcher(
2✔
66
    LanguageExtension& language_extension,
67
    StructuredSDFG& sdfg,
68
    analysis::AnalysisManager& analysis_manager,
69
    structured_control_flow::Return& node,
70
    InstrumentationPlan& instrumentation_plan
71
)
72
    : NodeDispatcher(language_extension, sdfg, analysis_manager, node, instrumentation_plan), node_(node) {
2✔
73

74
      };
2✔
75

76
void ReturnDispatcher::dispatch_node(
1✔
77
    PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
78
) {
79
    if (node_.unreachable()) {
1✔
80
        main_stream << "/* unreachable return */" << std::endl;
×
81
    } else if (node_.is_data()) {
1✔
82
        std::string return_str = node_.data();
1✔
83
        if (sdfg_.is_external(node_.data())) {
1✔
NEW
84
            return_str = "&" + this->language_extension_.external_prefix() + return_str;
×
85
        }
×
86
        main_stream << "return " << return_str << ";" << std::endl;
1✔
87
    } else if (node_.is_constant()) {
1✔
88
        if (symbolic::is_nullptr(symbolic::symbol(node_.data()))) {
×
89
            main_stream << "return " << this->language_extension_.expression(symbolic::symbol(node_.data())) << ";"
×
90
                        << std::endl;
×
91
        } else {
×
92
            main_stream << "return " << node_.data() << ";" << std::endl;
×
93
        }
94
    }
×
95
};
1✔
96

97
} // namespace codegen
98
} // 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