Testing menu item Class > Move to Package..., selected package in a different project. Got an unhelpful error "Not found: [] in JadeiteBrowserPresenter>>moveClassToPackageNamed:". The class is not moved, but the destination is dirty.
Possibly we don't support moving classes between projects (can't do it via drag); this should be disallowed if so.
10:55:30 AM, 12/12/2022: Not found: [] in JadeiteBrowserPresenter>>moveClassToPackageNamed:
*----> VM Context <----*
Process: {08940210:size 378 words, suspended frame 08940B31, priority 6, callbacks 1, FP control 80007, thread 00000000}
Active Method: SessionManager>>logError:
IP: 035A7D09 (9)
SP: 089408FC
BP: 089408D0 (417)
ActiveFrame: {089408D4: cf 089408B5, sp 089408EC, bp 089408D0, ip 5, JadeSessionManager(SessionManager)>>logError:}
receiver: a JadeSessionManager
arg[0]: a NotFoundError
New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
Message Selector: dump:path:stackDepth:walkbackDepth:
*----> Stack Back Trace <----*
{089408D4: cf 089408B5, sp 089408EC, bp 089408D0, ip 5, JadeSessionManager(SessionManager)>>logError:}
receiver: a JadeSessionManager
arg[0]: a NotFoundError
{089408B4: cf 08940891, sp 089408C8, bp 089408AC, ip 39, JadeSessionManager>>logError:}
receiver: a JadeSessionManager
arg[0]: a NotFoundError
stack temp[0]: 8'10:55:30 12/12/2022'
env temp[0]: a FileStream
{08940890: cf 08940871, sp 089408A4, bp 0894088C, ip 3, JadeSessionManager(SessionManager)>>unhandledException:}
receiver: a JadeSessionManager
arg[0]: a NotFoundError
{08940870: cf 08940851, sp 08940884, bp 0894086C, ip 3, JadeSessionManager(SessionManager)>>onUnhandledError:}
receiver: a JadeSessionManager
arg[0]: a NotFoundError
{08940850: cf 08940835, sp 08940864, bp 08940850, ip 5, NotFoundError(Error)>>defaultAction}
receiver: a NotFoundError
{08940834: cf 08940801, sp 08940848, bp 0894081C, ip 55, NotFoundError(Exception)>>_propagateFrom:}
receiver: a NotFoundError
arg[0]: a ExceptionHandler
stack temp[0]: nil
stack temp[1]: a ExceptionHandler
stack temp[2]: nil
stack temp[3]: a Process('Main' base 08940000* in SessionManager>>logError: sp=00000000 ip=4 list=0F010010)
stack temp[4]: nil
{08940800: cf 089407E1, sp 08940814, bp 089407FC, ip 6, NotFoundError(Exception)>>_propagate}
receiver: a NotFoundError
stack temp[0]: nil
{089407E0: cf 089407C5, sp 089407F4, bp 089407E0, ip 13, NotFoundError(Exception)>>signal}
receiver: a NotFoundError
{089407C4: cf 089407A1, sp 089407D8, bp 089407BC, ip 8, NotFoundError(Exception)>>signal:with:}
receiver: a NotFoundError
arg[0]: nil
arg[1]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
{089407A0: cf 08940781, sp 089407B4, bp 0894079C, ip 5, NotFoundError(Exception)>>signalWith:}
receiver: a NotFoundError
arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
{08940780: cf 08940761, sp 08940794, bp 0894077C, ip 8, SortedCollection(Object)>>errorNotFound:}
receiver: a SortedCollection
arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
{08940760: cf 08940741, sp 08940774, bp 0894075C, ip 12, [] in SortedCollection(Collection)>>detect:}
receiver: a SortedCollection
{08940740: cf 08940719, sp 08940754, bp 08940734, ip 26, SortedCollection(OrderedCollection)>>detect:ifNone:}
receiver: a SortedCollection
arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
arg[1]: [] @ 10 in Collection>>detect:
stack temp[0]: 3
{08940718: cf 089406F9, sp 0894072C, bp 08940714, ip 14, SortedCollection(Collection)>>detect:}
receiver: a SortedCollection
arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
{089406F8: cf 089406D5, sp 0894070C, bp 089406F0, ip 35, JadeiteBrowserPresenter>>moveClassToPackageNamed:}
receiver: a JadeiteBrowserPresenter
arg[0]: 8'X509-Core'
stack temp[0]: nil
{089406D4: cf 089406B5, sp 089406E8, bp 089406D0, ip 16, JadeiteBrowserPresenter>>moveClassToPackage}
receiver: a JadeiteBrowserPresenter
stack temp[0]: a RowanPackageService
{089406B4: cf 08940695, sp 089406C8, bp 089406B0, ip 4, Symbol>>forwardTo:}
receiver: moveClassToPackage
arg[0]: a JadeiteBrowserPresenter
{08940694: cf 08940675, sp 089406A8, bp 08940690, ip 4, CommandDescription>>performAgainst:}
receiver: a CommandDescription
arg[0]: a JadeiteBrowserPresenter
{08940674: cf 08940651, sp 08940688, bp 08940674, ip 16, [] in Command>>value}
receiver: a Command
{08940650: cf 08940631, sp 08940664, bp 0894064C, ip 18, BlockClosure>>ifCurtailed:}
receiver: [] @ 0 in nil
arg[0]: [] @ 25 in Command>>value
{08940630: cf 0894060D, sp 08940644, bp 08940628, ip 3, BlockClosure>>ensure:}
receiver: [] @ 13 in Command>>value
arg[0]: [] @ 25 in Command>>value
stack temp[0]: nil
{0894060C: cf 089405ED, sp 08940620, bp 08940608, ip 30, Command>>value}
receiver: a Command
stack temp[0]: nil
{089405EC: cf 089405CD, sp 08940600, bp 089405E8, ip 30, ShellView>>performCommand:}
receiver: a ShellView
arg[0]: a Command
{089405CC: cf 089405AD, sp 089405E0, bp 089405C8, ip 4, JadeiteBrowser(Shell)>>performCommand:}
receiver: a JadeiteBrowser
arg[0]: a Command
{089405AC: cf 08940585, sp 089405C0, bp 089405A0, ip 10, CommandQuery>>perform}
receiver: a CommandQuery
stack temp[0]: a Command
stack temp[1]: nil
stack temp[2]: a JadeiteBrowser
{08940584: cf 08940561, sp 08940598, bp 0894057C, ip 8, DelegatingCommandPolicy(CommandPolicy)>>route:}
receiver: a DelegatingCommandPolicy
arg[0]: a CommandDescription
stack temp[0]: a CommandQuery
{08940560: cf 08940539, sp 08940574, bp 0894055C, ip 15, [] in ListView(View)>>onCommand:}
receiver: a ListView
{08940538: cf 08940519, sp 0894054C, bp 08940534, ip 18, BlockClosure>>ifCurtailed:}
receiver: [] @ 0 in nil
arg[0]: [] @ 18 in Cursor>>showWhile:
{08940518: cf 089404F5, sp 0894052C, bp 08940510, ip 3, BlockClosure>>ensure:}
receiver: [] @ 11 in View>>onCommand:
arg[0]: [] @ 18 in Cursor>>showWhile:
stack temp[0]: nil
{089404F4: cf 089404CD, sp 08940508, bp 089404E8, ip 27, Cursor>>showWhile:}
receiver: a Cursor
arg[0]: [] @ 11 in View>>onCommand:
stack temp[0]: nil
stack temp[1]: a ExternalHandle(00010007)
{089404CC: cf 089404A9, sp 089404E0, bp 089404C4, ip 17, ListView(View)>>onCommand:}
receiver: a ListView
arg[0]: a CommandDescription
stack temp[0]: nil
{089404A8: cf 08940475, sp 089404BC, bp 08940490, ip 19, ListView(View)>>wmCommand:wParam:lParam:}
receiver: a ListView
arg[0]: 273
arg[1]: 6564
arg[2]: 0
stack temp[0]: 6564
stack temp[1]: a CommandDescription
stack temp[2]: nil
{08940474: cf 08940445, sp 08940488, bp 08940460, ip 23, ListView(View)>>dispatchMessage:wParam:lParam:}
receiver: a ListView
arg[0]: 273
arg[1]: 6564
arg[2]: 0
stack temp[0]: nil
stack temp[1]: wmCommand:wParam:lParam:
{08940444: cf 08940411, sp 08940458, bp 08940434, ip 69, [] in InputState>>wndProc:message:wParam:lParam:cookie:}
receiver: nil
{08940410: cf 089403E9, sp 08940424, bp 0894040C, ip 18, BlockClosure>>ifCurtailed:}
receiver: [] @ 0 in nil
arg[0]: [] @ 79 in InputState>>wndProc:message:wParam:lParam:cookie:
{089403E8: cf 089403AD, sp 08940404, bp 089403D0, ip 84, GuiInputState(InputState)>>wndProc:message:wParam:lParam:cookie:}
receiver: a GuiInputState
arg[0]: 3151784
arg[1]: 273
arg[2]: 6564
arg[3]: 0
arg[4]: 818456
stack temp[0]: a ListView
{089403AC: cf 0894038D, sp 089403C8, bp 089403A8, ip 28, GuiInputState(InputState)>>pumpMessage:}
receiver: a GuiInputState
arg[0]: a MSG
{0894038C: cf 08940361, sp 089403A0, bp 0894037C, ip 18, GuiInputState(InputState)>>loopWhile:}
receiver: a GuiInputState
arg[0]: [] @ 9 in InputState>>mainLoop
stack temp[0]: a MSG
stack temp[1]: true
stack temp[2]: [] @ 8 in JadeiteBrowserPresenter>>updateMethodSourceColor
{08940360: cf 08940345, sp 08940374, bp 08940360, ip 15, GuiInputState(InputState)>>mainLoop}
receiver: a GuiInputState
{08940344: cf 08940329, sp 08940358, bp 08940344, ip 14, [] in GuiInputState(InputState)>>forkMain}
receiver: a GuiInputState
{08940328: cf 0894030D, sp 0894033C, bp 08940328, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
receiver: a ExceptionHandler
{0894030C: cf 089402E5, sp 08940320, bp 08940308, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
receiver: a ExceptionHandler
{089402E4: cf 089402C5, sp 089402F8, bp 089402E0, ip 18, BlockClosure>>ifCurtailed:}
receiver: [] @ 0 in nil
arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
{089402C4: cf 089402A1, sp 089402D8, bp 089402BC, ip 3, BlockClosure>>ensure:}
receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
stack temp[0]: nil
{089402A0: cf 08940279, sp 089402B4, bp 08940294, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
receiver: a ExceptionHandler
arg[0]: [] @ 10 in InputState>>forkMain
stack temp[0]: nil
stack temp[1]: a Process('Main' base 08940000* in SessionManager>>logError: sp=00000000 ip=4 list=0F010010)
env temp[0]: nil
{08940278: cf 08940255, sp 0894028C, bp 08940270, ip 7, BlockClosure>>on:do:}
receiver: [] @ 10 in InputState>>forkMain
arg[0]: ProcessTermination
arg[1]: [] @ 13 in BlockClosure>>newProcess:
{08940254: cf 00000001, sp 08940268, bp 08940254, ip 17, [] in BlockClosure>>newProcess:}
receiver: [] @ 10 in InputState>>forkMain
<Bottom of stack>
The problem was not the move, but rather the selection of the package after the move. That should be fixed and also now update the source package & project after the move. Dirty state wasn't getting updated.
Testing menu item Class > Move to Package..., selected package in a different project. Got an unhelpful error "Not found: [] in JadeiteBrowserPresenter>>moveClassToPackageNamed:". The class is not moved, but the destination is dirty.
Possibly we don't support moving classes between projects (can't do it via drag); this should be disallowed if so.