classdef constructor no longer works on default branch

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

classdef constructor no longer works on default branch

Mike Miller-4
jwe,

Due to a very recent change, 3bb0a937c071, I am no longer able to invoke
a classdef class constructor defined in a @foo/foo.m function file. If
@foo/foo.m defines an old-style class, it works. If I get rid of the
@foo directory, it works.

I've bisected to this revision, and I would guess that it has to do with
the new checks in place that call is_class_constructor and
is_class_method? By the way, your commit comment doesn't describe the
changes to symtab.cc at all.

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: classdef constructor no longer works on default branch

John W. Eaton
Administrator
On 06/20/2017 03:35 PM, Mike Miller wrote:

> jwe,
>
> Due to a very recent change, 3bb0a937c071, I am no longer able to invoke
> a classdef class constructor defined in a @foo/foo.m function file. If
> @foo/foo.m defines an old-style class, it works. If I get rid of the
> @foo directory, it works.
>
> I've bisected to this revision, and I would guess that it has to do with
> the new checks in place that call is_class_constructor and
> is_class_method?

Yeah, I'm working on it.  At that point, load_fcn_from_file can return
an octave_classdef_meta object, not just an actual function.  You might
think, as I did, that it would return the constructor directly...

 > By the way, your commit comment doesn't describe the
> changes to symtab.cc at all.

Sorry.

jwe



Reply | Threaded
Open this post in threaded view
|

Re: classdef constructor no longer works on default branch

Mike Miller-4
On Tue, Jun 20, 2017 at 17:25:20 -0400, John W. Eaton wrote:
> Yeah, I'm working on it.  At that point, load_fcn_from_file can return an
> octave_classdef_meta object, not just an actual function.  You might think,
> as I did, that it would return the constructor directly...

Thank you, it works again for me now.

--
mike