From 2b0805ddce66903c73c82047772f695b70c3b810 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 28 Nov 2017 21:32:45 +0900 Subject: [PATCH] cxx: Define types after forward declarations This is useful if the types refer to the current class. --- src/bin/eolian_cxx/eolian_cxx.cc | 4 ++-- src/lib/edje/efl_canvas_layout_signal.eo | 2 -- src/lib/eolian_cxx/grammar/header.hpp | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc index f3f3c36..3720aa9 100644 --- a/src/bin/eolian_cxx/eolian_cxx.cc +++ b/src/bin/eolian_cxx/eolian_cxx.cc @@ -161,13 +161,13 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, , efl::eolian::grammar::context_null{}); std::tuple&, std::set& - , std::string const& , std::vector& , std::set const& + , std::string const& , std::vector& , std::vector& > attributes - {guard_name, c_headers, cpp_headers, cpp_types_header, klasses, forward_klasses, klasses, klasses}; + {guard_name, c_headers, cpp_headers, klasses, forward_klasses, cpp_types_header, klasses, klasses}; if(opts.out_file == "-") { diff --git a/src/lib/edje/efl_canvas_layout_signal.eo b/src/lib/edje/efl_canvas_layout_signal.eo index 67e3f37..669c7e4 100644 --- a/src/lib/edje/efl_canvas_layout_signal.eo +++ b/src/lib/edje/efl_canvas_layout_signal.eo @@ -8,8 +8,6 @@ match that. */ -//type Edje.Signal_Cb: __undefined_type; [[Edje signal callback type]] - type Efl.Signal_Cb: __undefined_type; [[Signal callback.]] interface Efl.Canvas.Layout_Signal diff --git a/src/lib/eolian_cxx/grammar/header.hpp b/src/lib/eolian_cxx/grammar/header.hpp index 4f1df92..2943540 100644 --- a/src/lib/eolian_cxx/grammar/header.hpp +++ b/src/lib/eolian_cxx/grammar/header.hpp @@ -24,9 +24,9 @@ auto class_header = << "#include \n" "#include \n" << *header_include_directive // sequence - << string // extra header << *class_declaration // sequence | class << *class_forward_declaration // sequence | class + << string // extra header << "\nnamespace eo_cxx {\n" << *base_class_definition // sequence | class << "}\n" -- 2.7.4