Hi Roel!
I hope you're fine. I tried to use RoelTyper to have more accurate method invocations in Moose. I use Mondrian as my case study.
I tried in a workspace (TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) types => an OrderedCollection(SmallInteger)
This is surprising since I expect #shape to reference to an instance of a subtype of MOShape.
I did:
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) interface => an IdentitySet(#shapeBoundsAt:ifPresent: #computeBoundsFor: #isCached #copy #defaultBounds #absoluteBoundsFor: #extentFor: #apply:bounds: #isFormsShape)
#shapeBoundsAt:ifPresent:, #computeBoundsFor: are defined in MOShape and not SmallInteger. I probably miss something obvious here...
Cheers, Alexandre
Hello Alex,
After one hour of intensive debugging, I found the bug :) It is linked to the return in blocks. The fix will be not trivial. I'll try to do this today but I don't promise anything.
Fréd ---- Frédéric Pluquet Université Libre de Bruxelles (ULB) Assistant http://www.ulb.ac.be/di/fpluquet
On Wed, Aug 18, 2010 at 3:20 PM, Alexandre Bergel alexandre@bergel.euwrote:
Hi Roel!
I hope you're fine. I tried to use RoelTyper to have more accurate method invocations in Moose. I use Mondrian as my case study.
I tried in a workspace (TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) types => an OrderedCollection(SmallInteger)
This is surprising since I expect #shape to reference to an instance of a subtype of MOShape.
I did:
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) interface => an IdentitySet(#shapeBoundsAt:ifPresent: #computeBoundsFor: #isCached #copy #defaultBounds #absoluteBoundsFor: #extentFor: #apply:bounds: #isFormsShape)
#shapeBoundsAt:ifPresent:, #computeBoundsFor: are defined in MOShape and not SmallInteger. I probably miss something obvious here...
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Ok, let us know.
Cheers, Alexandre
On 18 Aug 2010, at 14:28, Frederic Pluquet wrote:
Hello Alex,
After one hour of intensive debugging, I found the bug :) It is linked to the return in blocks. The fix will be not trivial. I'll try to do this today but I don't promise anything.
Fréd
Frédéric Pluquet Université Libre de Bruxelles (ULB) Assistant http://www.ulb.ac.be/di/fpluquet
On Wed, Aug 18, 2010 at 3:20 PM, Alexandre Bergel alexandre@bergel.eu wrote: Hi Roel!
I hope you're fine. I tried to use RoelTyper to have more accurate method invocations in Moose. I use Mondrian as my case study.
I tried in a workspace (TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) types => an OrderedCollection(SmallInteger)
This is surprising since I expect #shape to reference to an instance of a subtype of MOShape.
I did:
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) interface => an IdentitySet(#shapeBoundsAt:ifPresent: #computeBoundsFor: #isCached #copy #defaultBounds #absoluteBoundsFor: #extentFor: #apply:bounds: #isFormsShape)
#shapeBoundsAt:ifPresent:, #computeBoundsFor: are defined in MOShape and not SmallInteger. I probably miss something obvious here...
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Frédéric just told me this problem is now fixed
Cheers, Alexandre
On 18 Aug 2010, at 09:20, Alexandre Bergel wrote:
Hi Roel!
I hope you're fine. I tried to use RoelTyper to have more accurate method invocations in Moose. I use Mondrian as my case study.
I tried in a workspace (TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) types => an OrderedCollection(SmallInteger)
This is surprising since I expect #shape to reference to an instance of a subtype of MOShape.
I did:
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) interface => an IdentitySet(#shapeBoundsAt:ifPresent: #computeBoundsFor: #isCached #copy #defaultBounds #absoluteBoundsFor: #extentFor: #apply:bounds: #isFormsShape)
#shapeBoundsAt:ifPresent:, #computeBoundsFor: are defined in MOShape and not SmallInteger. I probably miss something obvious here...
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.