Open
Description
Doing refactoring in coder can result in errors when updating the list of categories:



26 August 2024 1:25:35.665022 pm
VM: Mac OS - x86_64 - macos - CoInterpreter * VMMaker-tonel.1 uuid: 94b6334d-f5db-0d00-a897-1ca10c87c3e2 Aug 13 2024
StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 94b6334d-f5db-0d00-a897-1ca10c87c3e2 Aug 13 2024
v10.2.0-109-g782f6a4 - Commit: 782f6a4 - Date: 2024-06-26 12:05:27 +02:00
Image: Pharo11.0.0 [Build information: Pharo-11.0.0+build.726.sha.aece1b5473acf3830a0e082c1bc3a15d4ff3522b (64 Bit)]
SortedCollection(Object)>>errorSubscriptBounds:
Receiver: a SortedCollection(GtRemoteGemStoneSessionAsyncExamples>>#runningServer GtRemoteGemSto[..]
Arguments and temporary variables:
index: 5
Receiver's instance variables:
array: {GtRemoteGemStoneSessionAsyncExamples>>#runningServer. GtRemoteGemSt[..]
firstIndex: 1
lastIndex: 4
sortBlock: [ :a :b | a selector < b selector ]
SortedCollection(OrderedCollection)>>at:
Receiver: a SortedCollection(GtRemoteGemStoneSessionAsyncExamples>>#runningServer GtRemoteGemSto[..]
Arguments and temporary variables:
anInteger: 5
index: 5
Receiver's instance variables:
array: {GtRemoteGemStoneSessionAsyncExamples>>#runningServer. GtRemoteGemSt[..]
firstIndex: 1
lastIndex: 4
sortBlock: [ :a :b | a selector < b selector ]
BrSequenceableCollectionItemsProvider>>itemAt:
Receiver: a BrSequenceableCollectionItemsProvider
Arguments and temporary variables:
anIndex: 5
Receiver's instance variables:
listModel: nil
announcer: an Announcer
userData: nil
collection: a SortedCollection(GtRemoteGemStoneSessionAsyncExamples>>#runni[..]
BrGroupedListGroup>>itemAt:
Receiver: a BrGroupedListGroup
Arguments and temporary variables:
anIndex: 5
Receiver's instance variables:
group: a BrGroup
groups: a BrGroupedListGroups
amountOfItems: 5
headerIndex: 1
BrGroupedListGroups>>entityAt:
Receiver: a BrGroupedListGroups
Arguments and temporary variables:
anIndex: 6
aGroup: a BrGroupedListGroup
Receiver's instance variables:
groupsProvider: a BrSequenceableCollectionItemsProvider
listModel: BrGroupedListModel {
Selection {}
}
loadedGroups: an OrderedCollection(a BrGroupedListGroup a BrGroupedListGroup)
amountOfEntities: 6
BrGroupedListModel>>entityAt:
Receiver: BrGroupedListModel {
Selection {}
}
Arguments and temporary variables:
anIndex: 6
Receiver's instance variables:
widget: BrGroupedList @ 606910464 (nil)
actors: an Array(Selection {})
eventDispatcher: Direct event dispatcher for BrGroupedListModel {
Selectio[..]
model: nil
whenAttachedActions: an OrderedCollection()
itemTypeStencil: a BrListItemTypeStencilBuilder
itemIdStencil: nil
rowDataBinder: nil
shouldRequestFocusOnSelectionClick: true
groups: a BrGroupedListGroups
headerElementStencil: a BrListItemElementStencilBuilder
headerDataBinder: a BrListItemDataBinder
BrGroupedListDataSource>>itemTypeAt:
Receiver: a BrGroupedListDataSource
Arguments and temporary variables:
anItemPosition: 6
anEntity: nil
Receiver's instance variables:
eventDispatcher: Direct event dispatcher for a BrGroupedListDataSource
hasStableIds: false
listModel: BrGroupedListModel {
Selection {}
}
selection:
itemIdStencil: nil
itemTypeStencil: a BrListItemTypeStencilBuilder
clickToSelectHandler: a BrListClickToSelectHandler
listWidget: BrGroupedList @ 606910464 (nil)
groups: nil
headerElementStencil: a BrListItemElementStencilBuilder
itemDataBinder: nil
headerDataBinder: a BrListItemDataBinder
BlInfiniteRecyclerController>>itemTypeAt:
Receiver: a BlInfiniteRecyclerController
Arguments and temporary variables:
aPosition: 6
Receiver's instance variables:
infiniteElement: BrInfiniteListElement @ 874347008 (#scrollable)
BlInfiniteRecyclerFetcherContext>>itemType
Receiver: a BlInfiniteRecyclerFetcherContext
Arguments and temporary variables:
x
Receiver's instance variables:
position: 6
isDryRun: false
recyclerController: a BlInfiniteRecyclerController
shouldLog: false
result: a BlInfiniteRecyclerFetcherResult
cachedItemPosition: 6
cachedItemType: nil
cachedItemId: nil
BlInfiniteRecyclerPoolFetcher>>doFetchElementHolderFor:
Receiver: a BlInfiniteRecyclerPoolFetcher
Arguments and temporary variables:
aFetcherContext: a BlInfiniteRecyclerFetcherContext
aRecyclerController: a BlInfiniteRecyclerController
holder: nil
Receiver's instance variables:
nextFetcher: a BlInfiniteRecyclerDataSourceFetcher
[ currentFetcher doFetchElementHolderFor: aFetcherContext ] in [
aFetcherContext recordFetcher: currentFetcher.
BlFrameTelemetry
timeSync: [ 'Fetch element holder using {1}' format: { currentFetcher class name } ]
during: [ currentFetcher doFetchElementHolderFor: aFetcherContext ].
currentFetcher := currentFetcher next ] in BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
Receiver: a BlInfiniteRecyclerChangedScrapFetcher
Arguments and temporary variables:
aFetcherContext: a BlInfiniteRecyclerFetcherContext
currentFetcher: a BlInfiniteRecyclerPoolFetcher
Receiver's instance variables:
nextFetcher: a BlInfiniteRecyclerPositionScrapFetcher
NullTelemetry>>time:during:
Receiver: a NullTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element holder using {1}' format: { currentFetcher cla[..]
aBlock: [ currentFetcher doFetchElementHolderFor: aFetcherContext ]
Receiver's instance variables:
a NullTelemetry
BlSpaceTelemetry>>time:during:
Receiver: a BlSpaceTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element holder using {1}' format: { currentFetcher cla[..]
aBlock: [ currentFetcher doFetchElementHolderFor: aFetcherContext ]
Receiver's instance variables:
space: a GtWorld('Glamorous Toolkit')
telemetry: a NullTelemetry
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element holder using {1}' format: { currentFetcher cla[..]
aBlock: [ currentFetcher doFetchElementHolderFor: aFetcherContext ]
Receiver's instance variables:
index: 18
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element holder using {1}' format: { currentFetcher cla[..]
aBlock: [ currentFetcher doFetchElementHolderFor: aFetcherContext ]
Receiver's instance variables:
index: 18
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
Receiver: BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element holder using {1}' format: { currentFetcher cla[..]
aBlock: [ currentFetcher doFetchElementHolderFor: aFetcherContext ]
Receiver's instance variables:
superclass: BaseProcessTelemetry
methodDict: a MethodDictionary(#space->BlFrameTelemetry>>#space #space:->Bl[..]
format: 65537
layout: a FixedLayout
organization: a ClassOrganization
commentSourcePointer: nil
subclasses: nil
name: #BlFrameTelemetry
classPool: nil
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Bloc-Telemetry'
soleInstance: a BlFrameTelemetry
[
aFetcherContext recordFetcher: currentFetcher.
BlFrameTelemetry
timeSync: [ 'Fetch element holder using {1}' format: { currentFetcher class name } ]
during: [ currentFetcher doFetchElementHolderFor: aFetcherContext ].
currentFetcher := currentFetcher next ] in BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
Receiver: a BlInfiniteRecyclerChangedScrapFetcher
Arguments and temporary variables:
aFetcherContext: a BlInfiniteRecyclerFetcherContext
currentFetcher: a BlInfiniteRecyclerPoolFetcher
Receiver's instance variables:
nextFetcher: a BlInfiniteRecyclerPositionScrapFetcher
FullBlockClosure(BlockClosure)>>doWhileTrue:
Receiver: [
aFetcherContext recordFetcher: currentFetcher.
BlFrameTelemetry
timeSync: [ '[..]
Arguments and temporary variables:
conditionBlock: [ aFetcherContext hasHolder not and: [ currentFetcher notNi[..]
result: a BlInfiniteRecyclerPoolFetcher
Receiver's instance variables:
outerContext: BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetch[..]
compiledBlock: a CompiledBlock: [
aFetcherContext recordFetcher: currentF[..]
numArgs: 0
receiver: a BlInfiniteRecyclerChangedScrapFetcher
BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
Receiver: a BlInfiniteRecyclerChangedScrapFetcher
Arguments and temporary variables:
currentFetcher: a BlInfiniteRecyclerPoolFetcher
aFetcherContext: a BlInfiniteRecyclerFetcherContext
Receiver's instance variables:
nextFetcher: a BlInfiniteRecyclerPositionScrapFetcher
[
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteRecyclerFetcherContext new
isDryRun: dryRun;
position: aPosition;
recyclerController: controller.
aSignal := BlInfiniteRecyclerFetchHolderSignal new
infiniteElement: controller infiniteElement;
fetcherContext: aFetcherContext;
position: aPosition;
emit.
fetchedResult := fetcher elementHolderFor: aFetcherContext.
aSignal fetcherResult: fetchedResult ] in BlInfiniteRecycler>>elementFor:dryRun:
Receiver: a BlInfiniteRecycler
Arguments and temporary variables:
aPosition: 6
dryRun: false
holder: nil
fromScrap: nil
bound: nil
itemElement: nil
anInfiniteConstraints: nil
fetchedResult: nil
aFetcherContext: a BlInfiniteRecyclerFetcherContext
aSignal: 2024-08-26T13:20:00.566756+02:00 BlInfiniteRecyclerFetchHolderSign[..]
Receiver's instance variables:
recyclerPool: a BlInfiniteRecyclerPool
controller: a BlInfiniteRecyclerController
changedScrap: an OrderedCollection()
attachedScrap: an OrderedCollection()
cachedScrap: an OrderedCollection()
fetcher: a BlInfiniteRecyclerChangedScrapFetcher
cacheSize: 2
requestedCacheSize: 2
userCache: nil
eventDispatcher: Direct event dispatcher for a BlInfiniteRecycler
NullTelemetry>>time:during:
Receiver: a NullTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element at {1}' format: { aPosition } ]
aBlock: [
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteR[..]
Receiver's instance variables:
a NullTelemetry
BlSpaceTelemetry>>time:during:
Receiver: a BlSpaceTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element at {1}' format: { aPosition } ]
aBlock: [
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteR[..]
Receiver's instance variables:
space: a GtWorld('Glamorous Toolkit')
telemetry: a NullTelemetry
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element at {1}' format: { aPosition } ]
aBlock: [
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteR[..]
Receiver's instance variables:
index: 18
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element at {1}' format: { aPosition } ]
aBlock: [
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteR[..]
Receiver's instance variables:
index: 18
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
Receiver: BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Fetch element at {1}' format: { aPosition } ]
aBlock: [
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteR[..]
Receiver's instance variables:
superclass: BaseProcessTelemetry
methodDict: a MethodDictionary(#space->BlFrameTelemetry>>#space #space:->Bl[..]
format: 65537
layout: a FixedLayout
organization: a ClassOrganization
commentSourcePointer: nil
subclasses: nil
name: #BlFrameTelemetry
classPool: nil
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Bloc-Telemetry'
soleInstance: a BlFrameTelemetry
BlInfiniteRecycler>>elementFor:dryRun:
Receiver: a BlInfiniteRecycler
Arguments and temporary variables:
fetchedResult: nil
aPosition: 6
dryRun: false
holder: nil
fromScrap: nil
bound: nil
itemElement: nil
anInfiniteConstraints: nil
Receiver's instance variables:
recyclerPool: a BlInfiniteRecyclerPool
controller: a BlInfiniteRecyclerController
changedScrap: an OrderedCollection()
attachedScrap: an OrderedCollection()
cachedScrap: an OrderedCollection()
fetcher: a BlInfiniteRecyclerChangedScrapFetcher
cacheSize: 2
requestedCacheSize: 2
userCache: nil
eventDispatcher: Direct event dispatcher for a BlInfiniteRecycler
BlInfiniteRecycler>>elementFor:
Receiver: a BlInfiniteRecycler
Arguments and temporary variables:
aPosition: 6
Receiver's instance variables:
recyclerPool: a BlInfiniteRecyclerPool
controller: a BlInfiniteRecyclerController
changedScrap: an OrderedCollection()
attachedScrap: an OrderedCollection()
cachedScrap: an OrderedCollection()
fetcher: a BlInfiniteRecyclerChangedScrapFetcher
cacheSize: 2
requestedCacheSize: 2
userCache: nil
eventDispatcher: Direct event dispatcher for a BlInfiniteRecycler
[ anElement := aRecycler elementFor: currentPosition. ] in BlInfiniteLinearLayoutState>>nextElement:in:
Receiver: a BlInfiniteLinearLayoutState
Arguments and temporary variables:
aRecycler: a BlInfiniteRecycler
anInfiniteElement: BrInfiniteListElement @ 874347008 (#scrollable)
anElement: nil
Receiver's instance variables:
allowRecycling: false
availableSpace: 708.5274856090546
extraSpace: 0.0
currentPosition: 6
lastScrolledDelta: -0.0
scrapList: nil
isPreLayout: false
itemDirection: a BlInfiniteLinearLayoutItemDirectionTail
scrollingOffset: Float infinity negated
isInfinite: false
layoutDirection: a BlInfiniteLinearLayoutDirectionEnd
offset: 84.79081273078918
NullTelemetry>>time:during:
Receiver: a NullTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element from recycler' ]
aBlock: [ anElement := aRecycler elementFor: currentPosition. ]
Receiver's instance variables:
a NullTelemetry
BlSpaceTelemetry>>time:during:
Receiver: a BlSpaceTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element from recycler' ]
aBlock: [ anElement := aRecycler elementFor: currentPosition. ]
Receiver's instance variables:
space: a GtWorld('Glamorous Toolkit')
telemetry: a NullTelemetry
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element from recycler' ]
aBlock: [ anElement := aRecycler elementFor: currentPosition. ]
Receiver's instance variables:
index: 18
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element from recycler' ]
aBlock: [ anElement := aRecycler elementFor: currentPosition. ]
Receiver's instance variables:
index: 18
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
Receiver: BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element from recycler' ]
aBlock: [ anElement := aRecycler elementFor: currentPosition. ]
Receiver's instance variables:
superclass: BaseProcessTelemetry
methodDict: a MethodDictionary(#space->BlFrameTelemetry>>#space #space:->Bl[..]
format: 65537
layout: a FixedLayout
organization: a ClassOrganization
commentSourcePointer: nil
subclasses: nil
name: #BlFrameTelemetry
classPool: nil
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Bloc-Telemetry'
soleInstance: a BlFrameTelemetry
BlInfiniteLinearLayoutState>>nextElement:in:
Receiver: a BlInfiniteLinearLayoutState
Arguments and temporary variables:
aRecycler: a BlInfiniteRecycler
anInfiniteElement: BrInfiniteListElement @ 874347008 (#scrollable)
anElement: nil
Receiver's instance variables:
allowRecycling: false
availableSpace: 708.5274856090546
extraSpace: 0.0
currentPosition: 6
lastScrolledDelta: -0.0
scrapList: nil
isPreLayout: false
itemDirection: a BlInfiniteLinearLayoutItemDirectionTail
scrollingOffset: Float infinity negated
isInfinite: false
layoutDirection: a BlInfiniteLinearLayoutDirectionEnd
offset: 84.79081273078918
[ anElement := layoutState nextElement: self recycler in: infiniteElement ] in BlInfiniteLinearLayout>>layoutChunkAdd
Receiver: a BlInfiniteLinearLayout
Arguments and temporary variables:
anElement: nil
Receiver's instance variables:
childManager: a BlInfiniteChildrenManager
infiniteElement: BrInfiniteListElement @ 874347008 (#scrollable)
horizontalChildFinder: a BlInfiniteHorizontalChildBoundsBasedFinder
verticalChildFinder: a BlInfiniteVerticalChildBoundsBasedFinder
width: 154.97862243652344
height: 793.3182983398438
heightSpec: Exact 793.3182983398438
widthSpec: Exact 154.97862243652344
autoMeasure: true
itemPrefetchEnabled: false
measurementCacheEnabled: true
requestedSimpleAnimations: false
smoothScroller: nil
announcer: an Announcer
layoutState: a BlInfiniteLinearLayoutState
orientation: a BlInfiniteVerticalOrientation
lastStackFromEnd: false
reverseLayout: false
shouldReverseLayout: false
stackFromEnd: false
smoothScrollbarEnabled: true
pendingScrollPosition: 0
pendingScrollPositionOffset: Float infinity negated
anchorInfo: a BlInfiniteLinearLayoutAnchorInfo
NullTelemetry>>time:during:
Receiver: a NullTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element' ]
aBlock: [ anElement := layoutState nextElement: self recycler in: infiniteE[..]
Receiver's instance variables:
a NullTelemetry
BlSpaceTelemetry>>time:during:
Receiver: a BlSpaceTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element' ]
aBlock: [ anElement := layoutState nextElement: self recycler in: infiniteE[..]
Receiver's instance variables:
space: a GtWorld('Glamorous Toolkit')
telemetry: a NullTelemetry
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element' ]
aBlock: [ anElement := layoutState nextElement: self recycler in: infiniteE[..]
Receiver's instance variables:
index: 18
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
Receiver: a BlFrameTelemetry
Arguments and temporary variables:
aNameBlock: [ 'Get next element' ]
aBlock: [ anElement := layoutState nextElement: self recycler in: infiniteE[..]
Receiver's instance variables:
index: 18
--- The full stack ---
SortedCollection(Object)>>errorSubscriptBounds:
SortedCollection(OrderedCollection)>>at:
BrSequenceableCollectionItemsProvider>>itemAt:
BrGroupedListGroup>>itemAt:
BrGroupedListGroups>>entityAt:
BrGroupedListModel>>entityAt:
BrGroupedListDataSource>>itemTypeAt:
BlInfiniteRecyclerController>>itemTypeAt:
BlInfiniteRecyclerFetcherContext>>itemType
BlInfiniteRecyclerPoolFetcher>>doFetchElementHolderFor:
[ currentFetcher doFetchElementHolderFor: aFetcherContext ] in [
aFetcherContext recordFetcher: currentFetcher.
BlFrameTelemetry
timeSync: [ 'Fetch element holder using {1}' format: { currentFetcher class name } ]
during: [ currentFetcher doFetchElementHolderFor: aFetcherContext ].
currentFetcher := currentFetcher next ] in BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
[
aFetcherContext recordFetcher: currentFetcher.
BlFrameTelemetry
timeSync: [ 'Fetch element holder using {1}' format: { currentFetcher class name } ]
during: [ currentFetcher doFetchElementHolderFor: aFetcherContext ].
currentFetcher := currentFetcher next ] in BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
FullBlockClosure(BlockClosure)>>doWhileTrue:
BlInfiniteRecyclerChangedScrapFetcher(BlInfiniteRecyclerFetcher)>>elementHolderFor:
[
| aFetcherContext aSignal |
aFetcherContext := BlInfiniteRecyclerFetcherContext new
isDryRun: dryRun;
position: aPosition;
recyclerController: controller.
aSignal := BlInfiniteRecyclerFetchHolderSignal new
infiniteElement: controller infiniteElement;
fetcherContext: aFetcherContext;
position: aPosition;
emit.
fetchedResult := fetcher elementHolderFor: aFetcherContext.
aSignal fetcherResult: fetchedResult ] in BlInfiniteRecycler>>elementFor:dryRun:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
BlInfiniteRecycler>>elementFor:dryRun:
BlInfiniteRecycler>>elementFor:
[ anElement := aRecycler elementFor: currentPosition. ] in BlInfiniteLinearLayoutState>>nextElement:in:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
BlInfiniteLinearLayoutState>>nextElement:in:
[ anElement := layoutState nextElement: self recycler in: infiniteElement ] in BlInfiniteLinearLayout>>layoutChunkAdd
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
BlInfiniteLinearLayout>>layoutChunkAdd
[ anElement := self layoutChunkAdd ] in BlInfiniteLinearLayout>>layoutChunkContext:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>timeSync:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>timeSync:during:
BlInfiniteLinearLayout>>layoutChunkContext:
BlInfiniteLinearLayout>>fillLayout:
BlInfiniteLinearLayout>>layoutChildrenFillFromStart:
BlInfiniteLinearLayout>>layoutChildrenFill:
BlInfiniteLinearLayout>>layoutChildrenIn:state:
BrInfiniteListElement(BlInfiniteElement)>>dispatchLayoutSecondStep
BrInfiniteListElement(BlInfiniteElement)>>dispatchLayout
BrInfiniteListElement(BlInfiniteElement)>>onLayout:context:
[ self onLayout: aRectangle context: aBlElementBoundsUpdateContext ] in BrInfiniteListElement(BlElement)>>applyLayoutSafelyIn:context:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>time:during:
BrInfiniteListElement(BlElement)>>applyLayoutSafelyIn:context:
[ self applyLayoutSafelyIn: aBlBounds context: aBlElementBoundsUpdateContext ] in BrInfiniteListElement(BlElement)>>applyLayoutIn:context:
FullBlockClosure(BlockClosure)>>on:do:
BlCompositeErrorHandler(BlErrorHandler)>>with:do:failed:
BrInfiniteListElement(BlElement)>>applyLayoutIn:context:
[ :origin :child |
| childBounds childMarginBounds childConstraints |
childConstraints := child constraints linear.
childBounds := origin + (child outsets topLeft max: [email protected]) extent: child measuredExtent.
childMarginBounds := origin extent: child measuredExtent + (child outsets extent max: [email protected]).
self layout horizontalAlignment ifNotNull: [
| translation allowedBounds |
allowedBounds := childMarginBounds origin extent: elementInnerBounds width @ child measuredHeight.
translation := (self layout horizontalAlignment directed: self layout direction) translationOf: childMarginBounds in: allowedBounds.
childBounds := childBounds translateBy: translation ].
self layout horizontalAlignment ifNull: [
| translation allowedBounds |
allowedBounds := childMarginBounds origin extent: elementInnerBounds width @ child measuredHeight.
translation := (childConstraints horizontal alignment directed: self layout direction) translationOf: childMarginBounds in: allowedBounds.
childBounds := childBounds translateBy: translation ].
childBounds := childBounds translateBy: (0.0 @ self layout cellSpacing).
"telling each subnode what bounds to use for layouting process.
Because measuring process does not modify actual extent
we need to use a measured one"
child applyLayoutIn: childBounds context: aBlElementBoundsUpdateContext.
"translating origin vertically down for next subnode"
origin x @(origin y + child measuredHeight + self layout cellSpacing + (child outsets height max: 0.0)) ] in BlLinearLayoutVerticalOrientation>>layout:in:context:
[ :anElement | nextValue := binaryBlock value: nextValue value: anElement ] in BlChildrenAccountedByLayout(BlChildren)>>inject:into:
Array(SequenceableCollection)>>do:
BlChildrenAccountedByLayout(BlChildrenSubset)>>do:
BlChildrenAccountedByLayout(BlChildren)>>inject:into:
BlLinearLayoutVerticalOrientation>>layout:in:context:
BlLinearLayout>>layout:in:context:
BrGroupedList(BlElement)>>onLayout:context:
[ self onLayout: aRectangle context: aBlElementBoundsUpdateContext ] in BrGroupedList(BlElement)>>applyLayoutSafelyIn:context:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>time:during:
BrGroupedList(BlElement)>>applyLayoutSafelyIn:context:
[ self applyLayoutSafelyIn: aBlBounds context: aBlElementBoundsUpdateContext ] in BrGroupedList(BlElement)>>applyLayoutIn:context:
FullBlockClosure(BlockClosure)>>on:do:
BlCompositeErrorHandler(BlErrorHandler)>>with:do:failed:
BrGroupedList(BlElement)>>applyLayoutIn:context:
GtWorld(BlSpace)>>doUpdateLayoutBoundary:context:
[ :eachElement |
self doUpdateLayoutBoundary: eachElement context: aBlElementBoundsUpdater ] in GtWorld(BlSpace)>>doUpdateLayout
Array(SequenceableCollection)>>do:
GtWorld(BlSpace)>>doUpdateLayout
[
layoutCounter := 0.
maxLayoutCount := 100.
[ self hasLayoutError not and: [ self isLayoutRequested and: [ layoutCounter < maxLayoutCount ] ] ]
whileTrue: [
self doUpdateLayout.
layoutCounter := layoutCounter + 1.
layoutCounter = 50
ifTrue: [ 'Warning: Layout was performed 50 times per frame!' traceCr ] ].
self root dispatchLayoutDone
"I prevent infinite spawn of debuggers"
] in GtWorld(BlSpace)>>doLayout
FullBlockClosure(BlockClosure)>>on:do:
GtWorld(BlSpace)>>doLayout
[ :theSpace | theSpace isLayoutRequested ifTrue: [ theSpace doLayout ] ] in BlSpaceFrameLayoutPhase>>runOn:
FullBlockClosure(BlockClosure)>>cull:
GtWorld(BlSpace)>>dispatchTimeEvent:during:
BlSpaceFrameLayoutPhase>>runOn:
[ self currentPhase runOn: aSpace ] in BlSpaceFrame>>runCurrentPhaseOn:
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>time:during:
BlSpaceFrame>>runCurrentPhaseOn:
BlSpaceFrame>>runOn:
[ self frame runOn: self ] in [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] in [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ] in [
BlFrameTelemetry
reset;
time: [ 'Frame' ]
during: [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ];
in: [ :t | t soleInstance snapshotSpace: self ];
emit ] in GtWorld(BlSpace)>>processPulse
NullTelemetry>>profile:executing:as:
BlSpaceTelemetry>>profile:executing:as:
BlFrameTelemetry(BaseProcessTelemetry)>>profile:executing:as:
BlFrameTelemetry(BaseProcessTelemetry)>>messageTallyOn:
[ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] in [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ] in [
BlFrameTelemetry
reset;
time: [ 'Frame' ]
during: [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ];
in: [ :t | t soleInstance snapshotSpace: self ];
emit ] in GtWorld(BlSpace)>>processPulse
NullTelemetry>>profile:executing:as:
BlSpaceTelemetry>>profile:executing:as:
BlFrameTelemetry(BaseProcessTelemetry)>>profile:executing:as:
BlFrameTelemetry(BaseProcessTelemetry)>>beacon:as:on:
BlFrameTelemetry(BaseProcessTelemetry)>>beacon:on:
[
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ] in [
BlFrameTelemetry
reset;
time: [ 'Frame' ]
during: [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ];
in: [ :t | t soleInstance snapshotSpace: self ];
emit ] in GtWorld(BlSpace)>>processPulse
NullTelemetry>>time:during:
BlSpaceTelemetry>>time:during:
BlFrameTelemetry(BaseProcessTelemetry)>>time:during:
BlFrameTelemetry class(BaseProcessTelemetry class)>>time:during:
[
BlFrameTelemetry
reset;
time: [ 'Frame' ]
during: [
BlFrameTelemetry soleInstance
beacon: BlRequestLayoutSignal, BlMarkElementNeedsPaintSignal, BlLostFocusSignal, BlGotFocusSignal, BlTextStylerRequestedSignal
on: [ BlFrameTelemetry soleInstance
messageTallyOn: [ self frame runOn: self ] ] ];
in: [ :t | t soleInstance snapshotSpace: self ];
emit ] in GtWorld(BlSpace)>>processPulse
FullBlockClosure(BlockClosure)>>ensure:
BlFrameTelemetry class>>withSpace:andTelemetry:do:
GtWorld(BlSpace)>>processPulse
GtWorld(BlSpace)>>pulse
[ :eachSpace | eachSpace pulse ] in [
self tryToRunDeferredActions.
spaceManager do: [ :eachSpace | eachSpace pulse ]
] in BlParallelUniverse>>pulseSynchronously
Array(SequenceableCollection)>>do:
BlSpaceManager>>do:
[
self tryToRunDeferredActions.
spaceManager do: [ :eachSpace | eachSpace pulse ]
] in BlParallelUniverse>>pulseSynchronously
FullBlockClosure(BlockClosure)>>ensure:
BlParallelUniverse>>pulseSynchronously
[
self pulseSynchronously
] in BlParallelUniverse>>pulse
FullBlockClosure(BlockClosure)>>ensure:
BlParallelUniverse>>pulse
BlHostPulseLoop>>firePulse
[
[ self firePulse. loopProcess == Processor activeProcess. ] whileTrue
] in BlHostPulseLoop>>createLoopTask
[self value.
"IMPORTANT: Do not step over next line of code. See method comments for details"
Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess
Metadata
Metadata
Assignees
Type
Projects
Status
To do