Funny, I do have a DNU problem, but the method is hierarchyNestingLevel
mse file for eclipse available at
nicolas
PS: I can look at some point, but not right now
----- Mail original -----
De: "Tudor Girba"
<tudor(a)tudorgirba.com>
À: "Moose-related development" <moose-dev(a)iam.unibe.ch>
Envoyé: Mardi 24 Mai 2011 15:35:00
Objet: [Moose-dev] Re: bringing the overview pyramid on verveineJ model -> DNU
Could you please provide a link to the MSE file so that we can
reproduce the problem?
Cheers,
Doru
On 24 May 2011, at 15:22, Stéphane Ducasse wrote:
From: ss
To: Pharo-project(a)lists.gforge.inria.fr
Subject: [BUG]FAMIXEnum(Object)>>doesNotUnderstand: #lookUp:
here insert explanation of what you were doing, suspect changes
you've made and so forth.
24 May 2011 3:22:18 pm
VM: Mac OS - intel - 1067 - Croquet Closure Cog VM [CoInterpreter
VMMaker-oscog.51] Moose Suite 4.4
Image: Pharo1.2.1 [Latest update: #12345]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir
/Users/ducasse/Workspace/FirstCircle/Moose/StartUp-ClearVue/2011-05-27-Aix-Stef/Moose.app/Contents/Resources
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My
Squeak
FAMIXEnum(Object)>>doesNotUnderstand: #lookUp:
Receiver: Planet in ad_hoc (Type)
Arguments and temporary variables:
aMessage: lookUp: 'radius()'
exception: MessageNotUnderstood: FAMIXEnum>>lookUp:
resumeValue: nil
Receiver's instance variables:
mooseID: 2324
state: a MooseDefaultState
sourceAnchor: nil
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'Planet'
isStub: false
receivingInvocations: an Array(main -> Planet#values()
(Invocation))
modifiers: a Set(#isFinal #isPublic)
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
subInheritances: #()
methods: an Array(Planet>>surfaceWeight(double) (Method)
Planet>>toString() (Me...etc...
container: ad_hoc (Namespace)
superInheritances: #()
attributes: an Array(Planet.radius (Attribute) Planet.mass
(Attribute) Planet.G...etc...
values: an Array(a FAMIXEnumValue #JUPITER a FAMIXEnumValue
#SATURN a FAMIXEnum...etc...
[:each | | invokedMtd | each isASureInvocation
ifTrue: [invokedMtd := each getReceivingFAMIXClass lookUp: each
signature.
invokedMtd isNil
ifFalse: [(invokedMtd isAbstract
or: [invokedMtd = self])
ifFalse: [sureInvokedMtdsSet add: invokedMtd]]]] in
FAMIXMethod>>privateSureInvokedMethods
Receiver: Planet>>surfaceGravity() (Method)
Arguments and temporary variables:
sureInvokedMtdsSet: surfaceGravity -> self#radius() (Invocation)
each: a Set()
invokedMtd: nil
Receiver's instance variables:
mooseID: 3985
state: a MooseDefaultState
sourceAnchor: a FAMIXFileAnchor
#'/Users/ducasse/Workspace/FirstCircle/Moose/St...etc...
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'surfaceGravity'
isStub: false
receivingInvocations: #()
modifiers: a Set()
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
outgoingInvocations: an Array(surfaceGravity -> self#radius()
(Invocation) surf...etc...
incomingInvocations: an Array(surfaceWeight ->
self#surfaceGravity() (Invocatio...etc...
localVariables: #()
parameters: #()
signature: 'surfaceGravity()'
accesses: an Array(surfaceGravity -> G (Access))
declaredType: double (Type)
kind: nil
parentType: Planet in ad_hoc (Type)
OrderedCollection>>do:
Receiver: an OrderedCollection(surfaceGravity -> self#radius()
(Invocation) surfaceGravity -> self#r...etc...
Arguments and temporary variables:
aBlock: [:each | | invokedMtd | each isASureInvocation
ifTrue: [invokedMtd :=...etc...
index: 3
Receiver's instance variables:
array: an Array(nil nil surfaceGravity -> self#radius()
(Invocation) surfaceGra...etc...
firstIndex: 3
lastIndex: 5
FMMultivalueLink>>do:
Receiver: an Array(surfaceGravity -> self#radius() (Invocation)
surfaceGravity -> self#radius() (Inv...etc...
Arguments and temporary variables:
aBlock: [:each | | invokedMtd | each isASureInvocation
ifTrue: [invokedMtd :=...etc...
Receiver's instance variables:
values: an OrderedCollection(surfaceGravity -> self#radius()
(Invocation) surfa...etc...
owner: Planet>>surfaceGravity() (Method)
opposite: #sender:
FAMIXMethod>>privateSureInvokedMethods
Receiver: Planet>>surfaceGravity() (Method)
Arguments and temporary variables:
outgoingInvo: an Array(surfaceGravity -> self#radius()
(Invocation) surfaceGrav...etc...
sureInvokedMtdsSet: a Set()
Receiver's instance variables:
mooseID: 3985
state: a MooseDefaultState
sourceAnchor: a FAMIXFileAnchor
#'/Users/ducasse/Workspace/FirstCircle/Moose/St...etc...
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'surfaceGravity'
isStub: false
receivingInvocations: #()
modifiers: a Set()
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
outgoingInvocations: an Array(surfaceGravity -> self#radius()
(Invocation) surf...etc...
incomingInvocations: an Array(surfaceWeight ->
self#surfaceGravity() (Invocatio...etc...
localVariables: #()
parameters: #()
signature: 'surfaceGravity()'
accesses: an Array(surfaceGravity -> G (Access))
declaredType: double (Type)
kind: nil
parentType: Planet in ad_hoc (Type)
[self privateSureInvokedMethods] in FAMIXMethod>>sureInvokedMethods
Receiver: Planet>>surfaceGravity() (Method)
Arguments and temporary variables:
Receiver's instance variables:
mooseID: 3985
state: a MooseDefaultState
sourceAnchor: a FAMIXFileAnchor
#'/Users/ducasse/Workspace/FirstCircle/Moose/St...etc...
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'surfaceGravity'
isStub: false
receivingInvocations: #()
modifiers: a Set()
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
outgoingInvocations: an Array(surfaceGravity -> self#radius()
(Invocation) surf...etc...
incomingInvocations: an Array(surfaceWeight ->
self#surfaceGravity() (Invocatio...etc...
localVariables: #()
parameters: #()
signature: 'surfaceGravity()'
accesses: an Array(surfaceGravity -> G (Access))
declaredType: double (Type)
kind: nil
parentType: Planet in ad_hoc (Type)
SmallDictionary>>at:ifAbsentPut:
Receiver: a SmallDictionary()
Arguments and temporary variables:
key: #sureInvokedMethods
aBlock: [self privateSureInvokedMethods]
index: 0
Receiver's instance variables:
keys: #(nil nil)
values: #(nil nil)
size: 0
MooseDefaultState>>cacheAt:ifAbsentPut:
Receiver: a MooseDefaultState
Arguments and temporary variables:
name: #sureInvokedMethods
aBlock: [self privateSureInvokedMethods]
Receiver's instance variables:
attributes: an Array(#privateModel->a MooseModel
#'verveine.extractor.java'(582...etc...
entity: Planet>>surfaceGravity() (Method)
propertyCache: a SmallDictionary('CYCLO'->1 'NOS'->4 #LOC->3)
queryCache: a SmallDictionary()
FAMIXMethod>>sureInvokedMethods
Receiver: Planet>>surfaceGravity() (Method)
Arguments and temporary variables:
Receiver's instance variables:
mooseID: 3985
state: a MooseDefaultState
sourceAnchor: a FAMIXFileAnchor
#'/Users/ducasse/Workspace/FirstCircle/Moose/St...etc...
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'surfaceGravity'
isStub: false
receivingInvocations: #()
modifiers: a Set()
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
outgoingInvocations: an Array(surfaceGravity -> self#radius()
(Invocation) surf...etc...
incomingInvocations: an Array(surfaceWeight ->
self#surfaceGravity() (Invocatio...etc...
localVariables: #()
parameters: #()
signature: 'surfaceGravity()'
accesses: an Array(surfaceGravity -> G (Access))
declaredType: double (Type)
kind: nil
parentType: Planet in ad_hoc (Type)
FAMIXMethod>>invokedMethods
Receiver: Planet>>surfaceGravity() (Method)
Arguments and temporary variables:
Receiver's instance variables:
mooseID: 3985
state: a MooseDefaultState
sourceAnchor: a FAMIXFileAnchor
#'/Users/ducasse/Workspace/FirstCircle/Moose/St...etc...
sourceLanguage: nil
comments: #()
declaredSourceLanguage: nil
name: 'surfaceGravity'
isStub: false
receivingInvocations: #()
modifiers: a Set()
parentPackage: nil
outgoingReferences: #()
types: #()
incomingReferences: #()
outgoingInvocations: an Array(surfaceGravity -> self#radius()
(Invocation) surf...etc...
incomingInvocations: an Array(surfaceWeight ->
self#surfaceGravity() (Invocatio...etc...
localVariables: #()
parameters: #()
signature: 'surfaceGravity()'
accesses: an Array(surfaceGravity -> G (Access))
declaredType: double (Type)
kind: nil
parentType: Planet in ad_hoc (Type)
[:each | each invokedMethods size] in [:bar |
allModelMethods := aMooseModel allMethods
select: [:each | each isStub not].
bar increment.
allModelClasses := aMooseModel allModelClasses.
bar increment.
nop := aMooseModel allModelPackages size.
bar increment.
noc := allModelClasses size.
bar increment.
nom := allModelMethods size.
bar increment.
loc := allModelMethods sum: #numberOfLinesOfCode.
bar increment.
cyclo := allModelMethods sum: #cyclomaticComplexity.
bar increment.
fanout := allModelClasses sum: #fanOut.
bar increment.
calls := allModelMethods
sum: [:each | each invokedMethods size].
bar increment.
andc := (allModelClasses
sum: [:class | class directSubclasses size])
/ noc.
bar increment.
ahh := allModelClasses average: #hierarchyNestingLevel.
bar increment] in OverviewPyramidMetrics>>model:
Receiver: an OverviewPyramidMetrics
Arguments and temporary variables:
each: Planet>>surfaceGravity() (Method)
Receiver's instance variables:
nop: 0
noc: 27
nom: 238
loc: 4230
cyclo: 760
fanout: 81
calls: nil
andc: nil
ahh: nil
[:sum :each | sum
+ (aSymbolOrBlock value: each)] in
FAMIXMethodGroup(MooseGroup)>>sum:
Receiver: Group (238 FAMIXMethods)
Arguments and temporary variables:
aSymbolOrBlock: 442
sum: Planet>>surfaceGravity() (Method)
each: [:each | each invokedMethods size]
Receiver's instance variables:
mooseID: 13709
state: a MooseDefaultState
storage: a
MooseGroupRuntimeStorage(Dictionary>>Dictionary(Repository)
(Method)...etc...
[:each | nextValue := binaryBlock value: nextValue value: each] in
OrderedCollection(Collection)>>inject:into:
Receiver: an OrderedCollection(Dictionary>>Dictionary(Repository)
(Method) VerveineVisitor>>endVisit...etc...
Arguments and temporary variables:
binaryBlock: Planet>>surfaceGravity() (Method)
nextValue: [:sum :each | sum
+ (aSymbolOrBlock value: each)]
each: #(442)
Receiver's instance variables:
array: an Array(nil nil nil nil nil nil nil nil nil nil nil nil
nil nil nil nil...etc...
firstIndex: 333
lastIndex: 570
OrderedCollection>>do:
Receiver: an OrderedCollection(Dictionary>>Dictionary(Repository)
(Method) VerveineVisitor>>endVisit...etc...
Arguments and temporary variables:
aBlock: [:each | nextValue := binaryBlock value: nextValue value:
each]
index: 408
Receiver's instance variables:
array: an Array(nil nil nil nil nil nil nil nil nil nil nil nil
nil nil nil nil...etc...
firstIndex: 333
lastIndex: 570
OrderedCollection(Collection)>>inject:into:
Receiver: an OrderedCollection(Dictionary>>Dictionary(Repository)
(Method) VerveineVisitor>>endVisit...etc...
Arguments and temporary variables:
thisValue: 0
binaryBlock: [:sum :each | sum
+ (aSymbolOrBlock value: each)]
nextValue: #(442)
Receiver's instance variables:
array: an Array(nil nil nil nil nil nil nil nil nil nil nil nil
nil nil nil nil...etc...
firstIndex: 333
lastIndex: 570
FAMIXMethodGroup(MooseAbstractGroup)>>inject:into:
Receiver: Group (238 FAMIXMethods)
Arguments and temporary variables:
neutral: 0
aBinaryBlock: [:sum :each | sum
+ (aSymbolOrBlock value: each)]
Receiver's instance variables:
mooseID: 13709
state: a MooseDefaultState
storage: a
MooseGroupRuntimeStorage(Dictionary>>Dictionary(Repository)
(Method)...etc...
FAMIXMethodGroup(MooseGroup)>>sum:
Receiver: Group (238 FAMIXMethods)
Arguments and temporary variables:
aSymbolOrBlock: [:each | each invokedMethods size]
Receiver's instance variables:
mooseID: 13709
state: a MooseDefaultState
storage: a
MooseGroupRuntimeStorage(Dictionary>>Dictionary(Repository)
(Method)...etc...
[:bar |
allModelMethods := aMooseModel allMethods
select: [:each | each isStub not].
bar increment.
allModelClasses := aMooseModel allModelClasses.
bar increment.
nop := aMooseModel allModelPackages size.
bar increment.
noc := allModelClasses size.
bar increment.
nom := allModelMethods size.
bar increment.
loc := allModelMethods sum: #numberOfLinesOfCode.
bar increment.
cyclo := allModelMethods sum: #cyclomaticComplexity.
bar increment.
fanout := allModelClasses sum: #fanOut.
bar increment.
calls := allModelMethods
sum: [:each | each invokedMethods size].
bar increment.
andc := (allModelClasses
sum: [:class | class directSubclasses size])
/ noc.
bar increment.
ahh := allModelClasses average: #hierarchyNestingLevel.
bar increment] in OverviewPyramidMetrics>>model:
Receiver: an OverviewPyramidMetrics
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
nop: 0
noc: 27
nom: 238
loc: 4230
cyclo: 760
fanout: 81
calls: nil
andc: nil
ahh: nil
MooseCustomTask>>basicRun
Receiver: a MooseCustomTask
Arguments and temporary variables:
Receiver's instance variables:
progBar: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
retu...etc...
nb: 8
computation: [:bar |
allModelMethods := aMooseModel allMethods
select: [:e...etc...
description: 'OverviewPyramid - computing metrics'
length: 11
[:bar |
progBar := bar.
result := self basicRun] in [self setUp.
nb := 0.
UIManager default
displayProgress: self description
at: Sensor cursorPoint
from: 1
to: self length
during: [:bar |
progBar := bar.
result := self basicRun]] in
MooseCustomTask(MooseTask)>>runWithProgress
Receiver: a MooseCustomTask
Arguments and temporary variables:
result: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
retur...etc...
bar: #(nil)
Receiver's instance variables:
progBar: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
retu...etc...
nb: 8
computation: [:bar |
allModelMethods := aMooseModel allMethods
select: [:e...etc...
description: 'OverviewPyramid - computing metrics'
length: 11
[result := workBlock value: progress] in [[result := workBlock
value: progress]
on: ProgressNotification
do: [:ex |
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress
put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException:
Arguments and temporary variables:
progress: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
BlockClosure>>on:do:
Receiver: [result := workBlock value: progress]
Arguments and temporary variables:
exception: ProgressNotification
handlerAction: [:ex |
ex extraParam isString
ifTrue: [SystemProgressMorph un...etc...
handlerActive: true
Receiver's instance variables:
outerContext: [[result := workBlock value: progress]
on: ProgressNotification...etc...
startpc: 83
numArgs: 0
[[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress
put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException:
Arguments and temporary variables:
progress: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
BlockClosure>>ensure:
Receiver: [[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |
ex extr...etc...
Arguments and temporary variables:
aBlock: [SystemProgressMorph close: progress]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: ProgressInitiationException>>defaultMorphicAction
startpc: 77
numArgs: 0
ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException:
Arguments and temporary variables:
progress: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
MorphicUIManager>>progressInitiationExceptionDefaultAction:
Receiver: a MorphicUIManager
Arguments and temporary variables:
anException: ProgressInitiationException:
Receiver's instance variables:
interactiveParser: nil
ProgressInitiationException>>defaultAction
Receiver: ProgressInitiationException:
Arguments and temporary variables:
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
UndefinedObject>>handleSignal:
Receiver: nil
Arguments and temporary variables:
exception: ProgressInitiationException:
Receiver's instance variables:
nil
MethodContext(ContextPart)>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:
exception: ProgressInitiationException:
val: nil
Receiver's instance variables:
sender: PasteUpMorph>>becomeActiveDuring:
pc: 17
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(25427968)")
closureOrNil: nil
receiver: [aBlock value]
ProgressInitiationException(Exception)>>signal
Receiver: ProgressInitiationException:
Arguments and temporary variables:
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
ProgressInitiationException>>display:at:from:to:during:
Receiver: ProgressInitiationException:
Arguments and temporary variables:
argString: 'OverviewPyramid - computing metrics'
argPoint: 296@172
argMinVal: 1
argMaxVal: 11
argWorkBlock: [:bar |
progBar := bar.
result := self basicRun]
Receiver's instance variables:
messageText: nil
tag: nil
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |
progBar := bar.
result := self basicRun]
maxVal: 11
minVal: 1
aPoint: 296@172
progressTitle: 'OverviewPyramid - computing metrics'
ProgressInitiationException class>>display:at:from:to:during:
Receiver: ProgressInitiationException
Arguments and temporary variables:
aString: 'OverviewPyramid - computing metrics'
aPoint: 296@172
minVal: 1
maxVal: 11
workBlock: [:bar |
progBar := bar.
result := self basicRun]
Receiver's instance variables:
superclass: Exception
methodDict: a
MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
format: 150
instanceVariables: #('workBlock' 'maxVal' 'minVal'
'aPoint'
'progressTitle')
organization: ('*Morphic' defaultMorphicAction)
('accessing' maxVal minVal poin...etc...
subclasses: nil
name: #ProgressInitiationException
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'UIManager-Support'
traitComposition: {}
localSelectors: nil
MorphicUIManager>>displayProgress:at:from:to:during:
Receiver: a MorphicUIManager
Arguments and temporary variables:
titleString: 'OverviewPyramid - computing metrics'
aPoint: 296@172
minVal: 1
maxVal: 11
workBlock: [:bar |
progBar := bar.
result := self basicRun]
Receiver's instance variables:
interactiveParser: nil
[self setUp.
nb := 0.
UIManager default
displayProgress: self description
at: Sensor cursorPoint
from: 1
to: self length
during: [:bar |
progBar := bar.
result := self basicRun]] in
MooseCustomTask(MooseTask)>>runWithProgress
Receiver: a MooseCustomTask
Arguments and temporary variables:
result: #(nil)
Receiver's instance variables:
progBar: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
retu...etc...
nb: 8
computation: [:bar |
allModelMethods := aMooseModel allMethods
select: [:e...etc...
description: 'OverviewPyramid - computing metrics'
length: 11
BlockClosure>>ensure:
Receiver: [self setUp.
nb := 0.
UIManager default
displayProgress: self description
at: Sensor...etc...
Arguments and temporary variables:
aBlock: [self tearDown]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: MooseCustomTask(MooseTask)>>runWithProgress
startpc: 65
numArgs: 0
MooseCustomTask(MooseTask)>>runWithProgress
Receiver: a MooseCustomTask
Arguments and temporary variables:
result: #(nil)
Receiver's instance variables:
progBar: [:barValArg |
| barVal return newBarSize |
barVal := barValArg.
retu...etc...
nb: 8
computation: [:bar |
allModelMethods := aMooseModel allMethods
select: [:e...etc...
description: 'OverviewPyramid - computing metrics'
length: 11
MooseCustomTask class>>runWithProgress:description:length:
Receiver: MooseCustomTask
Arguments and temporary variables:
aBlock: [:bar |
allModelMethods := aMooseModel allMethods
select: [:each |...etc...
aDescription: 'OverviewPyramid - computing metrics'
aNumber: 11
Receiver's instance variables:
superclass: MooseTask
methodDict: a
MethodDictionary(#basicRun->(MooseCustomTask>>#basicRun "a
Compil...etc...
format: 140
instanceVariables: #('computation' 'description' 'length')
organization: ('as yet unclassified' basicRun description length
with:descripti...etc...
subclasses: nil
name: #MooseCustomTask
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Moose-Core'
traitComposition: {}
localSelectors: nil
OverviewPyramidMetrics>>model:
Receiver: an OverviewPyramidMetrics
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
nop: 0
noc: 27
nom: 238
loc: 4230
cyclo: 760
fanout: 81
calls: nil
andc: nil
ahh: nil
OverviewPyramidMetrics class>>on:
Receiver: OverviewPyramidMetrics
Arguments and temporary variables:
aMooseModel: a MooseModel #'verveine.extractor.java'(5820)
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#ahh->(OverviewPyramidMetrics>>#ahh
"a CompiledM...etc...
format: 148
instanceVariables: #('nop' 'noc' 'nom' 'loc'
'cyclo' 'fanout'
'calls' 'andc' 'a...etc...
organization: ('accessing' ahh: andc: calls: cyclo: fanout: loc:
noc: nom: nop:...etc...
subclasses: nil
name: #OverviewPyramidMetrics
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Famix-Extensions'
traitComposition: {}
localSelectors: nil
--- The full stack ---
FAMIXEnum(Object)>>doesNotUnderstand: #lookUp:
[:each | | invokedMtd | each isASureInvocation
ifTrue: [invokedMtd := each getReceivingFAMIXClass lookUp: each
signature.
invokedMtd isNil
ifFalse: [(invokedMtd isAbstract
or: [invokedMtd = self])
ifFalse: [sureInvokedMtdsSet add: invokedMtd]]]] in
FAMIXMethod>>privateSureInvokedMethods
OrderedCollection>>do:
FMMultivalueLink>>do:
FAMIXMethod>>privateSureInvokedMethods
[self privateSureInvokedMethods] in FAMIXMethod>>sureInvokedMethods
SmallDictionary>>at:ifAbsentPut:
MooseDefaultState>>cacheAt:ifAbsentPut:
FAMIXMethod>>sureInvokedMethods
FAMIXMethod>>invokedMethods
[:each | each invokedMethods size] in [:bar |
allModelMethods := aMooseModel allMethods
select: [:each | each isStub not].
bar increment.
allModelClasses := aMooseModel allModelClasses.
bar increment.
nop := aMooseModel allModelPackages size.
bar increment.
noc := allModelClasses size.
bar increment.
nom := allModelMethods size.
bar increment.
loc := allModelMethods sum: #numberOfLinesOfCode.
bar increment.
cyclo := allModelMethods sum: #cyclomaticComplexity.
bar increment.
fanout := allModelClasses sum: #fanOut.
bar increment.
calls := allModelMethods
sum: [:each | each invokedMethods size].
bar increment.
andc := (allModelClasses
sum: [:class | class directSubclasses size])
/ noc.
bar increment.
ahh := allModelClasses average: #hierarchyNestingLevel.
bar increment] in OverviewPyramidMetrics>>model:
[:sum :each | sum
+ (aSymbolOrBlock value: each)] in
FAMIXMethodGroup(MooseGroup)>>sum:
[:each | nextValue := binaryBlock value: nextValue value: each] in
OrderedCollection(Collection)>>inject:into:
OrderedCollection>>do:
OrderedCollection(Collection)>>inject:into:
FAMIXMethodGroup(MooseAbstractGroup)>>inject:into:
FAMIXMethodGroup(MooseGroup)>>sum:
[:bar |
allModelMethods := aMooseModel allMethods
select: [:each | each isStub not].
bar increment.
allModelClasses := aMooseModel allModelClasses.
bar increment.
nop := aMooseModel allModelPackages size.
bar increment.
noc := allModelClasses size.
bar increment.
nom := allModelMethods size.
bar increment.
loc := allModelMethods sum: #numberOfLinesOfCode.
bar increment.
cyclo := allModelMethods sum: #cyclomaticComplexity.
bar increment.
fanout := allModelClasses sum: #fanOut.
bar increment.
calls := allModelMethods
sum: [:each | each invokedMethods size].
bar increment.
andc := (allModelClasses
sum: [:class | class directSubclasses size])
/ noc.
bar increment.
ahh := allModelClasses average: #hierarchyNestingLevel.
bar increment] in OverviewPyramidMetrics>>model:
MooseCustomTask>>basicRun
[:bar |
progBar := bar.
result := self basicRun] in [self setUp.
nb := 0.
UIManager default
displayProgress: self description
at: Sensor cursorPoint
from: 1
to: self length
during: [:bar |
progBar := bar.
result := self basicRun]] in
MooseCustomTask(MooseTask)>>runWithProgress
[result := workBlock value: progress] in [[result := workBlock
value: progress]
on: ProgressNotification
do: [:ex |
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress
put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>on:do:
[[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress
put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>ensure:
ProgressInitiationException>>defaultMorphicAction
MorphicUIManager>>progressInitiationExceptionDefaultAction:
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
MorphicUIManager>>displayProgress:at:from:to:during:
[self setUp.
nb := 0.
UIManager default
displayProgress: self description
at: Sensor cursorPoint
from: 1
to: self length
during: [:bar |
progBar := bar.
result := self basicRun]] in
MooseCustomTask(MooseTask)>>runWithProgress
BlockClosure>>ensure:
MooseCustomTask(MooseTask)>>runWithProgress
MooseCustomTask class>>runWithProgress:description:length:
OverviewPyramidMetrics>>model:
OverviewPyramidMetrics class>>on:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
[OverviewPyramidMetrics on: self] in
MooseModel>>overviewPyramidMetrics
SmallDictionary>>at:ifAbsentPut:
MooseDefaultState>>propertyAt:ifAbsentPut:
MooseModel>>overviewPyramidMetrics
OverviewPyramid>>initializeWith:
OverviewPyramid class>>on:
MooseModel>>viewOverviewPyramidMap
[:x | self perform: eachPragma selector] in [:eachPragma |
GLMGenericAction new
action: [:x | self perform: eachPragma selector];
title: (eachPragma argumentAt: 1);
category: (eachPragma argumentAt: 2)] in [:eachClass |
categorized := (Pragma allNamed: #menuItem:category: in: eachClass)
collect: [:eachPragma | GLMGenericAction new
action: [:x | self perform: eachPragma selector];
title: (eachPragma argumentAt: 1);
category: (eachPragma argumentAt: 2)].
simple := (Pragma allNamed: #menuItem: in: eachClass)
collect: [:eachPragma | GLMGenericAction new
action: [:x | self perform: eachPragma selector];
title: (eachPragma argumentAt: 1)].
categorized , simple] in MooseModel(Object)>>mooseFinderActions
BlockClosure>>glamourValueWithArgs:
GLMGenericAction(GLMAction)>>actOn:
[:ann | ann action actOn: aPresentation] in
GLMMorphicListRenderer(GLMMorphicWidgetRenderer)>>installActionsOnUI:fromPresentation:
[:each | answer := each valueWithArguments: anArray] in
ActionSequence>>valueWithArguments:
ActionSequence(SequenceableCollection)>>do:
ActionSequence>>valueWithArguments:
[:class :actions | (class handles: announcement)
ifTrue: [actions
valueWithArguments: (Array with: announcement)]] in
GLMAnnouncer>>announce:
[:assoc | aBlock value: assoc key value: assoc value] in
IdentityDictionary(Dictionary)>>keysAndValuesDo:
[:each | each
ifNotNil: [aBlock value: each]] in
IdentityDictionary(Dictionary)>>associationsDo:
Array(SequenceableCollection)>>do:
IdentityDictionary(Dictionary)>>associationsDo:
IdentityDictionary(Dictionary)>>keysAndValuesDo:
GLMAnnouncer>>announce:
GLMTreeMorphModel>>announce:
GLMTreeMorphNodeModel>>executeMenuAction:
[| selArgCount | (selArgCount := selector numArgs) = 0
ifTrue: [target perform: selector]
ifFalse: [selArgCount = arguments size
ifTrue: [target perform: selector withArguments: arguments]
ifFalse: [target
perform: selector
withArguments: (arguments copyWith: evt)]]] in
ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
ToggleMenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
ToggleMenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent
transformedBy: (focusHolder transformedFrom: self))] in
HandMorph>>sendFocusEvent:to:clear:
[aBlock value] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[:h |
ActiveHand := h.
h processEvents.
ActiveHand := nil] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[[World doOneCycle.
Processor yield.
false] whileFalse.
nil] in Project class>>spawnNewProcess
[self value.
Processor terminateActive] in BlockClosure>>newProcess
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"What is more important: To be happy, or to make happy?"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev