Hi all
In SqMoose we added the following
testMooseNameOfCompiledMethod "self debug: #testMooseNameOfCompiledMethod" self assert: (TheRoot class>>#accessInstanceVariable) mooseName = #'Smalltalk::TheRoot_class.accessInstanceVariable()'. self assert: (TheRoot>>#accessingClass) mooseName = #'Smalltalk::TheRoot.accessingClass()'. "May be we could fix that too. using another notation so that we could use the notation create method name too" self should: [ (TheRoot>>#zork) mooseName ] raise: Error.
testMooseNameOfInstanceVariable
self assert: (TheRoot@#x) = #'Smalltalk::TheRoot.x'. "contrary to compiled method notation we do not garanty that the class has an iv" "we could! Now do we want" self assert: (TheRoot@#foo) = #'Smalltalk::TheRoot.foo'. self assert: (TheRoot class@#mx) = #'Smalltalk::TheRoot_class.mx'
testMooseNameOfClassVariable "self debug: #testMooseNameOfClassVariable" self assert: (TheRoot@#TheSharedVariable) = #'Smalltalk::TheRoot.TheSharedVariable'. "contrary to compiled method notation we do not garanty that the class has an iv" "we could! Now do we want? We could also have @@ for class variables." "now the name of shared variable is always its class and not its metaclass" self assert: (TheRoot class @#TheSharedVariable) = #'Smalltalk::TheRoot.TheSharedVariable'.
Now for compiled methods we could have a different way of doing it to be able to build any names.
stef