GemTalk / Rowan

a new project/package manager for Smalltalk that supports FileTree and Tonel repositories, and is independent of Monticello and Metacello
MIT License
14 stars 7 forks source link

adding comment to a metaclass gets odd error #482

Open ericwinger opened 5 years ago

ericwinger commented 5 years ago

In the course of fixing another bug, I inadvertently sent rwComment: to a metaclass. Even though that isn't legal we should probably get a more understandable error message.

See stack frame [22] RowanServicesTestClass class (Class) >> rwComment: @7 line 4

a UserDefinedError occurred (error 2318), reason:halt, Encountered an existing association for a new class RowanServicesTestClass

[1] UserDefinedError (AbstractException) >> _signalWith: @5 line 25
[2] UserDefinedError (AbstractException) >> signal @2 line 47
[3] RwGsPatchSet_254 (Object) >> error: @6 line 7
[4] [] in  ExecBlock1 (RwGsPatchSet_254) >> addAddedClassesToTempSymbols @9 line 7
[5] [] in  ExecBlock1 (Set) >> do: @2 line 11
[6] [] in  ExecBlock2 (KeyValueDictionary) >> keysDo: @2 line 7
[7] KeyValueDictionary >> keysAndValuesDo: @23 line 20
[8] KeyValueDictionary >> keysDo: @2 line 6
[9] Set >> do: @3 line 11
[10] RwGsPatchSet_254 >> addAddedClassesToTempSymbols @2 line 4
[11] RwGsPatchSet_254 >> apply @7 line 8
[12] RwGsTestImage class (RwGsImage class) >> applyModification_254:visitorClass:instanceMigrator: @10 line 9
[13] RwGsTestImage class (RwGsImage class) >> applyModification_254:instanceMigrator: @8 line 12
[14] RwPrjLoadTool >> _loadProjectSetDefinition_254:instanceMigrator: @17 line 18
[15] [] in  ExecBlock0 (RwPrjLoadTool) >> _doProjectSetLoad_254:instanceMigrator:originalProjectSet:processedClassNames: @2 line 4
[16] ExecBlock0 (ExecBlock) >> on:do: @3 line 42
[17] RwPrjLoadTool >> _doProjectSetLoad_254:instanceMigrator:originalProjectSet:processedClassNames: @2 line 6
[18] RwPrjLoadTool >> loadProjectSetDefinition:instanceMigrator: @3 line 7
[19] RwPrjLoadTool >> loadProjectSetDefinition: @4 line 4
[20] RwPrjLoadTool >> loadProjectDefinition: @5 line 7
[21] RwPrjBrowserTool >> updateClassComment:forClassNamed: @19 line 18
[22] RowanServicesTestClass class (Class) >> rwComment: @7 line 4
[23] RowanClassService >> classComment: @4 line 4
[24] RowanClassServiceTest >> test_classComment @11 line 6
[25] RowanClassServiceTest (TestCase) >> performTest @3 line 2
[26] [] in  ExecBlock0 (TestCase) >> runCase @3 line 5
[27] ExecBlock0 (ExecBlock) >> ensure: @2 line 12
[28] RowanClassServiceTest (TestCase) >> runCase @4 line 6
[29] [] in  ExecBlock0 (TestCase) >> debug @4 line 2
[30] ExecBlock0 (ExecBlock) >> ensure: @2 line 12
[31] RowanClassServiceTest (TestCase) >> debug @2 line 3
[32] RowanClassServiceTest class (TestCase class) >> debug: @3 line 3
[33] JadeServer64bit32 (JadeServer) >> debugTestNamed:of: @4 line 4
[34] GsNMethod class >> _gsReturnToC @1 line 1
===============================================
[1] UserDefinedError (AbstractException) >> _signalWith: @5 line 25
    receiver oop(45756929) == a UserDefinedError occurred (error 2318), reason:halt, Encountered an existing association for a new class RowanServicesTestClass

instance variables:
    -currGsHandler oop(20) == nil
    -gsArgs oop(20) == nil
    -gsDetails oop(61557505) == 'Encountered an existing association for a new class RowanServicesTestClass'
    -gsNumber oop(18546) == 2318
    -gsReason oop(61557249) == 'halt'
    -gsResumable oop(268) == true
    -gsStack oop(20) == nil
    -gsTrappable oop(268) == true
    -messageText oop(61557761) == 'a UserDefinedError occurred (error 2318), reason:halt, Encountered an existing association for a new class RowanServicesTestClass'
    -tag oop(20) == nil

temporary variables and parameters:
    inCextensionArg oop(20) == nil
    res oop(20) == nil
----------------------------------------------------
[2] UserDefinedError (AbstractException) >> signal @2 line 47
    receiver oop(45756929) == a UserDefinedError occurred (error 2318), reason:halt, Encountered an existing association for a new class RowanServicesTestClass

instance variables:
    -currGsHandler oop(20) == nil
    -gsArgs oop(20) == nil
    -gsDetails oop(61557505) == 'Encountered an existing association for a new class RowanServicesTestClass'
    -gsNumber oop(18546) == 2318
    -gsReason oop(61557249) == 'halt'
    -gsResumable oop(268) == true
    -gsStack oop(20) == nil
    -gsTrappable oop(268) == true
    -messageText oop(61557761) == 'a UserDefinedError occurred (error 2318), reason:halt, Encountered an existing association for a new class RowanServicesTestClass'
    -tag oop(20) == nil

temporary variables and parameters:
----------------------------------------------------
[3] RwGsPatchSet_254 (Object) >> error: @6 line 7
    receiver oop(61558529) == aRwGsPatchSet_254

instance variables:
    -addedClasses oop(46669569) == aSet( aRwGsClassAdditionSymbolDictPatch)
    -addedMethods oop(60906753) == aSet( )
    -addedPackages oop(59619841) == aSet( aRwGsPackageAdditionSymbolDictPatch)
    -addedProjects oop(46657281) == aSet( )
    -classesWithClassVariableChanges oop(60908033) == aSet( )
    -classesWithConstraintChanges oop(60907265) == aSet( )
    -classesWithNewVersions oop(60907009) == aSet( )
    -classesWithPropertyChanges oop(60908801) == aSet( )
    -classesWithSymbolDictionaryChanges oop(60908289) == aSet( )
    -createdClasses oop(60670721) == aDictionary( )
    -currentProjectDefinition oop(60994561) == aRwProjectDefinition for RowanServicesTestProject
    -deletedClasses oop(46669313) == aSet( )
    -deletedMethods oop(60906497) == aSet( )
    -deletedPackages oop(59619585) == aSet( )
    -deleteNewVersionMethods oop(60906241) == aSet( )
    -errors oop(60994817) == aSet( )
    -extendedClasses oop(60909057) == aSet( )
    -extendedMethods oop(60905729) == aSet( )
    -instanceMigrator oop(20) == nil
    -methodsNeedingRecompile oop(60905217) == aSet( )
    -methodsWithPropertyChanges oop(60905473) == aSet( )
    -movedClasses oop(46668289) == aSet( )
    -movedClassesMap oop(46658817) == aDictionary( )
    -movedMethods oop(60905985) == aSet( )
    -movedPackages oop(46671105) == aSet( )
    -projectsWithPropertyChanges oop(46670849) == aSet( )
    -tempSymbols oop(60904705) == aSymbolDictionary( #'SystemRepository'->aRepository( anObjectSecurityPolicy, Number 1 in Repository SystemRepository, Owner SystemUser write, World read, anObjectSecurityPolicy, Number 2 in Repository...

temporary variables and parameters:
    messageString oop(61557505) == 'Encountered an existing association for a new class RowanServicesTestClass'
----------------------------------------------------
[4] [] in  ExecBlock1 (RwGsPatchSet_254) >> addAddedClassesToTempSymbols @9 line 7
    receiver oop(60994049) == anExecBlock1

instance variables:

temporary variables and parameters:
    key oop(42429185) == #'RowanServicesTestClass'
    patch oop(45756417) == aRwGsClassAdditionSymbolDictPatch
    self oop(61558529) == aRwGsPatchSet_254
----------------------------------------------------
[5] [] in  ExecBlock1 (Set) >> do: @2 line 11
    receiver oop(60993537) == anExecBlock1

instance variables:

temporary variables and parameters:
    aBlock oop(60994049) == anExecBlock1
    aKey oop(45756417) == aRwGsClassAdditionSymbolDictPatch
----------------------------------------------------
[6] [] in  ExecBlock2 (KeyValueDictionary) >> keysDo: @2 line 7
    receiver oop(60993281) == anExecBlock2

instance variables:

temporary variables and parameters:
    aBlock oop(60993537) == anExecBlock1
    aKey oop(45756417) == aRwGsClassAdditionSymbolDictPatch
    aValue oop(45756417) == aRwGsClassAdditionSymbolDictPatch
----------------------------------------------------
[7] KeyValueDictionary >> keysAndValuesDo: @23 line 20
    receiver oop(60983809) == aKeyValueDictionary( aRwGsClassAdditionSymbolDictPatch->aRwGsClassAdditionSymbolDictPatch)

instance variables:
    -collisionLimit oop(26) == 3
    -numCollisions oop(2) == 0
    -numElements oop(10) == 1
    -tableSize oop(26) == 3

temporary variables and parameters:
    aBlock oop(60993281) == anExecBlock2
    aKey oop(45756417) == aRwGsClassAdditionSymbolDictPatch
    collisionBkt oop(20) == nil
    j oop(20) == nil
    tableIndex oop(42) == 5
----------------------------------------------------
[8] KeyValueDictionary >> keysDo: @2 line 6
    receiver oop(60983809) == aKeyValueDictionary( aRwGsClassAdditionSymbolDictPatch->aRwGsClassAdditionSymbolDictPatch)

instance variables:
    -collisionLimit oop(26) == 3
    -numCollisions oop(2) == 0
    -numElements oop(10) == 1
    -tableSize oop(26) == 3

temporary variables and parameters:
    aBlock oop(60993537) == anExecBlock1
----------------------------------------------------
[9] Set >> do: @3 line 11
    receiver oop(46669569) == aSet( aRwGsClassAdditionSymbolDictPatch)

instance variables:
    -_indexedPaths oop(20) == nil
    -_levels oop(20) == nil
    -_numEntries oop(20) == nil
    -_varyingSize oop(20) == nil
    -dict oop(60983809) == aKeyValueDictionary( aRwGsClassAdditionSymbolDictPatch->aRwGsClassAdditionSymbolDictPatch)

temporary variables and parameters:
    aBlock oop(60994049) == anExecBlock1
    tmp oop(2) == 0
----------------------------------------------------
[10] RwGsPatchSet_254 >> addAddedClassesToTempSymbols @2 line 4
    receiver oop(61558529) == aRwGsPatchSet_254

instance variables:
    -addedClasses oop(46669569) == aSet( aRwGsClassAdditionSymbolDictPatch)
    -addedMethods oop(60906753) == aSet( )
    -addedPackages oop(59619841) == aSet( aRwGsPackageAdditionSymbolDictPatch)
    -addedProjects oop(46657281) == aSet( )
    -classesWithClassVariableChanges oop(60908033) == aSet( )
    -classesWithConstraintChanges oop(60907265) == aSet( )
    -classesWithNewVersions oop(60907009) == aSet( )
    -classesWithPropertyChanges oop(60908801) == aSet( )
    -classesWithSymbolDictionaryChanges oop(60908289) == aSet( )
    -createdClasses oop(60670721) == aDictionary( )
    -currentProjectDefinition oop(60994561) == aRwProjectDefinition for RowanServicesTestProject
    -deletedClasses oop(46669313) == aSet( )
    -deletedMethods oop(60906497) == aSet( )
    -deletedPackages oop(59619585) == aSet( )
    -deleteNewVersionMethods oop(60906241) == aSet( )
    -errors oop(60994817) == aSet( )
    -extendedClasses oop(60909057) == aSet( )
    -extendedMethods oop(60905729) == aSet( )
    -instanceMigrator oop(20) == nil
    -methodsNeedingRecompile oop(60905217) == aSet( )
    -methodsWithPropertyChanges oop(60905473) == aSet( )
    -movedClasses oop(46668289) == aSet( )
    -movedClassesMap oop(46658817) == aDictionary( )
    -movedMethods oop(60905985) == aSet( )
    -movedPackages oop(46671105) == aSet( )
    -projectsWithPropertyChanges oop(46670849) == aSet( )
    -tempSymbols oop(60904705) == aSymbolDictionary( #'SystemRepository'->aRepository( anObjectSecurityPolicy, Number 1 in Repository SystemRepository, Owner SystemUser write, World read, anObjectSecurityPolicy, Number 2 in Repository...

temporary variables and parameters:
    self oop(61558529) == aRwGsPatchSet_254
----------------------------------------------------
[11] RwGsPatchSet_254 >> apply @7 line 8
    receiver oop(61558529) == aRwGsPatchSet_254

instance variables:
    -addedClasses oop(46669569) == aSet( aRwGsClassAdditionSymbolDictPatch)
    -addedMethods oop(60906753) == aSet( )
    -addedPackages oop(59619841) == aSet( aRwGsPackageAdditionSymbolDictPatch)
    -addedProjects oop(46657281) == aSet( )
    -classesWithClassVariableChanges oop(60908033) == aSet( )
    -classesWithConstraintChanges oop(60907265) == aSet( )
    -classesWithNewVersions oop(60907009) == aSet( )
    -classesWithPropertyChanges oop(60908801) == aSet( )
    -classesWithSymbolDictionaryChanges oop(60908289) == aSet( )
    -createdClasses oop(60670721) == aDictionary( )
    -currentProjectDefinition oop(60994561) == aRwProjectDefinition for RowanServicesTestProject
    -deletedClasses oop(46669313) == aSet( )
    -deletedMethods oop(60906497) == aSet( )
    -deletedPackages oop(59619585) == aSet( )
    -deleteNewVersionMethods oop(60906241) == aSet( )
    -errors oop(60994817) == aSet( )
    -extendedClasses oop(60909057) == aSet( )
    -extendedMethods oop(60905729) == aSet( )
    -instanceMigrator oop(20) == nil
    -methodsNeedingRecompile oop(60905217) == aSet( )
    -methodsWithPropertyChanges oop(60905473) == aSet( )
    -movedClasses oop(46668289) == aSet( )
    -movedClassesMap oop(46658817) == aDictionary( )
    -movedMethods oop(60905985) == aSet( )
    -movedPackages oop(46671105) == aSet( )
    -projectsWithPropertyChanges oop(46670849) == aSet( )
    -tempSymbols oop(60904705) == aSymbolDictionary( #'SystemRepository'->aRepository( anObjectSecurityPolicy, Number 1 in Repository SystemRepository, Owner SystemUser write, World read, anObjectSecurityPolicy, Number 2 in Repository...

temporary variables and parameters:
----------------------------------------------------
[12] RwGsTestImage class (RwGsImage class) >> applyModification_254:visitorClass:instanceMigrator: @10 line 9
    receiver oop(34301441) == RwGsTestImage

instance variables:

temporary variables and parameters:
    aProjectSetModification oop(61539329) == aRwProjectSetModification
    aProjectSetModification oop(61539329) == aRwProjectSetModification
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    newClassVersionPatchSet oop(20) == nil
    patchSet oop(61558529) == aRwGsPatchSet_254
    visitor oop(61539073) == aRwGsImagePatchVisitor_254
    visitorClass oop(45615105) == RwGsImagePatchVisitor_254
----------------------------------------------------
[13] RwGsTestImage class (RwGsImage class) >> applyModification_254:instanceMigrator: @8 line 12
    receiver oop(34301441) == RwGsTestImage

instance variables:

temporary variables and parameters:
    aProjectSetModification oop(61539329) == aRwProjectSetModification
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    visitorClass oop(20) == nil
----------------------------------------------------
[14] RwPrjLoadTool >> _loadProjectSetDefinition_254:instanceMigrator: @17 line 18
    receiver oop(60874753) == aRwPrjLoadTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    diff oop(61539329) == aRwProjectSetModification
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    loadedProjectDefinitionSet oop(60979713) == aRwProjectSetDefinition
    loadedProjectInfo oop(60979201) == aDictionary( )
    loadedProjectSet oop(60980225) == aRwEntitySet
    projectSetDefinitionToLoad oop(60974337) == aRwProjectSetDefinition
    projectSetDefinitionToLoad oop(60974337) == aRwProjectSetDefinition
----------------------------------------------------
[15] [] in  ExecBlock0 (RwPrjLoadTool) >> _doProjectSetLoad_254:instanceMigrator:originalProjectSet:processedClassNames: @2 line 4
    receiver oop(60980993) == anExecBlock0

instance variables:

temporary variables and parameters:
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    projectSetDefinition oop(60974337) == aRwProjectSetDefinition
    self oop(60874753) == aRwPrjLoadTool
----------------------------------------------------
[16] ExecBlock0 (ExecBlock) >> on:do: @3 line 42
    receiver oop(60980993) == anExecBlock0

instance variables:

temporary variables and parameters:
    exceptionSelector oop(36352257) == RwExistingVisitorAddingExistingClassNotification
    fastPath oop(268) == true
    handlerBlock oop(61558017) == anExecBlock1
----------------------------------------------------
[17] RwPrjLoadTool >> _doProjectSetLoad_254:instanceMigrator:originalProjectSet:processedClassNames: @2 line 6
    receiver oop(60874753) == aRwPrjLoadTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    copiedProjectSetDef oop(20) == nil
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    originalProjectSet oop(60974337) == aRwProjectSetDefinition
    originalProjectSet oop(60974337) == aRwProjectSetDefinition
    processedClassNames oop(60672513) == aSet( )
    processedClassNames oop(60672513) == aSet( )
    projectSetDefinition oop(60974337) == aRwProjectSetDefinition
    self oop(60874753) == aRwPrjLoadTool
----------------------------------------------------
[18] RwPrjLoadTool >> loadProjectSetDefinition:instanceMigrator: @3 line 7
    receiver oop(60874753) == aRwPrjLoadTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    instanceMigrator oop(41355009) == aRwGsInstanceMigrator
    projectSetDefinition oop(60974337) == aRwProjectSetDefinition
----------------------------------------------------
[19] RwPrjLoadTool >> loadProjectSetDefinition: @4 line 4
    receiver oop(60874753) == aRwPrjLoadTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    projectSetDefinitionToLoad oop(60974337) == aRwProjectSetDefinition
----------------------------------------------------
[20] RwPrjLoadTool >> loadProjectDefinition: @5 line 7
    receiver oop(60874753) == aRwPrjLoadTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    projectDefinition oop(60994561) == aRwProjectDefinition for RowanServicesTestProject
    projectSetDefinition oop(60974337) == aRwProjectSetDefinition
----------------------------------------------------
[21] RwPrjBrowserTool >> updateClassComment:forClassNamed: @19 line 18
    receiver oop(61476097) == aRwPrjBrowserTool

instance variables:
    -specification oop(20) == nil

temporary variables and parameters:
    aString oop(42813185) == 'This is a test'
    aString oop(42813185) == 'This is a test'
    classDefinition oop(61475073) == aRwClassDefinition for RowanServicesTestClass
    className oop(61489153) == 'RowanServicesTestClass'
    className oop(61489153) == 'RowanServicesTestClass'
    loadedClass oop(60873217) == aRwGsLoadedSymbolDictClass RowanServicesTestClass
    packageDefinition oop(61473025) == aRwPackageDefinition for RowanServicesTestPackage
    projectDefinition oop(60994561) == aRwProjectDefinition for RowanServicesTestProject
----------------------------------------------------
[22] RowanServicesTestClass class (Class) >> rwComment: @7 line 4
    receiver oop(60992257) == RowanServicesTestClass

instance variables:

temporary variables and parameters:
    aString oop(42813185) == 'This is a test'
----------------------------------------------------
[23] RowanClassService >> classComment: @4 line 4
    receiver oop(61471233) == aRowanClassService:RowanServicesTestClass

instance variables:
    -categories oop(61619201) == anOrderedCollection( )
    -classInstVarNames oop(20) == nil
    -classType oop(20) == nil
    -classVarNames oop(20) == nil
    -command oop(20) == nil
    -commandArgs oop(20) == nil
    -comment oop(61556225) == ''
    -definedPackageName oop(35187969) == 'RowanServicesTestPackage'
    -definition oop(20) == nil
    -expand oop(20) == nil
    -filters oop(20) == nil
    -filterType oop(20) == nil
    -hierarchyServices oop(20) == nil
    -instVarNames oop(61585409) == anArray( )
    -isExtension oop(12) == false
    -isNewClass oop(12) == false
    -isTestCase oop(12) == false
    -meta oop(12) == false
    -methods oop(61620225) == anOrderedCollection( )
    -name oop(60777729) == 'RowanServicesTestClass'
    -oop oop(487938058) == 60992257
    -organizer oop(61554433) == aClassOrganizer
    -packageName oop(35187969) == 'RowanServicesTestPackage'
    -poolDictionaryNames oop(20) == nil
    -projectName oop(35188737) == 'RowanServicesTestProject'
    -selectedMethods oop(61619713) == anArray( )
    -selectedPackageServices oop(61619969) == anArray( )
    -subclassType oop(20) == nil
    -superclassName oop(59735041) == 'Object'
    -template oop(61620993) == 'Object rwSubclass: ''RowanServicesTestClass''??instVarNames: #()??classVars: #()??classInstVars: #()??poolDictionaries: #()??category: ''services test''??packageName: ''RowanServicesTestPackage''??op...
    -updateAfterCommand oop(20) == nil
    -updates oop(20) == nil
    -updateType oop(20) == nil
    -variables oop(61619457) == anOrderedCollection( )
    -version oop(10) == 1
    -versions oop(10) == 1
    -visibleTests oop(61618689) == anArray( )

temporary variables and parameters:
    string oop(42813185) == 'This is a test'
    theClass oop(60992257) == RowanServicesTestClass
----------------------------------------------------
[24] RowanClassServiceTest >> test_classComment @11 line 6
    receiver oop(61613825) == RowanClassServiceTest>>#test_classComment

instance variables:
    -defaultProjectDefinition oop(60794625) == aRwProjectDefinition for RowanServicesTestProject
    -testSelector oop(40215041) == #'test_classComment'

temporary variables and parameters:
    behavior oop(60992257) == RowanServicesTestClass
    classService oop(61471233) == aRowanClassService:RowanServicesTestClass
----------------------------------------------------
[25] RowanClassServiceTest (TestCase) >> performTest @3 line 2
    receiver oop(61613825) == RowanClassServiceTest>>#test_classComment

instance variables:
    -defaultProjectDefinition oop(60794625) == aRwProjectDefinition for RowanServicesTestProject
    -testSelector oop(40215041) == #'test_classComment'

temporary variables and parameters:
----------------------------------------------------
[26] [] in  ExecBlock0 (TestCase) >> runCase @3 line 5
    receiver oop(59692545) == anExecBlock0

instance variables:

temporary variables and parameters:
    self oop(61613825) == RowanClassServiceTest>>#test_classComment
----------------------------------------------------
[27] ExecBlock0 (ExecBlock) >> ensure: @2 line 12
    receiver oop(59692545) == anExecBlock0

instance variables:

temporary variables and parameters:
    aBlock oop(60737537) == anExecBlock
    b oop(20) == nil
    result oop(20) == nil
----------------------------------------------------
[28] RowanClassServiceTest (TestCase) >> runCase @4 line 6
    receiver oop(61613825) == RowanClassServiceTest>>#test_classComment

instance variables:
    -defaultProjectDefinition oop(60794625) == aRwProjectDefinition for RowanServicesTestProject
    -testSelector oop(40215041) == #'test_classComment'

temporary variables and parameters:
    self oop(61613825) == RowanClassServiceTest>>#test_classComment
----------------------------------------------------
[29] [] in  ExecBlock0 (TestCase) >> debug @4 line 2
    receiver oop(60874497) == anExecBlock0

instance variables:

temporary variables and parameters:
    self oop(60780289) == RowanClassServiceTest>>#test_classComment
----------------------------------------------------
[30] ExecBlock0 (ExecBlock) >> ensure: @2 line 12
    receiver oop(60874497) == anExecBlock0

instance variables:

temporary variables and parameters:
    aBlock oop(60718849) == anExecBlock
    b oop(20) == nil
    result oop(20) == nil
----------------------------------------------------
[31] RowanClassServiceTest (TestCase) >> debug @2 line 3
    receiver oop(60780289) == RowanClassServiceTest>>#test_classComment

instance variables:
    -defaultProjectDefinition oop(20) == nil
    -testSelector oop(40215041) == #'test_classComment'

temporary variables and parameters:
    self oop(60780289) == RowanClassServiceTest>>#test_classComment
----------------------------------------------------
[32] RowanClassServiceTest class (TestCase class) >> debug: @3 line 3
    receiver oop(34313729) == RowanClassServiceTest

instance variables:

temporary variables and parameters:
    aSymbol oop(40215041) == #'test_classComment'
----------------------------------------------------
[33] JadeServer64bit32 (JadeServer) >> debugTestNamed:of: @4 line 4
    receiver oop(59736577) == aJadeServer64bit32

instance variables:
    -classList oop(20) == nil
    -classOrganizers oop(60801793) == anArray( nil, nil, nil, nil)
    -environment oop(2) == 0
    -methodCommandResult oop(20) == nil
    -methodFilters oop(20) == nil
    -methodFilterType oop(20) == nil
    -readStream oop(20) == nil
    -selectedClass oop(20) == nil
    -selections oop(20) == nil
    -writeStream oop(20) == nil

temporary variables and parameters:
    testCaseClassName oop(45741313) == 'RowanClassServiceTest'
    testName oop(45740289) == 'test_classComment'
----------------------------------------------------
[34] GsNMethod class >> _gsReturnToC @1 line 1
    receiver oop(144897) == GsNMethod

instance variables:

temporary variables and parameters:
ericwinger commented 5 years ago

It is possible that the state of my symbol lists was bad rather than being a comment bug.

I had made a change to Jadeite that put the oop of the metaclass into a RowanClassService which expects only non-meta class oops.

To possibly reproduce the bug, replace RowanClassService>>theClass with this source in this commit https://github.com/GemTalk/Rowan/commit/069576c8dc5f3520475b0d9b8ead0c02a786090e:

theClass
    ^oop ifNil:[Rowan globalNamed: name] ifNotNil: [Object _objectForOop: oop]

Then run the RowanTestClassServiceTest tests