Merge branch 'ZackerySpytz-OCaml-fix-member-var-access'

* ZackerySpytz-OCaml-fix-member-var-access:
  OCaml's classHandler() requires name, not sym:name.
  [OCaml] Fix member var getters and setters
This commit is contained in:
William S Fulton 2019-01-11 18:42:19 +00:00
commit b64d685d5f
6 changed files with 71 additions and 26 deletions

View file

@ -4,6 +4,7 @@
LANGUAGE = ocaml
OCAMLC = @OCAMLC@
OCAMLPP = -pp "camlp4o ./swigp4.cmo"
VARIANT = _static
SCRIPTSUFFIX = _runme.ml
@ -53,7 +54,7 @@ run_testcase = \
if [ $(srcdir) != . ]; then \
cp $(srcdir)/$(ml_runme) $(ml_runme); \
fi ; \
$(COMPILETOOL) $(OCAMLC) -c $(ml_runme) && \
$(COMPILETOOL) $(OCAMLC) $(OCAMLPP) -c $(ml_runme) && \
if [ -f $(top_srcdir)/Examples/test-suite/$*.list ]; then \
$(COMPILETOOL) $(OCAMLC) swig.cmo -custom -g -cc '$(CXX)' -o runme `cat $(top_srcdir)/Examples/test-suite/$(*).list | sed -e 's/\(.*\)/\1_wrap.o \1.cmo/g'`&& $(RUNTOOL) ./runme; \
else \

View file

@ -0,0 +1,23 @@
open Swig
open Li_std_vector
let _ =
let iv = new_IntVector '() in
assert (iv -> "empty" () as bool);
assert ((iv -> "size" () as int) = 0);
ignore (iv -> "push_back" (123));
assert ((iv -> "empty" () as bool) = false);
assert ((iv -> "size" () as int) = 1);
assert ((iv -> "[]" (0) as int) = 123);
ignore (iv -> "clear" ());
assert (iv -> "empty" () as bool);
assert ((iv -> "size" () as int) = 0);
;;
let _ =
let rv = new_RealVector '() in
ignore (rv -> "push_back" (100.));
ignore (rv -> "push_back" (200.));
assert ((rv -> "[]" (0) as float) = 100.);
assert ((rv -> "[]" (1) as float) = 200.);
;;

View file

@ -0,0 +1,11 @@
open Swig
open Struct_value
let b = new_Bar (C_void)
let a = (invoke b) "[a]" (C_void)
let _ = (invoke a) "[x]" (C_int 3)
let _ = assert((invoke a) "[x]" (C_void) = C_int 3)
let bb = (invoke b) "[b]" (C_void)
let _ = (invoke bb) "[x]" (C_int 3)
let _ = assert((invoke bb) "[x]" (C_void) = C_int 3)