From 636d6acc7adf8bf7169d38833340161dc42d3484 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 14 Jan 2017 22:13:49 +0000 Subject: Bindings: Fix handling of forward declarations It is not appropriate to decorate each forward declaration with the SIP attribute /External/. That is only needed for forward declarations of types which are defined in a different module. Local forward declarations can be omitted from the sip code. In sip code, a forward declaration followed later by a full class definition is an error. Omit forward declarations unless they are decorated with the external attribute. Introduce a rules database for consumers to decorate them with the attribute as required. --- tests/GenerateSipBindings/external_lib.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/GenerateSipBindings/external_lib.h (limited to 'tests/GenerateSipBindings/external_lib.h') diff --git a/tests/GenerateSipBindings/external_lib.h b/tests/GenerateSipBindings/external_lib.h new file mode 100644 index 00000000..f5ea38b2 --- /dev/null +++ b/tests/GenerateSipBindings/external_lib.h @@ -0,0 +1,12 @@ + +#pragma once + +class ExternalFwdDecl +{ +public: + ExternalFwdDecl(int value); + + int getValue() const; +private: + int m_value; +}; -- cgit v1.2.1