Hi Stef,
Thanks for letting us know. It would be even more useful if you would tell us what the
problems were and how to reproduce them.
Cheers,
Doru
On 24 May 2011, at 21:27, Stéphane Ducasse wrote:
just for your info.
I will not use a Java model for my presentation friday because there are DNU popping up a
lot.
In 10 min clicking I got at least 3 or 4 bugs.
Stef
On May 24, 2011, at 3:35 PM, Tudor Girba wrote:
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
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev