Mercurial > hg > octave-nkf
diff scripts/general/fieldnames.m @ 15816:59b6c6aee042
Don't box return values from javaObject. Always return a Java object.
* libinterp/octave-value/ov-java.cc(do_javaObject): Don't call box()
on newly created Java object.
* scripts/general/fieldnames.m: Work-around bug with java.lang.String
objects by calling getFields with class name rather than object.
* scripts/general/methods.m: Work-around bug with java.lang.String
objects by calling getMethods with class name rather than object.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 18 Dec 2012 11:54:57 -0800 |
parents | 921912c92102 |
children | 1de4ec2a856d |
line wrap: on
line diff
--- a/scripts/general/fieldnames.m +++ b/scripts/general/fieldnames.m @@ -46,6 +46,11 @@ ## Call internal C++ function for structs or Octave objects names = __fieldnames__ (obj); elseif (isjava (obj) || ischar (obj)) + ## FIXME: Function prototype that excepts java obj exists, but doesn't + ## work if obj is java.lang.String. Convert obj to classname. + if (! ischar (obj)) + obj = class (obj); + endif names_str = javaMethod ("getFields", "org.octave.ClassHelper", obj); names = strsplit (names_str, ';'); else