Thanks Doru,
(I never hit the right indentation level in mailing lists, sorry about that)
My guess is that there is an error in computing the lines of code for some of your code. When you get the error, the entity should be the class that creates the problem. Then you can take a closer look to see if LOC is computed correctly for at all its methods.
OK that's simple enough for me:
* I choose some (any) 2 classes from the model in the Moose browser to get a group, they are (for example)
#'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecordForText'
inspect them - everything's fine - totalNumberOfLinesOfCode's fine, every single method, too.
So, now I render system complexity from the classGroup Button in the Moose browser, or in the easel, get the error (UndefinedObject does not understand '>' in max:), and in the debugger is ANOTHER class as entity (Root::Smalltalk::Tools::SmalltalkWorkbench ?!). That class, I see, has some heavy overridings of bindingxx and promptxx methods - shouldn't matter, should it?
Inspect it:
* self numberOfLinesOfCode -> ERROR:
Parser(Object)>>doesNotUnderstand: a Message with selector: #nodeDo: and arguments: #(a SCG.Moose.VisualWorksParseTreeMetricCalculator) VisualWorksParseTreeMetricCalculator(ProgramNodeEnumerator)>>doNode: aParser ...
Should there be ANOTHER class at all as entity? I thought I selected 2 classes only.
To me it seems, that system under inspection has some funny overridings of library code ... (thats a diagnosis, too, at least ;-)
Tx for any hint.
Thomas Schrader
*** complete debugger stack from the original error ***
Unhandled exception: Message not understood: #< UndefinedObject(Object)>>doesNotUnderstand: SmallInteger(Magnitude)>>> SmallInteger>>> SmallInteger(Integer)>>max: optimized [] in Mondrian.LinearNormalizer>>maximumValue: optimized [] in Collection>>inject:into: Array(SequenceableCollection)>>do: Array(Collection)>>inject:into: SCG.Moose.ClassGroup(SCG.Moose.AbstractGroup)>>inject:into: Mondrian.ColorLinearNormalizer(Mondrian.LinearNormalizer)>>maximumValue: Mondrian.ColorLinearNormalizer>>mondrianValue: Mondrian.RectangleShape(Mondrian.AbstractRectangleShape)>>fillColorFor: Mondrian.RectangleShape>>privateDisplayFigure:on: Mondrian.RectangleShape(Mondrian.AbstractShape)>>displayFigure:on: Mondrian.Shape>>doesNotUnderstand: optimized [] in Mondrian.AbstractShape>>displayFigure:on: OrderedCollection>>do: Mondrian.ChildrenShape(Mondrian.AbstractShape)>>displayFigure:on: Mondrian.NodeFigure(Mondrian.AbstractFigure)>>primDisplayOn: optimized [] in Mondrian.AbstractFigure>>displayOn: OrderedCollection>>do: Mondrian.Drawing(Mondrian.AbstractFigure)>>displayOn: Mondrian.Drawing>>displayOn: Mondrian.ZoomWrapper>>displayOn: ScrollWrapper(TranslatingWrapper)>>displayOn: BorderedWrapper>>displayOn: optimized [] in CompositePart>>displayOn: OrderedCollection>>do: BorderDecorator(CompositePart)>>displayOn: BoundedWrapper>>displayOn: SpecWrapper(Wrapper)>>displayOn: SpecWrapper(WidgetWrapper)>>displayOn: optimized [] in CompositePart>>displayOn: OrderedCollection>>do: CompositePart>>displayOn: DoubleBufferingWindowDisplayPolicy>>displayDamageList:in: ApplicationWindow(ScheduledWindow)>>displayDamageEvent: ApplicationWindow(ScheduledWindow)>>displayPendingInvalidation Mondrian.MondrianUI(ApplicationModel)>>openInterface:withPolicy:inSession: Mondrian.MondrianUI(ApplicationModel)>>openInterface:withPolicy: Mondrian.MondrianUI(ApplicationModel)>>openInterface: Mondrian.MondrianUI(ApplicationModel)>>openInterface Mondrian.MondrianUI(ApplicationModel)>>open Mondrian.ViewRenderer>>open SCG.Moose.ClassGroup>>viewSystemComplexity SCG.Moose.MetaAction>>invokeOn:withArguments: SCG.Moose.ClassGroup(Object)>>mmInvoke:arguments: SCG.Moose.ClassGroup(Object)>>mmInvoke: optimized [] in [] in [] in SCG.Moose.MooseElement>>menu SCG.Moose.MooseBrowserGroupUI>>openGroupMenu optimized [] in ApplicationModel>>actionFor: optimized [] in ActionButtonSpec>>typeConvert: PluggableAdaptor>>setValue: PluggableAdaptor(ValueModel)>>value: TriggerButtonController>>pressAction TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: TriggerButtonTracker>>finishSelectionFor: TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: RedButtonReleasedEvent>>dispatchTo: TriggerButtonTracker(SelectionTracker)>>handleEvent: EventDispatcher>>dispatch:to: EventDispatcher>>dispatchEvent: RedButtonReleasedEvent(Event)>>dispatch RedButtonReleasedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority:
---------------------------------------------------------------------- UndefinedObject(Object)>>doesNotUnderstand: Receiver: an UndefinedObject Arguments: t1 = a Message with selector: #< and arguments: #(6820) Temporaries: t2 = a MessageNotUnderstood t3 = nil Context PC = 25
---------------------------------------------------------------------- SmallInteger(Magnitude)>>> Receiver: a SmallInteger Arguments: t1 = nil Context PC = 4
---------------------------------------------------------------------- SmallInteger>>> Receiver: a SmallInteger Arguments: t1 = nil Context PC = 10
---------------------------------------------------------------------- SmallInteger(Integer)>>max: Receiver: a SmallInteger Arguments: anInteger = nil Context PC = 4
---------------------------------------------------------------------- optimized [] in Mondrian.LinearNormalizer>>maximumValue: Receiver: an UndefinedObject Arguments: maximum = 6820 entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::Tools::SmalltalkWorkbench' Temporaries: .self = a Mondrian.ColorLinearNormalizer Context PC = 11
---------------------------------------------------------------------- optimized [] in Collection>>inject:into: Receiver: an UndefinedObject Arguments: t4 = a SCG.Moose.FAMIXClass #'Root::Smalltalk::Tools::SmalltalkWorkbench' Temporaries: .t2 = BlockClosure [] in Mondrian.LinearNormalizer>>maximumValue: t3 = 6820 Context PC = 9
---------------------------------------------------------------------- Array(SequenceableCollection)>>do: Receiver: an Array Arguments: aBlock = BlockClosure [] in Collection>>inject:into: Temporaries: i = 924 elem = a SCG.Moose.FAMIXClass #'Root::Smalltalk::Tools::SmalltalkWorkbench' Context PC = 40
---------------------------------------------------------------------- Array(Collection)>>inject:into: Receiver: an Array Arguments: t1 = 1 t2 = BlockClosure [] in Mondrian.LinearNormalizer>>maximumValue: Temporaries: t3 = 6820 Context PC = 15
---------------------------------------------------------------------- SCG.Moose.ClassGroup(SCG.Moose.AbstractGroup)>>inject:into: Receiver: a SCG.Moose.ClassGroup Instance Variables: mooseID = nil state = a SCG.Moose.DefaultEntityState storage = a SCG.Moose.SetupStorage[4990] Arguments: neutral = 1 aBinaryBlock = BlockClosure [] in Mondrian.LinearNormalizer>>maximumValue: Context PC = 7
---------------------------------------------------------------------- Mondrian.ColorLinearNormalizer(Mondrian.LinearNormalizer)>>maximumValue: Receiver: a Mondrian.ColorLinearNormalizer Instance Variables: context = BlockClosure [] in Mondrian.Shape class>>forFamixClass command = a SCG.PropertyWrapper maximumValue = nil minBrightness = nil maxBrightness = nil lowColor = CodeFoo.Color white highColor = CodeFoo.Color black Arguments: anEntity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' Context PC = 16
---------------------------------------------------------------------- Mondrian.ColorLinearNormalizer>>mondrianValue: Receiver: a Mondrian.ColorLinearNormalizer Instance Variables: context = BlockClosure [] in Mondrian.Shape class>>forFamixClass command = a SCG.PropertyWrapper maximumValue = nil minBrightness = nil maxBrightness = nil lowColor = CodeFoo.Color white highColor = CodeFoo.Color black Arguments: anEntity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' Temporaries: myValue = 177 myHighColor = CodeFoo.Color black myLowColor = CodeFoo.Color white myMinBrightness = 0.0 myMaxBrightness = 1.0 weight = nil Context PC = 35
---------------------------------------------------------------------- Mondrian.RectangleShape(Mondrian.AbstractRectangleShape)>>fillColorFor: Receiver: a Mondrian.RectangleShape Instance Variables: decorates = nil callbackHandle = nil decorators = an OrderedCollection[1] align = #origin descriptionBlock = nil marginTop = 0 marginBottom = 0 marginLeft = 0 marginRight = 0 fixedWidth = false fixedHeight = false horizontalFill = false verticalFill = false horizontalGrow = false verticalGrow = false fillColorBlock = a Mondrian.ColorLinearNormalizer heightBlock = a SCG.PropertyWrapper widthBlock = a SCG.PropertyWrapper xBlock = nil yBlock = nil minimumHeightBlock = nil minimumWidthBlock = nil maximumHeightBlock = nil maximumWidthBlock = nil baseHeightBlock = 5 baseWidthBlock = 5 patternColorBlock = nil patternNameBlock = nil Arguments: anEntity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' Context PC = 16
---------------------------------------------------------------------- Mondrian.RectangleShape>>privateDisplayFigure:on: Receiver: a Mondrian.RectangleShape Instance Variables: decorates = nil callbackHandle = nil decorators = an OrderedCollection[1] align = #origin descriptionBlock = nil marginTop = 0 marginBottom = 0 marginLeft = 0 marginRight = 0 fixedWidth = false fixedHeight = false horizontalFill = false verticalFill = false horizontalGrow = false verticalGrow = false fillColorBlock = a Mondrian.ColorLinearNormalizer heightBlock = a SCG.PropertyWrapper widthBlock = a SCG.PropertyWrapper xBlock = nil yBlock = nil minimumHeightBlock = nil minimumWidthBlock = nil maximumHeightBlock = nil maximumWidthBlock = nil baseHeightBlock = 5 baseWidthBlock = 5 patternColorBlock = nil patternNameBlock = nil Arguments: aFigure = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' aGraphicsContext = a ZoomGraphicsContext Temporaries: patternColor = nil paint = nil Context PC = 6
---------------------------------------------------------------------- Mondrian.RectangleShape(Mondrian.AbstractShape)>>displayFigure:on: Receiver: a Mondrian.RectangleShape Instance Variables: decorates = nil callbackHandle = nil decorators = an OrderedCollection[1] align = #origin descriptionBlock = nil marginTop = 0 marginBottom = 0 marginLeft = 0 marginRight = 0 fixedWidth = false fixedHeight = false horizontalFill = false verticalFill = false horizontalGrow = false verticalGrow = false fillColorBlock = a Mondrian.ColorLinearNormalizer heightBlock = a SCG.PropertyWrapper widthBlock = a SCG.PropertyWrapper xBlock = nil yBlock = nil minimumHeightBlock = nil minimumWidthBlock = nil maximumHeightBlock = nil maximumWidthBlock = nil baseHeightBlock = 5 baseWidthBlock = 5 patternColorBlock = nil patternNameBlock = nil Arguments: aFigure = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' aGraphicContext = a ZoomGraphicsContext Context PC = 6
---------------------------------------------------------------------- Mondrian.Shape>>doesNotUnderstand: Receiver: a Mondrian.Shape Instance Variables: stack = an OrderedCollection[2] Arguments: aMessage = a Message with selector: #displayFigure:on: and arguments: #(a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' a ZoomGraphicsContext) Context PC = 10
---------------------------------------------------------------------- optimized [] in Mondrian.AbstractShape>>displayFigure:on: Receiver: an UndefinedObject Arguments: decorator = a Mondrian.Shape Temporaries: .aFigure = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' .aGraphicContext = a ZoomGraphicsContext Context PC = 7
---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 1 Arguments: aBlock = BlockClosure [] in Mondrian.AbstractShape>>displayFigure:on: Temporaries: index = 1 Context PC = 43
---------------------------------------------------------------------- Mondrian.ChildrenShape(Mondrian.AbstractShape)>>displayFigure:on: Receiver: a Mondrian.ChildrenShape Instance Variables: decorates = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' callbackHandle = a Mondrian.Drawing Entity = nil decorators = an OrderedCollection[1] align = nil descriptionBlock = nil marginTop = 0 marginBottom = 0 marginLeft = 0 marginRight = 0 Arguments: aFigure = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' aGraphicContext = a ZoomGraphicsContext Context PC = 16
---------------------------------------------------------------------- Mondrian.NodeFigure(Mondrian.AbstractFigure)>>primDisplayOn: Receiver: a Mondrian.NodeFigure Instance Variables: container = a Mondrian.Drawing Entity = nil eventHandlers = nil shapeBounds = an IdentityDictionary[3] entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' selected = false handles = nil shape = a Mondrian.ChildrenShape fixed = false eventHandler = a Mondrian.EventHandler bounds = 3@3 corner: 13@30 visible = true elements = nil nodeFigures = an OrderedCollection[0] layout = nil edgeFigures = an OrderedCollection[0] deepNodes = an OrderedCollection[0] incomingEdges = an OrderedCollection[0] outgoingEdges = an OrderedCollection[1] xBlock = nil yBlock = nil growVertically = false growHorizontally = false fixedWidthBlock = nil fixedHeightBlock = nil preferredWidth = 10 preferredHeight = 27 xOffset = 0 adjustor = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' Arguments: aGraphicsContext = a ZoomGraphicsContext Temporaries: clipping = 3@3 corner: 13@30 oldClipping = 0@0 corner: 780@526 Context PC = 22
---------------------------------------------------------------------- optimized [] in Mondrian.AbstractFigure>>displayOn: Receiver: an UndefinedObject Arguments: each = a Mondrian.NodeFigure Entity = a SCG.Moose.FAMIXClass #'Root::Smalltalk::BCW::Kroni::SD::AbstractEDIRecord' Temporaries: .clippingRectangle = 0@0 corner: 780@526 .aGraphicsContext = a ZoomGraphicsContext Context PC = 11
---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 3 Arguments: aBlock = BlockClosure [] in Mondrian.AbstractFigure>>displayOn: Temporaries: index = 2 Context PC = 43
---------------------------------------------------------------------- Mondrian.Drawing(Mondrian.AbstractFigure)>>displayOn: Receiver: a Mondrian.Drawing Instance Variables: container = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil eventHandlers = nil shapeBounds = an IdentityDictionary[0] entity = nil selected = false handles = nil shape = nil fixed = false eventHandler = a Mondrian.EventHandler bounds = 0@0 corner: 16@66 visible = true elements = an OrderedCollection[3] nodeFigures = an OrderedCollection[2] layout = a Mondrian.NarrowTreeLayout edgeFigures = an OrderedCollection[1] deepNodes = an OrderedCollection[2] adjustor = nil allHandles = an OrderedCollection[0] controller = a Mondrian.DrawingController scrollOffsetHolder = a ScrollValueHolder Arguments: aGraphicsContext = a ZoomGraphicsContext Temporaries: clippingRectangle = 0@0 corner: 780@526 Context PC = 27
---------------------------------------------------------------------- Mondrian.Drawing>>displayOn: Receiver: a Mondrian.Drawing Instance Variables: container = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil eventHandlers = nil shapeBounds = an IdentityDictionary[0] entity = nil selected = false handles = nil shape = nil fixed = false eventHandler = a Mondrian.EventHandler bounds = 0@0 corner: 16@66 visible = true elements = an OrderedCollection[3] nodeFigures = an OrderedCollection[2] layout = a Mondrian.NarrowTreeLayout edgeFigures = an OrderedCollection[1] deepNodes = an OrderedCollection[2] adjustor = nil allHandles = an OrderedCollection[0] controller = a Mondrian.DrawingController scrollOffsetHolder = a ScrollValueHolder Arguments: aGraphicsContext = a ZoomGraphicsContext Context PC = 6
---------------------------------------------------------------------- Mondrian.ZoomWrapper>>displayOn: Receiver: a Mondrian.ZoomWrapper Instance Variables: container = a ScrollWrapper on: a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil eventHandlers = nil component = a Mondrian.Drawing Entity = nil zoomFactor = 1.0d Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: newGc = a ZoomGraphicsContext Context PC = 12
---------------------------------------------------------------------- ScrollWrapper(TranslatingWrapper)>>displayOn: Receiver: a ScrollWrapper Instance Variables: container = a BorderedWrapper on: a ScrollWrapper on: a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil eventHandlers = nil component = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil origin = a ScrollValueHolder dependents = a DependentsCollection[6] preferredBoundsBlock = nil Arguments: t1 = a ScreenGraphicsContext Context PC = 11
---------------------------------------------------------------------- BorderedWrapper>>displayOn: Receiver: a BorderedWrapper Instance Variables: container = a BorderDecorator eventHandlers = nil component = a ScrollWrapper on: a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil origin = 0@0 layout = a LayoutFrame extent = 784@530 insetDisplayBox = 2@2 corner: 782@528 border = a Win95Border inset = 0 insideColor = nil Arguments: t1 = a ScreenGraphicsContext Temporaries: t2 = 0@0 corner: 784@530 t3 = 0@0 corner: 784@530 t4 = 2@2 corner: 782@528 Context PC = 64
---------------------------------------------------------------------- optimized [] in CompositePart>>displayOn: Receiver: an UndefinedObject Arguments: component = a BorderedWrapper on: a ScrollWrapper on: a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Temporaries: .clipBox = 0@0 corner: 800@546 .aGraphicsContext = a ScreenGraphicsContext Context PC = 14
---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 Arguments: aBlock = BlockClosure [] in CompositePart>>displayOn: Temporaries: index = 1 Context PC = 43
---------------------------------------------------------------------- BorderDecorator(CompositePart)>>displayOn: Receiver: a BorderDecorator Instance Variables: container = a BoundedWrapper on: a BorderDecorator eventHandlers = nil components = an OrderedCollection[4] preferredBounds = 0@0 corner: 800@546 component = a ScrollWrapper on: a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil widgetFlags = 11 policy = nil Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: clipBox = 0@0 corner: 800@546 Context PC = 12
---------------------------------------------------------------------- BoundedWrapper>>displayOn: Receiver: a BoundedWrapper Instance Variables: container = a SpecWrapper on: a BoundedWrapper on: a BorderDecorator #drawingWrapper eventHandlers = nil component = a BorderDecorator origin = 0@28 layout = a LayoutFrame extent = 800@546 Arguments: t1 = a ScreenGraphicsContext Context PC = 14
---------------------------------------------------------------------- SpecWrapper(Wrapper)>>displayOn: Receiver: a SpecWrapper Instance Variables: container = a CompositePart eventHandlers = nil component = a BoundedWrapper on: a BorderDecorator widget = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil widgetState = a WidgetState effectivelyVisible = true decorator = a BorderDecorator dependents = nil dropTarget = nil spec = an ArbitraryComponentSpec Arguments: t1 = a ScreenGraphicsContext Context PC = 7
---------------------------------------------------------------------- SpecWrapper(WidgetWrapper)>>displayOn: Receiver: a SpecWrapper Instance Variables: container = a CompositePart eventHandlers = nil component = a BoundedWrapper on: a BorderDecorator widget = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil widgetState = a WidgetState effectivelyVisible = true decorator = a BorderDecorator dependents = nil dropTarget = nil spec = an ArbitraryComponentSpec Arguments: t1 = a ScreenGraphicsContext Temporaries: t2 = a LookPreferences[7] Context PC = 26
---------------------------------------------------------------------- optimized [] in CompositePart>>displayOn: Receiver: an UndefinedObject Arguments: component = a SpecWrapper on: a BoundedWrapper on: a BorderDecorator #drawingWrapper Temporaries: .clipBox = 0@0 corner: 800@600 .aGraphicsContext = a ScreenGraphicsContext Context PC = 14
---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 7 Arguments: aBlock = BlockClosure [] in CompositePart>>displayOn: Temporaries: index = 1 Context PC = 43
---------------------------------------------------------------------- CompositePart>>displayOn: Receiver: a CompositePart Instance Variables: container = an ApplicationWindow 636 eventHandlers = nil components = an OrderedCollection[7] preferredBounds = 0@0 corner: 800@600 Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: clipBox = 0@0 corner: 800@600 Context PC = 12
---------------------------------------------------------------------- DoubleBufferingWindowDisplayPolicy>>displayDamageList:in: Receiver: a DoubleBufferingWindowDisplayPolicy Instance Variables: pixmap = a Pixmap Arguments: t1 = an Array[1] t2 = an ApplicationWindow 636 Temporaries: t3 = 0@0 corner: 800@600 t4 = a Pixmap t5 = a ScreenGraphicsContext t6 = a CompositePart t7 = nil Context PC = 58
---------------------------------------------------------------------- ApplicationWindow(ScheduledWindow)>>displayDamageEvent: Receiver: an ApplicationWindow Instance Variables: handle = a GraphicsHandle(636) width = 800 height = 600 background = a DevicePaint inputOrigin = -32000@-32000 creationOrigin = 240@212 sensor = an EventSensor iconic = true windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Mondrian' icon = an Icon minimumSize = 20@20 maximumSize = 0@0 component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a Win95BorderDecorationPolicy widgetPolicy = a Win98WidgetPolicy controller = an ApplicationStandardSystemController model = a Mondrian.MondrianUI damageRepairPolicy = a DoubleBufferingWindowDisplayPolicy masterWindow = nil keyboardProcessor = a KeyboardProcessor application = nil sendWindowEvents = nil receiveWindowEvents = nil windowEventBlock = nil damageRepairIsLazy = true activationNotification = true isEventDriven = nil toolbarVisible = true dropTarget = nil dragDropInProgress = nil dragDropTracker = nil Arguments: t1 = an Array[1] Context PC = 7
---------------------------------------------------------------------- ApplicationWindow(ScheduledWindow)>>displayPendingInvalidation Receiver: an ApplicationWindow Instance Variables: handle = a GraphicsHandle(636) width = 800 height = 600 background = a DevicePaint inputOrigin = -32000@-32000 creationOrigin = 240@212 sensor = an EventSensor iconic = true windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Mondrian' icon = an Icon minimumSize = 20@20 maximumSize = 0@0 component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a Win95BorderDecorationPolicy widgetPolicy = a Win98WidgetPolicy controller = an ApplicationStandardSystemController model = a Mondrian.MondrianUI damageRepairPolicy = a DoubleBufferingWindowDisplayPolicy masterWindow = nil keyboardProcessor = a KeyboardProcessor application = nil sendWindowEvents = nil receiveWindowEvents = nil windowEventBlock = nil damageRepairIsLazy = true activationNotification = true isEventDriven = nil toolbarVisible = true dropTarget = nil dragDropInProgress = nil dragDropTracker = nil Context PC = 24
---------------------------------------------------------------------- Mondrian.MondrianUI(ApplicationModel)>>openInterface:withPolicy:inSession: Receiver: a Mondrian.MondrianUI Instance Variables: dependents = an ApplicationWindow 636 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil drawing = a Mondrian.Drawing Entity = nil figureDescription = AspectAdaptor(a Mondrian.DrawingController figureDescription) zoomFactor = AspectAdaptor(a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil zoomFactor) drawingWrapper = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Arguments: t1 = #windowSpec t2 = a Win98LookPolicy t3 = a ControlManager Temporaries: t4 = a FullSpec Context PC = 68
---------------------------------------------------------------------- Mondrian.MondrianUI(ApplicationModel)>>openInterface:withPolicy: Receiver: a Mondrian.MondrianUI Instance Variables: dependents = an ApplicationWindow 636 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil drawing = a Mondrian.Drawing Entity = nil figureDescription = AspectAdaptor(a Mondrian.DrawingController figureDescription) zoomFactor = AspectAdaptor(a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil zoomFactor) drawingWrapper = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Arguments: t1 = #windowSpec t2 = a Win98LookPolicy Temporaries: t3 = a ControlManager Context PC = 17
---------------------------------------------------------------------- Mondrian.MondrianUI(ApplicationModel)>>openInterface: Receiver: a Mondrian.MondrianUI Instance Variables: dependents = an ApplicationWindow 636 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil drawing = a Mondrian.Drawing Entity = nil figureDescription = AspectAdaptor(a Mondrian.DrawingController figureDescription) zoomFactor = AspectAdaptor(a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil zoomFactor) drawingWrapper = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Arguments: t1 = #windowSpec Context PC = 7
---------------------------------------------------------------------- Mondrian.MondrianUI(ApplicationModel)>>openInterface Receiver: a Mondrian.MondrianUI Instance Variables: dependents = an ApplicationWindow 636 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil drawing = a Mondrian.Drawing Entity = nil figureDescription = AspectAdaptor(a Mondrian.DrawingController figureDescription) zoomFactor = AspectAdaptor(a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil zoomFactor) drawingWrapper = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Context PC = 5
---------------------------------------------------------------------- Mondrian.MondrianUI(ApplicationModel)>>open Receiver: a Mondrian.MondrianUI Instance Variables: dependents = an ApplicationWindow 636 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil drawing = a Mondrian.Drawing Entity = nil figureDescription = AspectAdaptor(a Mondrian.DrawingController figureDescription) zoomFactor = AspectAdaptor(a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil zoomFactor) drawingWrapper = a Mondrian.ZoomWrapper on: a Mondrian.Drawing Entity = nil Context PC = 4
---------------------------------------------------------------------- Mondrian.ViewRenderer>>open Receiver: a Mondrian.ViewRenderer Instance Variables: shape = a Mondrian.ChildrenShape lazyEval = an OrderedCollection[0] eventHandler = nil shapeBuilder = nil figureContext = nil stack = an OrderedCollection[1] cachedDrawing = a Mondrian.Drawing Entity = nil shapeRenderer = nil zoom = 1.0 Temporaries: ui = a Mondrian.MondrianUI Context PC = 12
---------------------------------------------------------------------- SCG.Moose.ClassGroup>>viewSystemComplexity Receiver: a SCG.Moose.ClassGroup Instance Variables: mooseID = nil state = a SCG.Moose.DefaultEntityState storage = a SCG.Moose.SetupStorage[2] Temporaries: view = a Mondrian.ViewRenderer Context PC = 41
---------------------------------------------------------------------- SCG.Moose.MetaAction>>invokeOn:withArguments: Receiver: a SCG.Moose.MetaAction Instance Variables: ownedComments = a Set[0] name = #viewSystemComplexity owner = Moose::ClassGroup type = nil multiplicity = 1 ownedParameters = a Meta.MultivalueEnd[0] raisedExceptions = an IdentitySet[0] selector = #viewSystemComplexity category = 'Mondrian' longName = 'System Complexity' Arguments: anElement = Group (2 Classes) anArray = an Array[0] Context PC = 7
---------------------------------------------------------------------- SCG.Moose.ClassGroup(Object)>>mmInvoke:arguments: Receiver: a SCG.Moose.ClassGroup Instance Variables: mooseID = nil state = a SCG.Moose.DefaultEntityState storage = a SCG.Moose.SetupStorage[2] Arguments: anOperation = Moose::ClassGroup::viewSystemComplexity anArray = an Array[0] Context PC = 5
---------------------------------------------------------------------- SCG.Moose.ClassGroup(Object)>>mmInvoke: Receiver: a SCG.Moose.ClassGroup Instance Variables: mooseID = nil state = a SCG.Moose.DefaultEntityState storage = a SCG.Moose.SetupStorage[2] Arguments: anOperation = Moose::ClassGroup::viewSystemComplexity Context PC = 7
---------------------------------------------------------------------- optimized [] in [] in [] in SCG.Moose.MooseElement>>menu Receiver: an UndefinedObject Temporaries: .self = Group (2 Classes) .eachMenuItem = Moose::ClassGroup::viewSystemComplexity Context PC = 7
---------------------------------------------------------------------- SCG.Moose.MooseBrowserGroupUI>>openGroupMenu Receiver: a SCG.Moose.MooseBrowserGroupUI Instance Variables: dependents = nil builder = an UIBuilder uiSession = nil eventHandlers = nil browser = a SCG.Moose.MooseBrowserGroupUI viewSubcanvas = a SCG.Moose.MooseIconUI groupData = a MultiSelectionInListSortAware selectedEntities = Group (1 Class) groupMenuButton = nil selectedGroupMenuButton = nil selectField = a ValueHolder on: '' Context PC = 7
---------------------------------------------------------------------- optimized [] in ApplicationModel>>actionFor: Receiver: an UndefinedObject Temporaries: .self = a SCG.Moose.MooseBrowserGroupUI .t1 = #openGroupMenu Context PC = 7
---------------------------------------------------------------------- optimized [] in ActionButtonSpec>>typeConvert: Receiver: an UndefinedObject Arguments: t3 = a ValueHolder on: nil t4 = true Temporaries: .t1 = BlockClosure [] in ApplicationModel>>actionFor: Context PC = 5
---------------------------------------------------------------------- PluggableAdaptor>>setValue: Receiver: a PluggableAdaptor Instance Variables: dependents = a Win95ActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: Arguments: t1 = true Context PC = 6
---------------------------------------------------------------------- PluggableAdaptor(ValueModel)>>value: Receiver: a PluggableAdaptor Instance Variables: dependents = a Win95ActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: Arguments: t1 = true Context PC = 5
---------------------------------------------------------------------- TriggerButtonController>>pressAction Receiver: a TriggerButtonController Instance Variables: model = a PluggableAdaptor view = a Win95ActionButtonView sensor = a TranslatingSensor keyboardProcessor = a KeyboardProcessor keyboardHook = nil dispatcher = nil Context PC = 17
---------------------------------------------------------------------- TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: t1 = 156@6 Context PC = 8
---------------------------------------------------------------------- TriggerButtonTracker>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: t1 = 156@6 Context PC = 11
---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: t1 = a RedButtonReleasedEvent Context PC = 13
---------------------------------------------------------------------- RedButtonReleasedEvent>>dispatchTo: Receiver: a RedButtonReleasedEvent Instance Variables: time = 553481453 initiator = an EventDispatcher window = an ApplicationWindow 24 state = 0 x = 935 y = 10 gx = 1021 gy = 444 buttonNumber = 1 Arguments: t1 = a TriggerButtonTracker Context PC = 4
---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>handleEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: t1 = a RedButtonReleasedEvent Context PC = 4
---------------------------------------------------------------------- EventDispatcher>>dispatch:to: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false keyboardProcessor = a KeyboardProcessor lastControlObject = a TriggerButtonController trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: t1 = a RedButtonReleasedEvent t2 = a TriggerButtonTracker Temporaries: t3 = nil Context PC = 10
---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false keyboardProcessor = a KeyboardProcessor lastControlObject = a TriggerButtonController trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: t1 = a RedButtonReleasedEvent Temporaries: t2 = nil t3 = nil Context PC = 60
---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatch Receiver: a RedButtonReleasedEvent Instance Variables: time = 553481453 initiator = an EventDispatcher window = an ApplicationWindow 24 state = 0 x = 935 y = 10 gx = 1021 gy = 444 buttonNumber = 1 Context PC = 16
---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatchForWindowManager: Receiver: a RedButtonReleasedEvent Instance Variables: time = 553481453 initiator = an EventDispatcher window = an ApplicationWindow 24 state = 0 x = 935 y = 10 gx = 1021 gy = 444 buttonNumber = 1 Arguments: t1 = a WindowManager Context PC = 4
---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a RedButtonReleasedEvent .self = a WindowManager Context PC = 6
---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: t1 = an ExceptionSet[3] t2 = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18
---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>wait dontFilterEvents = false Arguments: event = a RedButtonReleasedEvent Context PC = 18
---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>wait dontFilterEvents = false Temporaries: t1 = a RedButtonReleasedEvent Context PC = 9
---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13
---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: t1 = TerminateException t2 = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18
---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15
---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: t1 = TerminateException t2 = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18
---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .t1 = BlockClosure [] in WindowManager>>newProcess Context PC = 9
____________________________________________________________________ Psssst! Schon vom neuen WEB.DE MultiMessenger gehört? Der kann`s mit allen: http://www.produkte.web.de/messenger/?did=3123