It's fixed now. I moved the annotations to the instance side and it works just fine.
Cheers,
Doru
On 9 Apr 2012, at 17:14, Tudor Girba wrote:
Hi,
The only Moose clients of Magritte are Glamour and Metanool.
I switched to Magritte 3 because I want to support the effort. It was a great work that
Nick did (I remember talking about this with Lukas at least 3 years ago - and we thought
the impact would be too great :)), and the only thing that got impacted was the dialog of
adding a new Metanool annotation. Glamour is not impacted at all given that it only
expects Magritte objects (hence not depending on creation).
I did not have enough time to look into it, but I believe you found the problem quite
nicely. It's basically one method :). I will spend some a bit of time in the following
days to wrap it up.
All in all, just like we are pushing to always use the latest Pharo to benefit from the
energy of the community, in the same way we will always try push to use the latest of the
other dependencies if we can benefit from the energy spent there.
Cheers,
Doru
On 9 Apr 2012, at 12:42, Stéphane Ducasse wrote:
so what do we do?
I lost two hours and now I imagine that it may work if I redo it from scratch.
Now I have no idea of the implication for moose.
Luckily messana is dead so our magritte use is limited.
Stef
On Apr 9, 2012, at 12:16 PM, Tudor Girba wrote:
Hi Stef,
Indeed, the change is due to Magritte 3 now using instance side annotations. The Metanool
code still works for the regular annotations (so, if you have an annotation it will show
in the form), but when asking for the annotations of the annotations, it seems that
something is broken. But, I do not know what :(.
Cheers,
Doru
On 9 Apr 2012, at 11:51, Stéphane Ducasse wrote:
4.6
build: anObject
| selectors container description |
self halt.
selectors := anObject class allSelectors select: [ :each | each isDescriptionSelector
].
selectors -> an IdentitySet(#descriptionContainer #descriptionType #descriptionName)
sounds good.
container := self build: anObject for: self containerSelector in: selectors.
^ (selectors select: [ :each | each isDescriptionDefinition ])
inject: (cache at: anObject put: container)
into: [ :result :each |
self containerSelector = each ifFalse: [
description := self build: anObject for: each in: selectors.
description isDescription
ifTrue: [ result add: description ] ].
result ]
4.7
buildDescriptions: anObject
| descriptionExtensions descriptionSelectors |
descriptionSelectors := self uniqueDescriptionSelectors: anObject.
descriptionSelectors -> Set() :(
descriptionExtensions := self descriptionExtensions: anObject.
^ (descriptionSelectors
collect: [ :each |
| description |
description := anObject perform: each.
description notNil ifTrue: [
descriptionExtensions at: each ifPresent: [ :extensions |
extensions do: [ :extensionSelector |
description := anObject perform: extensionSelector with: description ] ] ].
description ])
select: #notNil.
So apparently in magritte now we should use <magritteDescription> so I'm
writing a little test and changed FM3Element and FM3Property but it does not work :(
Pragma
allNamed: MAPragmaBuilder magritteDescriptionPragma
from: FM3Element to: Object.
does not return the methods with the annotations.
I'm getting there.
Stef
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"We are all great at making mistakes."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."
Innovation comes in least expected form.
That is, if it is expected, it already happened.