add new %begin directive for inserting code at top of wrapper file

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11133 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2009-02-20 07:52:24 +00:00
commit efa11dee52
31 changed files with 334 additions and 162 deletions

View file

@ -206,6 +206,7 @@ CPP_TEST_CASES += \
inherit_target_language \
inherit_void_arg \
inline_initializer \
insert_directive \
keyword_rename \
kind \
langobj \

View file

@ -0,0 +1,38 @@
%module insert_directive
// check %insert and the order of each insert section is correct
%begin %{
// %inserted code %begin
int inserted_begin(int i) { return i; }
%}
%runtime %{
// %inserted code %runtime
int inserted_runtime(int i) { return inserted_begin(i); }
%}
%{
// %inserted code %header
int inserted_header1(int i) { return inserted_runtime(i); }
%}
%header %{
// %inserted code %header
int inserted_header2(int i) { return inserted_header1(i); }
%}
%{
// %inserted code %header
int inserted_header3(int i) { return inserted_header2(i); }
%}
%wrapper %{
// %inserted code %wrapper
int inserted_wrapper(int i) { return inserted_header3(i); }
%}
%init %{
// %inserted code %init
int inserted_init_value = inserted_wrapper(0);
%}