I still get the error. Should I reinitialize something ?
Alexandre
On 17 Mar 2009, at 11:06, Simon Denier wrote:
Alex
You forget to declare your FAMIXFunction class in Fame, that's why
the PragmaProcessor raises a bug
Just add
FAMIXFunction class>>annotation
<MSEClass: #Function super: 'FAMIX.BehaviouralEntity'>
<package: #FAMIX>
^self
On 17 mars 09, at 10:59, Alexandre Bergel wrote:
> I cannot reproduce the problem you mentioned Doru. I have an error
> coming from FMPragmaProcessor
>
> Cheers,
> Alexandre
>
> Error: Error!
> 17 March 2009 9:18:07 am
>
> VM: Mac OS - a SmalltalkImage
> Image: Pharo0.1 [Latest update: #10248]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/alexandrebergel/Desktop/T/Smalltalk/
> Pharo0.1Core-10248
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/alexandrebergel/Library/Preferences/Squeak/
> Internet/My Squeak
>
> FMPragmaProcessor(Object)>>error:
> Receiver: a FMPragmaProcessor
> Arguments and temporary variables:
> aString: 'Error!'
> Receiver's instance variables:
> elements: an OrderedCollection(a
> FM3MetaDescription[UnknownVariable] a FM3MetaD...etc...
> packageDict: a Dictionary()
> classDict: a Dictionary(FAMIXImplicitVariable->a
> FM3MetaDescription[ImplicitVar...etc...
> metaDict: a Dictionary('Boolean'->an AnonymousClass[Boolean]
> 'Number'->an Anony...etc...
> superclassDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'...etc...
> packMetaDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'FA...etc...
> typeDict: an IdentityDictionary()
> oppositeDict: an IdentityDictionary()
> packPropDict: an IdentityDictionary()
> mmClassDict: an IdentityDictionary()
> queue: an OrderedCollection(FAMIXUnknownVariable
> FAMIXImplicitVariable CAFuncti...etc...
>
> FMPragmaProcessor(Object)>>error
> Receiver: a FMPragmaProcessor
> Arguments and temporary variables:
>
> Receiver's instance variables:
> elements: an OrderedCollection(a
> FM3MetaDescription[UnknownVariable] a FM3MetaD...etc...
> packageDict: a Dictionary()
> classDict: a Dictionary(FAMIXImplicitVariable->a
> FM3MetaDescription[ImplicitVar...etc...
> metaDict: a Dictionary('Boolean'->an AnonymousClass[Boolean]
> 'Number'->an Anony...etc...
> superclassDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'...etc...
> packMetaDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'FA...etc...
> typeDict: an IdentityDictionary()
> oppositeDict: an IdentityDictionary()
> packPropDict: an IdentityDictionary()
> mmClassDict: an IdentityDictionary()
> queue: an OrderedCollection(FAMIXUnknownVariable
> FAMIXImplicitVariable CAFuncti...etc...
>
> FMPragmaProcessor>>processClass:
> Receiver: a FMPragmaProcessor
> Arguments and temporary variables:
> aClass: CAFunction
> pragma: #()
> meta: nil
> className: nil
> superclassName: nil
> each: nil
> Receiver's instance variables:
> elements: an OrderedCollection(a
> FM3MetaDescription[UnknownVariable] a FM3MetaD...etc...
> packageDict: a Dictionary()
> classDict: a Dictionary(FAMIXImplicitVariable->a
> FM3MetaDescription[ImplicitVar...etc...
> metaDict: a Dictionary('Boolean'->an AnonymousClass[Boolean]
> 'Number'->an Anony...etc...
> superclassDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'...etc...
> packMetaDict: an IdentityDictionary(a
> FM3MetaDescription[ImplicitVariable]->'FA...etc...
> typeDict: an IdentityDictionary()
> oppositeDict: an IdentityDictionary()
> packPropDict: an IdentityDictionary()
> mmClassDict: an IdentityDictionary()
> queue: an OrderedCollection(FAMIXUnknownVariable
> FAMIXImplicitVariable CAFuncti...etc...
>
> [] in FMPragmaProcessor>>run {[:cls | self processClass: cls]}
> Arguments and temporary variables:
> cls: CAFunction
>
>
> --- The full stack ---
> FMPragmaProcessor(Object)>>error:
> FMPragmaProcessor(Object)>>error
> FMPragmaProcessor>>processClass:
> [] in FMPragmaProcessor>>run {[:cls | self processClass: cls]}
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> OrderedCollection>>do:
> FMPragmaProcessor>>run
> MooseModel class>>FAMIXDescriptions
> MOFameView class>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in
> OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection
> {[rcvr class evaluatorClass new evaluate: self
> selectionAsStream in: ctxt...]}
> BlockContext>>on:do:
> OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection
> OBTextMorphEditorWithShout(ParagraphEditor)>>doIt
> [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: {[self
> doIt]}
> OBTextMorphEditorWithShout(Controller)>>terminateAndInitializeAround:
> OBTextMorphEditorWithShout(ParagraphEditor)>>doIt:
> OBTextMorphEditorWithShout
> (ParagraphEditor)>>dispatchOnCharacter:with:
> OBTextMorphEditorWithShout
> (TextMorphEditor)>>dispatchOnCharacter:with:
> OBTextMorphEditorWithShout(ParagraphEditor)>>readKeyboard
> OBTextMorphEditorWithShout(TextMorphEditor)>>readKeyboard
> ...etc...
>
> On 16 Mar 2009, at 11:19, Alexandre Bergel wrote:
>
>> Yes, I will answer asap....
>>
>> Alexandre
>>
>>
>> On 16 Mar 2009, at 11:12, Simon Denier wrote:
>>
>>>
>>> Alex is working on many things in Mondrian, in particular to
>>> improve its speed, so I dont know which fix did break the code. I
>>> will let him answer or we will investigate this afternoon if we
>>> have time.
>>>
>>>
>>>
>>> On 16 mars 09, at 10:47, Lukas Renggli wrote:
>>>
>>>> The Balloon engine does not like Floats or Fractions passed into
>>>> its
>>>> primitives. In my experience this is the cause of problems in most
>>>> cases.
>>>>
>>>> Also it could be related to the size of the canvas, but I don't
>>>> remember if you get a primitive failure there:
>>>>
>>>>
http://bugs.squeak.org/view.php?id=5222
>>>>
>>>> Lukas
>>>>
>>>> On Mon, Mar 16, 2009 at 12:23 AM, Tudor Girba
>>>> <girba(a)iam.unibe.ch> wrote:
>>>>> Hi,
>>>>>
>>>>> I am trying to reproduce the diagram with the FAMIX meta-model.
>>>>> I found the
>>>>> script in MOFameView>>openOn:, but there is a problem with the
>>>>> rendering.
>>>>>
>>>>> I use Pharo 10250.
>>>>>
>>>>> I attached the error report. What am I doing wrong?
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>> --
>>>>>
www.tudorgirba.com
>>>>>
>>>>> "Every thing has its own flow."
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> '16 March 2009 12:18:44 am
>>>>>
>>>>> VM: Mac OS - a SmalltalkImage
>>>>> Image: Pharo0.1 [Latest update: #10250]
>>>>>
>>>>> SecurityManager state:
>>>>> Restricted: false
>>>>> FileAccess: true
>>>>> SocketAccess: true
>>>>> Working Dir /Users/girba/Desktop/pharo0.1-10250dev09.03.2
>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/Internet/
>>>>> My Squeak
>>>>>
>>>>> BalloonEngine(Object)>>error:
>>>>> Receiver: a BalloonEngine
>>>>> Arguments and temporary variables:
>>>>> aString: ''Error: a primitive has
failed''
>>>>> Receiver''s instance variables:
>>>>> workBuffer: a BalloonBuffer
>>>>> span: a Bitmap of length 2048
>>>>> bitBlt: a GrafPort
>>>>> forms: #()
>>>>> clipRect: 459@167 corner: 1184@499
>>>>> destOffset: 462@167
>>>>> externals: an OrderedCollection()
>>>>> aaLevel: 4
>>>>> edgeTransform: nil
>>>>> colorTransform: nil
>>>>> deferred: false
>>>>> postFlushNeeded: false
>>>>>
>>>>> [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx :=
>>>>> thisContext.
>>>>> [errCtx := errCtx sender. [errCtx no...]}
>>>>> Arguments and temporary variables:
>>>>> aWorld: a PasteUpMorph(1622) [world]
>>>>> err: ''Error: a primitive has failed''
>>>>> rcvr: a BalloonEngine
>>>>> errCtx: MOCanvas>>drawOn:
>>>>> errMorph: a MOCanvas(3824)
>>>>>
>>>>> BlockContext>>valueWithPossibleArgs:
>>>>> Receiver: [] in WorldState>>displayWorldSafely: {[:err :rcvr
|
>>>>> errCtx := thisContext. [errCtx := e...etc...
>>>>> Arguments and temporary variables:
>>>>> anArray: an Array(''Error: a primitive has
>>>>> failed'' a
>>>>> BalloonEngine)
>>>>> Receiver''s instance variables:
>>>>> sender:
BlockContext>>valueWithPossibleArgs:
>>>>> pc: 121
>>>>> stackp: 0
>>>>> nargs: 2
>>>>> startpc: 74
>>>>> home: WorldState>>displayWorldSafely:
>>>>>
>>>>> [] in BlockContext>>ifError: {[:ex | errorHandlerBlock
>>>>> valueWithPossibleArgs: {ex description. ex receiver}]}
>>>>> Arguments and temporary variables:
>>>>> errorHandlerBlock: [] in
>>>>> WorldState>>displayWorldSafely:
>>>>> {[:err :rcvr | errCtx...etc...
>>>>> ex: Error: a primitive has failed
>>>>>
>>>>>
>>>>> --- The full stack ---
>>>>> BalloonEngine(Object)>>error:
>>>>> [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx :=
>>>>> thisContext.
>>>>> [errCtx := errCtx sender. [errCtx no...]}
>>>>> BlockContext>>valueWithPossibleArgs:
>>>>> [] in BlockContext>>ifError: {[:ex | errorHandlerBlock
>>>>> valueWithPossibleArgs: {ex description. ex receiver}]}
>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>>> BlockContext>>valueWithPossibleArgs:
>>>>> [] in MethodContext(ContextPart)>>handleSignal: {[(self tempAt:
>>>>> 2)
>>>>> valueWithPossibleArgs: {exception}]}
>>>>> BlockContext>>ensure:
>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>> Error(Exception)>>signal
>>>>> Error(Exception)>>signal:
>>>>> BalloonEngine(Object)>>error:
>>>>> BalloonEngine(Object)>>primitiveFailed
>>>>>
BalloonEngine>>primAddPolygon:segments:fill:lineWidth:lineFill:
>>>>> BalloonEngine
>>>>> >>drawPolygon:fill:borderWidth:borderColor:transform:
>>>>> BalloonCanvas>>drawPath:borderWidth:borderColor:
>>>>> MOOrthoHorizontalLineShape>>display:on:
>>>>> MOEdge>>displayOn:
>>>>> [] in MORoot(MOGraphElement)>>display:on: {[:each | each
>>>>> displayOn: canvas]}
>>>>> OrderedCollection>>do:
>>>>> [] in MORoot(MOGraphElement)>>display:on: {[:canvas | self
>>>>> nodes do:
>>>>> [:each | each displayOn: canvas]. self edges ...]}
>>>>> BalloonCanvas(FormCanvas)>>translateBy:during:
>>>>> MORoot(MOGraphElement)>>display:on:
>>>>> MORoot>>display:on:
>>>>> UndefinedObject>>display:on:
>>>>> MORoot(MOGraphElement)>>displayOn:
>>>>> MOCanvas>>drawOn:
>>>>> FormCanvas(Canvas)>>draw:
>>>>> FormCanvas(Canvas)>>drawMorph:
>>>>> [] in MOCanvas(Morph)>>fullDrawOn: {[(aCanvas isVisible: self
>>>>> bounds)
>>>>> ifTrue: [aCanvas drawMorph: self]. self...]}
>>>>> FormCanvas>>roundCornersOf:in:during:
>>>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>>> MOCanvas(Morph)>>fullDrawOn:
>>>>> FormCanvas(Canvas)>>fullDraw:
>>>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>>> [] in TransformMorph>>drawSubmorphsOn: {[:m | myCanvas
>>>>> fullDrawMorph: m]}
>>>>> Array(SequenceableCollection)>>reverseDo:
>>>>> [] in TransformMorph>>drawSubmorphsOn: {[:myCanvas | (self
>>>>> angle ~= 0.0
>>>>> or: [self scale ~= 1.0]) ifTrue: [FreeT...]}
>>>>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>>>>> TransformMorph>>drawSubmorphsOn:
>>>>> [] in TransformMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible:
>>>>> self bounds)
>>>>> ifTrue: [aCanvas drawMorph: self]. self...]}
>>>>> FormCanvas>>roundCornersOf:in:during:
>>>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>>> TransformMorph(Morph)>>fullDrawOn:
>>>>> FormCanvas(Canvas)>>fullDraw:
>>>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>>> [] in ScrollPane(Morph)>>drawSubmorphsOn: {[:m | canvas
>>>>> fullDrawMorph: m]}
>>>>> Array(SequenceableCollection)>>reverseDo:
>>>>> [] in ScrollPane(Morph)>>drawSubmorphsOn: {[:canvas |
>>>>> submorphs reverseDo:
>>>>> [:m | canvas fullDrawMorph: m]]}
>>>>> ...etc...'
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> Moose-dev(a)iam.unibe.ch
>>>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lukas Renggli
>>>>
http://www.lukas-renggli.ch
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> Moose-dev(a)iam.unibe.ch
>>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>
>>> --
>>> Simon
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev(a)iam.unibe.ch
>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel
http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel
http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
--
Simon
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev