GemTalk / Sparkle

MIT License
11 stars 5 forks source link

Cannot compile several methods in SpkInspectorTool #10

Closed dalehenrich closed 3 years ago

dalehenrich commented 3 years ago

Here's the compile error in GemStone:

GemStone Smalltalk Compiler Errors:
 Near line 37 of file /home/dhenrich/rogue/_homes/rogue/_home/server/stones/RSR_360/updateRowanRepositoryInstallRsr.tpz
Error found while compiling instance method for class SpkInspectorTool
   selfDescriptionOf: anObject

           "Answer a string showing how the object describes itself using printOn:.
           Objects that do not understand #printOn: will answer the empty string.
           Limit output size in case of very long or infinitely recursive implementation of #printOn:,
           but set a high limit."

           | stream |
           stream := LimitedWriteStream on: String new.
 *                   ^1                                               *******
           stream
                   limit: 250000;
                   limitBlock: [ ^ stream contents ].
           self
                   carefullySend: #printOn:
                   withArguments: { stream }
                   to: anObject
                   ifNotUnderstood: [  ].
           ^ stream contents

1: [1031] undefined symbol

Will move the method into Sparkle-Tools-Pharo package

dalehenrich commented 3 years ago

Another method in SpkInspectorTool has compile errors:

GemStone Smalltalk Compiler Errors:
 Near line 37 of file /home/dhenrich/rogue/_homes/rogue/_home/server/stones/RSR_360/updateRowanRepositoryInstallRsr.tpz
Error found while compiling instance method for class SpkInspectorTool
   initializeNamedInstvars

           | class names |
           class := self classOfInspectedObject.
           names := class allInstVarNames.
           1 to: names size do: [ :index | 
                   | value fieldTool |
                   value := thisContext object: inspectedObject instVarAt: index.
 *                          ^1                                                    
                   fieldTool := SpkInspectorNamedInstvarTool new.
                   fieldTool
                           explorerTool: explorerTool;
                           inspectorTool: self;
                           index: index;
                           name: (names at: index);
                           selfDescription: (self selfDescriptionOf: value).
                   fieldTools add: fieldTool ]

1: [1031] undefined symbol

Will move the method into Sparkle-Tools-Pharo package

dalehenrich commented 3 years ago
GemStone Smalltalk Compiler Errors:
 Near line 37 of file /home/dhenrich/rogue/_homes/rogue/_home/server/stones/RSR_360/updateRowanRepositoryInstallRsr.tpz
Error found while compiling instance method for class SpkInspectorTool
   initializeIndexedInstvars

           | size |
           size := thisContext objectSize: inspectedObject.
 *                 ^1                                                 *******
           1 to: size do: [ :index | 
                   | value fieldTool |
                   value := thisContext object: inspectedObject basicAt: index.
                   fieldTool := SpkInspectorIndexedInstvarTool new.
                   fieldTool
                           explorerTool: explorerTool;
                           inspectorTool: self;
                           index: index;
                           name: index printString;
                           selfDescription: (self selfDescriptionOf: value).
                   fieldTools add: fieldTool ]

1: [1031] undefined symbol

same workaround

dalehenrich commented 3 years ago
GemStone Smalltalk Compiler Errors:
 Near line 37 of file /home/dhenrich/rogue/_homes/rogue/_home/server/stones/RSR_360/updateRowanRepositoryInstallRsr.tpz
Error found while compiling instance method for class SpkInspectorTool
   classMembershipDescription

           "Answer a string description of the object as an instance of its class"

           | class |
           class := self classOfInspectedObject.
           ^ (class isKindOf: Metaclass)
 *                            ^1                                      *******
                     ifTrue: [ "inspectedObject is a class, and therefore should understand #name" 
                             inspectedObject name ]
                     ifFalse: [ 
                             | title |
                             title := class name.

                             (title first isVowel
                                      ifTrue: [ 'an ' ]
                                      ifFalse: [ 'a ' ]) , title ]

1: [1031] undefined symbol

same workaround

dalehenrich commented 3 years ago

This issue will be addressed when #12 - Classes in Sparkle-Tools-Common need to be moved to Sparkle-Tools-Pharo is complete

martinmcclure commented 3 years ago

12 is complete, closing this one.