/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/java/java_director_ptrclass_runme.java
45 строк
1 KB
Lindley French
Enable variable and typemap substitution in typemap kwargs, and a test that verifies this works for directorin:descriptor.
22 июл 2015, 21:31
22 июл 2015, 21:31
94f6838
Код
Авторство
О чём код?
import java_director_ptrclass.*; public class java_director_ptrclass_runme { static { try { System.loadLibrary("java_director_ptrclass"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); System.exit(1); } } public static void main(String argv[]) { Foo f = new Foo(); Foo ft = new TouchingFoo(); Baz b = new Baz(); if (b.GetTouched()) { throw new RuntimeException ( "Baz should not have been touched yet." ); } Baz b2 = f.FinalMaybeTouch(b); if (b2.GetTouched() || b.GetTouched()) { throw new RuntimeException ( "Baz should not have been touched by Foo." ); } Baz b3 = ft.FinalMaybeTouch(b); if (!b.GetTouched() || !b3.GetTouched() || !b2.GetTouched()) { throw new RuntimeException ( "Baz was not touched by TouchingFoo. This" + " might mean the directorin typemap is not" + " parsing the typemap(jstype, Bar) in its" + " 'descriptor' kwarg correctly." ); } } } class TouchingFoo extends Foo { @Override public Baz MaybeTouch(Baz baz_ptr) { baz_ptr.SetTouched(); return baz_ptr; } }