Cthulhu  0.2.10
Cthulhu compiler collection
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
info.hpp
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-3.0-only
2 #pragma once
3 
5 
6 typedef struct module_info_t module_info_t;
7 typedef struct frontend_t frontend_t;
8 typedef struct language_t language_t;
9 typedef struct plugin_t plugin_t;
10 typedef struct target_t target_t;
11 
12 namespace ed
13 {
15  {
16  const module_info_t& info;
17 
18  protected:
19  void draw_info();
20 
21  public:
22  ModuleInfoPanel(const module_info_t& info);
23  };
24 
25  class FrontendInfoPanel final : public ModuleInfoPanel
26  {
27  const frontend_t& frontend;
28 
29  // IEditorPanel
30  void draw_content() override;
31  public:
32  FrontendInfoPanel(const frontend_t& info);
33  };
34 
35  class LanguageInfoPanel final : public ModuleInfoPanel
36  {
37  const language_t& lang;
38 
39  std::string builtin;
40  std::string extensions;
41 
42  // IEditorPanel
43  void draw_content() override;
44  public:
45  LanguageInfoPanel(const language_t& lang);
46  };
47 
48  class PluginInfoPanel final : public ModuleInfoPanel
49  {
50  const plugin_t& plugin;
51 
52  // IEditorPanel
53  void draw_content() override;
54  public:
55  PluginInfoPanel(const plugin_t& plugin);
56  };
57 
58  class TargetInfoPanel final : public ModuleInfoPanel
59  {
60  const target_t& target;
61 
62  // IEditorPanel
63  void draw_content() override;
64  public:
65  TargetInfoPanel(const target_t& target);
66  };
67 }
FrontendInfoPanel(const frontend_t &info)
Definition: info.cpp:128
LanguageInfoPanel(const language_t &lang)
Definition: info.cpp:141
ModuleInfoPanel(const module_info_t &info)
Definition: info.cpp:109
void draw_info()
Definition: info.cpp:114
PluginInfoPanel(const plugin_t &plugin)
Definition: info.cpp:305
TargetInfoPanel(const target_t &target)
Definition: info.cpp:328
Definition: compile.hpp:13
the frontend running the mediator
Definition: broker.h:251
a language driver support capabilities
Definition: broker.h:143
common information about anything the broker supports
Definition: broker.h:99
plugin support capabilities
Definition: broker.h:202
a codegen target backend
Definition: broker.h:232