Class definition with slot template is broken

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

Class definition with slot template is broken

CyrilFerlicot
Hi,

Since yesterday I get a lot of bugs when I try to edit class
definitions while having the slot template in class definition
enabled. (See comment:
https://github.com/pharo-project/pharo/pull/4391)
This make it a little hard to develop :(

Is there an easy fix? Else maybe we should revert the change until we
have the fix?

Have a nice day!

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Class definition with slot template is broken

ducasse
Argh this is probably the changes using the class definition.
Denis can you check?
Else I will check how to revert it and wait that it becoming more ready.

Stef

> On 23 Aug 2019, at 11:49, Cyril Ferlicot <[hidden email]> wrote:
>
> Hi,
>
> Since yesterday I get a lot of bugs when I try to edit class
> definitions while having the slot template in class definition
> enabled. (See comment:
> https://github.com/pharo-project/pharo/pull/4391)
> This make it a little hard to develop :(
>
> Is there an easy fix? Else maybe we should revert the change until we
> have the fix?
>
> Have a nice day!
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>



Reply | Threaded
Open this post in threaded view
|

Re: Class definition with slot template is broken

Marcus Denker-4
In reply to this post by CyrilFerlicot


> On 23 Aug 2019, at 11:49, Cyril Ferlicot <[hidden email]> wrote:
>
> Hi,
>
> Since yesterday I get a lot of bugs when I try to edit class
> definitions while having the slot template in class definition
> enabled. (See comment:
> https://github.com/pharo-project/pharo/pull/4391)
> This make it a little hard to develop :(
>
> Is there an easy fix? Else maybe we should revert the change until we
> have the fix?
>

I have a fix, I will commit when the internet connection is good enough

        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: Class definition with slot template is broken

Denis Kudriashov
Hi

пт, 23 авг. 2019 г., 11:06 Marcus Denker <[hidden email]>:


> On 23 Aug 2019, at 11:49, Cyril Ferlicot <[hidden email]> wrote:
>
> Hi,
>
> Since yesterday I get a lot of bugs when I try to edit class
> definitions while having the slot template in class definition
> enabled. (See comment:
> https://github.com/pharo-project/pharo/pull/4391)
> This make it a little hard to develop :(
>
> Is there an easy fix? Else maybe we should revert the change until we
> have the fix?
>

I have a fix, I will commit when the internet connection is good enough

That's good.

I guess it was a class parser bug? I only tested browser with classic definition.


        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: Class definition with slot template is broken

Marcus Denker-4


On 23 Aug 2019, at 12:13, Denis Kudriashov <[hidden email]> wrote:

Hi

пт, 23 авг. 2019 г., 11:06 Marcus Denker <[hidden email]>:


> On 23 Aug 2019, at 11:49, Cyril Ferlicot <[hidden email]> wrote:
>
> Hi,
>
> Since yesterday I get a lot of bugs when I try to edit class
> definitions while having the slot template in class definition
> enabled. (See comment:
> https://github.com/pharo-project/pharo/pull/4391)
> This make it a little hard to develop :(
>
> Is there an easy fix? Else maybe we should revert the change until we
> have the fix?
>

I have a fix, I will commit when the internet connection is good enough

That's good.

https://github.com/pharo-project/pharo/pull/4409



I guess it was a class parser bug? I only tested browser with classic definition.

yes, even with this fix I need to do some (larger) change to support Slots with parameters, e.g.

{#lazy => LazySlot default: 5 .
         #computed => ComputedSlot with: [:object | object calculateSomething] }


This need some change in how the class parser models slots, though… CDSlotNode is just modelling a name and the class of the slot, but not the fact
that slot definitions can contain parameters which can contain even blocks…

and with composition (not yet in Pharo8), we need to support things like

#lazyAndObservable => SpObservableSlot +  LazySlot default: 5 .

but I think it is not hard to do. 

Marcus
Reply | Threaded
Open this post in threaded view
|

Re: Class definition with slot template is broken

Marcus Denker-4


On 23 Aug 2019, at 12:43, Marcus Denker <[hidden email]> wrote:



On 23 Aug 2019, at 12:13, Denis Kudriashov <[hidden email]> wrote:

Hi

пт, 23 авг. 2019 г., 11:06 Marcus Denker <[hidden email]>:


> On 23 Aug 2019, at 11:49, Cyril Ferlicot <[hidden email]> wrote:
>
> Hi,
>
> Since yesterday I get a lot of bugs when I try to edit class
> definitions while having the slot template in class definition
> enabled. (See comment:
> https://github.com/pharo-project/pharo/pull/4391)
> This make it a little hard to develop :(
>
> Is there an easy fix? Else maybe we should revert the change until we
> have the fix?
>

I have a fix, I will commit when the internet connection is good enough

That's good.

https://github.com/pharo-project/pharo/pull/4409



I guess it was a class parser bug? I only tested browser with classic definition.

yes, even with this fix I need to do some (larger) change to support Slots with parameters, e.g.

{#lazy => LazySlot default: 5 .
         #computed => ComputedSlot with: [:object | object calculateSomething] }



I updated the fix: now it should work, there will be just no menu shown for these kinds of slots for now
(to be fixed in a second step, we should add tests, too)

Marcus