summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-11-28 21:32:45 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-05 15:01:45 +0900
commit2b0805ddce66903c73c82047772f695b70c3b810 (patch)
tree08cd3fe7f63032fa383b358fbb0642a4aa044cc2
parent052d9dda448abe4e12c3f4d1a234eb6896f6487b (diff)
downloadefl-2b0805ddce66903c73c82047772f695b70c3b810.tar.gz
cxx: Define types after forward declarations
This is useful if the types refer to the current class.
-rw-r--r--src/bin/eolian_cxx/eolian_cxx.cc4
-rw-r--r--src/lib/edje/efl_canvas_layout_signal.eo2
-rw-r--r--src/lib/eolian_cxx/grammar/header.hpp2
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 f3f3c36610..3720aa9251 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::string, std::set<std::string>&, std::set<std::string>&
- , std::string const&
, std::vector<efl::eolian::grammar::attributes::klass_def>&
, std::set<efl::eolian::grammar::attributes::klass_def> const&
+ , std::string const&
, std::vector<efl::eolian::grammar::attributes::klass_def>&
, std::vector<efl::eolian::grammar::attributes::klass_def>&
> 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 67e3f3734d..669c7e4ed9 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 4f1df9233f..29435404dd 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 <Eina.hh>\n"
"#include <Eo.hh>\n"
<< *header_include_directive // sequence<string>
- << string // extra header <string>
<< *class_declaration // sequence<class> | class
<< *class_forward_declaration // sequence<class> | class
+ << string // extra header <string>
<< "\nnamespace eo_cxx {\n"
<< *base_class_definition // sequence<class> | class
<< "}\n"