[Bug][VW 7.7 NC] More problems after renaming a Namespace

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Bug][VW 7.7 NC] More problems after renaming a Namespace

Joachim Geidel
Same setup as before: Rename the Registry namespace in Registry 25 to
RegistryAccess. Code Critic claims that the type definitions like DWORD in
the new class RegistryAccess.Win32API reference an undeclared variable. That
shouldn't be the case. "Win32API recompileMethods" helped, but that's
certainly not an obvious solution for a newbie.

Then I discovered three more methods referencing Registry.Key.ConcreteClass
in the RegistryTest package. I fixed them manually.

Just to see if those undeclared variables are still in the image, I open the
Undeclared inspector, and see the names of all the type definition methods
from Win32API (DWORD, FILETIME etc.). "Edit > Purge Unused Bindings" results
in an Exception (stack attached below). The DeferredBinding which causes the
error has the key #ObjectMemory, and the method instvar contains a
CompiledBlock from KeyTest>>testUpdateAfterSnapshot (the CompiledBlock can't
be decompiled, but it has UnsupportedKey among its literals, and there is
only one method referencing this class).

Best regards,
Joachim Geidel


Unhandled exception: Variable binding must have an environment
DeferredBinding(Object)>>error:
DeferredBinding>>resolveBinding
optimized [] in [] in SystemUtils class>>relinkSystem
Array(SequenceableCollection)>>do:
optimized [] in SystemUtils class>>relinkSystem
OrderedCollection>>reverseDo:
SystemUtils class>>relinkSystem
NameSpace(GeneralNameSpace)>>purgeUnusedBindings
optimized [] in Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
BlockClosure>>ensure:
Cursor>>showWhile:
Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
optimized [] in Tools.Trippy.PoolDictionaryInspector>>addPoolItemsTo:
MenuBarButtonController>>dispatchBlockClosure:
MenuBarButtonController>>dispatchMenuSelection:
optimized [] in MenuBarButtonController>>menuBarActionForMenu:
BlockClosure>>ensure:
MenuBarButtonController>>menuBarActionForMenu:
MenuBarButtonController>>menuBarAction
MenuBarButtonController>>redButtonPressedEvent:
RedButtonPressedEvent>>dispatchTo:
MenuBarButtonController(Controller)>>handleEvent:
EventDispatcher>>dispatch:to:
EventDispatcher>>dispatchEvent:
RedButtonPressedEvent(Event)>>dispatch
RedButtonPressedEvent(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:

----------------------------------------------------------------------
DeferredBinding(Object)>>error:
Receiver:
    a DeferredBinding
Instance Variables:
    key = #ObjectMemory
    resolved = nil
    resolvedValue = nil
    method = CompiledBlock [] in a CompiledBlock
Arguments:
    aStringOrMessage = an UserMessage('Variable binding must have an
environment', #VariableBindingMustHaveEnvironment, #dialogs)
Context PC = 6

----------------------------------------------------------------------
DeferredBinding>>resolveBinding
Receiver:
    a DeferredBinding
Instance Variables:
    key = #ObjectMemory
    resolved = nil
    resolvedValue = nil
    method = CompiledBlock [] in a CompiledBlock
Temporaries:
    mclass = nil
    binding = nil
Context PC = 32

----------------------------------------------------------------------
optimized [] in [] in SystemUtils class>>relinkSystem
Receiver:
    an UndefinedObject
Arguments:
    db = (DeferredBinding key: #ObjectMemory)
Context PC = 3

----------------------------------------------------------------------
Array(SequenceableCollection)>>do:
Receiver:
    an Array
Arguments:
    aBlock = BlockClosure [] in [] in SystemUtils class>>relinkSystem
Temporaries:
    i = 32571
Context PC = 19

----------------------------------------------------------------------
optimized [] in SystemUtils class>>relinkSystem
Receiver:
    an UndefinedObject
Arguments:
    cl = DeferredBinding
Context PC = 6

----------------------------------------------------------------------
OrderedCollection>>reverseDo:
Receiver:
    an OrderedCollection
Instance Variables:
    firstIndex = 3
    lastIndex = 5
Arguments:
    aBlock = BlockClosure [] in SystemUtils class>>relinkSystem
Temporaries:
    index = 3
Context PC = 17

----------------------------------------------------------------------
SystemUtils class>>relinkSystem
Receiver:
    a SystemUtils class
Instance Variables:
    superclass = Object
    methodDict = a MethodDictionary[0]
    format = 16384
    subclasses = nil
    instanceVariables = nil
    organization =
    name = #SystemUtils
    classPool = a NameSpaceOfClass[3]
    environment = a NameSpace[260]
    linkState = a Signal nil
Context PC = 9

----------------------------------------------------------------------
NameSpace(GeneralNameSpace)>>purgeUnusedBindings
Receiver:
    a NameSpace
Instance Variables:
    organization =
    bindings = a WeakNameSpaceBindings[0]
    specificImports = an Array[0]
    generalImports = an Array[0]
    parent = a NameSpace[260]
    name = #Undeclared
Temporaries:
    bSet = a WeakArray[0]
Context PC = 35

----------------------------------------------------------------------
optimized [] in Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
Receiver:
    an UndefinedObject
Temporaries:
    .self = a Tools.Trippy.PoolDictionaryInspector
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
    a BlockClosure
Instance Variables:
    method = CompiledBlock [] in
Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
    outerContext = nil
    copiedValues = a Tools.Trippy.PoolDictionaryInspector
Arguments:
    aBlock = BlockClosure [] in Cursor>>showWhile:
Temporaries:
    result = nil
Context PC = 4

----------------------------------------------------------------------
Cursor>>showWhile:
Receiver:
    a Cursor
Instance Variables:
    errorCode = 0
    handle = a ByteArray[4]
    image = Depth1Image(extent: 16 @ 16 depth: 1)
    mask = Depth1Image(extent: 16 @ 16 depth: 1)
    hotSpot = 1 @ 1
    name = 'xeq'
Arguments:
    aBlock = BlockClosure [] in
Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
Temporaries:
    oldcursor = Cursor normal
Context PC = 23

----------------------------------------------------------------------
Tools.Trippy.PoolDictionaryInspector>>purgeUnusedBindings
Receiver:
    a Tools.Trippy.PoolDictionaryInspector
Instance Variables:
    dependents = nil
    builder = an UIBuilder
    uiSession = nil
    eventHandlers = nil
    object = a NameSpace[0]
    container = a Tools.Trippy.NullNavigator
    driver = a Tools.Trippy.PageDriver
    segmentListHolder = nil
    fieldListHolder = a MultiSelectionInList
    textHolder = a ValueHolder on: ''
    dragController = nil
    undoHistory = an OrderedCollection[0]
    linearizedParts = an OrderedCollection[14]
    valueOrKeyHolder = a ValueHolder on: #value
Context PC = 9



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc