Funny, I do have a DNU problem, but the method is hierarchyNestingLevel
mse file for eclipse available at http://dl.dropbox.com/u/12861461/eclipse.mse.zip
nicolas
PS: I can look at some point, but not right now
----- Mail original -----
De: "Tudor Girba" tudor@tudorgirba.com À: "Moose-related development" moose-dev@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@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@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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev