summaryrefslogtreecommitdiff
path: root/src/bin/eolian_mono/eolian/mono/helpers.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/helpers.hh')
-rw-r--r--src/bin/eolian_mono/eolian/mono/helpers.hh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/helpers.hh b/src/bin/eolian_mono/eolian/mono/helpers.hh
index 87a1e9d..a4bb169 100644
--- a/src/bin/eolian_mono/eolian/mono/helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/helpers.hh
@@ -102,8 +102,10 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfa
102 102
103// Returns the set of interfaces implemented by this type that haven't been implemented 103// Returns the set of interfaces implemented by this type that haven't been implemented
104// by a regular parent class. 104// by a regular parent class.
105std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_implemented_interfaces(attributes::klass_def const& cls) 105template<typename Context>
106std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_implemented_interfaces(attributes::klass_def const& cls, Context context)
106{ 107{
108 auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
107 std::set<attributes::klass_name, attributes::compare_klass_name_by_name> implemented_interfaces; 109 std::set<attributes::klass_name, attributes::compare_klass_name_by_name> implemented_interfaces;
108 std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfaces; 110 std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfaces;
109 111
@@ -114,6 +116,9 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_imp
114 attributes::klass_def c(get_klass(klass, cls.unit), cls.unit); 116 attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
115 for(auto&& inherit : c.immediate_inherits) 117 for(auto&& inherit : c.immediate_inherits)
116 { 118 {
119 if (inherit.is_beta && !options.want_beta)
120 continue;
121
117 switch(inherit.type) 122 switch(inherit.type)
118 { 123 {
119 case attributes::class_type::mixin: 124 case attributes::class_type::mixin: