Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This adds an example and a test for Fluid Slot definitions #11786

Merged

Conversation

MarcusDenker
Copy link
Member

Like with classes, the idea that we have to add all possible combinations of setters leads to a combinatorial explosion. We need to be able to do things like

#slot => ExampleSlotWithFluidAPI  
                 value1: #testvalue1;  
                 value2: #testvalue2

if we ever want to be able to use this for anything non-trivial.

This PR just adds an example on the level of Slots and a test that uses the class builder directly.

We can define classes using this, but editing is broken due to the Fluid Class Parser enforcing "#name => ClassName oneSelector: #state", that is, the Fuid Class Parser enforces a non-fluid API for Slots, oddly. (see #6410 for an issue, see CDAbstractClassDefinitionParser>>#handleSlotNode: for where it breaks)

… classes, the idea that we have to add all possible combinations of setters leads to a combinatorial explosion. We need to be able to do things like

#slot => ExampleSlotWithFluidAPI  value1: #testvalue1;  value2: #testvalue2


if we ever want to be able to use this for anything non-trivial.

This PR just adds an example  on the level of Slots and a test that uses the class builder directly.

We can not define classes using this, but editing is broken due to the Fluid Class Parser enforcing "#name => ClassName oneSelector: #state", that is, the Fuid Class Parser enforces a non-fluid API for Slots, oddly. (see pharo-project#6410)
@demarey demarey merged commit 82e7440 into pharo-project:Pharo11 Oct 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants