Analysing Java code
by Bharat Shetty
Hi team,
I have just unzipped moose_suite_6_0 on my windows 7 system. Built a model
with about 3200 classes following content at
http://www.themoosebook.org/book/ .
When i run the following from the playground tab - [|]
self select: [ :each | each isAnnotatedWith: 'Deprecated' ]
I get the following a popup with title 'MessageNotUnderstood:
FAMIXInvocation>>isAnnotatedWith:'
the first entry has
FAMIXInvocation(Object) doesNotUnderstand: #isAnnotatedWith:
the Variable tab has
self "a FAMIXInvocation
#noname#Restrictions.eq(""userName"",userName).ignoreCase() (Invocation)"
self
thisContext "FAMIXInvocation(Object)>>doesNotUnderstand: #isAnnotatedWith:"
self
Can someone help with this? Earlier this used to work(even model building
had tons of error/warnings). Now the model builds with much lesser error
but cant do anything with it !
Regards,
Bharat
4 years, 11 months
MooseAbstractGroup>>allFileAnchors
by Cyril Ferlicot D.
Hi,
I found this method:
allFileAnchors
^self allWithSubTypesOf: FAMIXFileAnchor
The problem is that FAMIXIndexedFileAnchor are also a kind of file anchor.
Should I replace it by
allFileAnchors
^self allWithSubTypesOf: FAMIXAbstractFileAnchor
?
--
Cyril Ferlicot
https://ferlicot.fr
http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France
4 years, 11 months
APi Question
by Stéphane Ducasse
Why a FamixClassGroup does not know this message?
In fact it knows totalNumberOfLinesOfCode
But numberOfLinesOfCode is defined on model.
So is there a way to convert a group into a model?
Don’t do that. I migrate the numberOfLinesOfCode to AbstractMooseGroup and deleted totalNumberOfLinesOfCode which is now in duplication of numberOfLinesOfCode.
Vincent
Hi vincent
I cannot reply easily I have to understand why I do not receive the moose mails in my mail client.
Now
- This is important to have numberOfLinesOfCode in a model because I need that too.
Because from a class how can I reach all the class of a model?
- you should not “migrate” behavior like that without discussion.
Stef
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
4 years, 11 months
two questions
by Stéphane Ducasse
Hi guys
I’m coding an importer for moose to import metrics computed from other tools.
Now I created would like to see the imported metrics on FAMIX class.
So I added
FAMIXClass >> TR_LCOM
<MSEProperty: #TR_LCOM type: #Number>
<MSEComment: 'lack of cohesion in methods from XX tools'>
<derived>
^ self propertyNamed: #TR_LCOM
and in my importer
createFamixClassFor: aCollection
"aCollection in the form Name values* following the tag pattern"
| aClass |
aClass := FAMIXClass new.
aClass name: (aCollection first replaceAll: Character space with: $_).
self tags allButFirst
withIndexDo: [ :t :i | aClass propertyNamed: 'TR_' , t put: (aCollection at: i + 1) asNumber ].
self targetModel add: aClass.
^ aClass
testExtendedFAMIX
| importer fmClass |
importer := ThreImporter on: self streamExample.
importer import.
fmClass := importer createFamixClassFor: importer importedArray second.
self assert: fmClass name = 'Messages'.
self assert: (fmClass propertyNamed: 'TR_LoC') equals: 67.
self assert: fmClass TR_LCOM equals: 67.
self halt.
Two questions:
- why I do not see the metrics in the imported famix class? Is there a cache for the metadescription.
- How do I add a Model to the UI? so that we can browse from the Moose Panel?
Tx
BTW I have to see because I do not get the email in my mailbox.
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
4 years, 11 months
( self bounds ) not set in RubTextScrollPane>>scrollSelectionIntoView:
by Kjell Godo
in
my Moose image
in
RubTextScrollPane>>scrollSelectionIntoView:
the ( self bounds ) is always set to the default Morph value of
( ( 0@0 )corner:( 40@50 ) )
so
only single page Methods are correctly
selection scrolled into view
in the GTGenericStackDebugger
so
i am guessing that this has been remedied in a Moose
update
is
this in fact what has happened ?
or
can you help me to fix this ?
i tried a couple days to fix it myself but i didn't get anywhere
Thanks
4 years, 11 months
APi question
by Stéphane Ducasse
Hi
I'm rusty but I wanted to share something
I did
MooseModel allInstances second allModelClasses numberOfLinesOfCode
and I got an error because a group does not know number of lines of code.
Why a FamixClassGroup does not know this message?
In fact it knows totalNumberOfLinesOfCode
But numberOfLinesOfCode is defined on model.
So is there a way to convert a group into a model?
Stef
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
4 years, 11 months
[ann] moldable editor - transcript with adornments
by Tudor Girba
Hi,
We are happy to announce that the moldable editor helped us create a richer transcript: GT Transcript.
The transcript is traditionally a stream of plain text. As we now have an elaborate editor, we can take advantage of it to help us display richer representations.
The API is backward compatible with the existing transcript. To enable the new features, we introduced a builder. For example:
transcript nextPutAll: ‘something’
becomes
transcript next putAll: ‘something’
and after #next we can add multiple attributes that we want to affect the following insertion of a text.
Below you can find an example detailing most of the API. The most notable additions is the support for expandable adornments. For example, #showException: provides an in-place expansion of the stack of the exception context.
To get an idea of how this tool can be useful, take a look at the following video showing the visual logging of a Bloc animation:
https://youtu.be/9VATYNaLwJY
The code can be found in the new incarnation of GToolkit:
Iceberg enableMetacelloIntegration: true.
Metacello new
baseline: 'GToolkit';
repository: 'github://feenkcom/gtoolkit/src';
load.
Cheers,
The feenk team
--
www.tudorgirba.com
www.feenk.com
“Software has no shape. Actually, it has no one shape. It has many."
4 years, 11 months