2015-06-21 2:47 GMT+02:00 Alexandre Bergel <alexandre.bergel@me.com>:
Hi!

I have the following:

Object subclass: #A.
A compile: 'foo ^ 5'.
A compile: 'foo ^ 10'.

(A >> #foo) asHistoricalRingDefinition

But I have no idea how I can get the two time stamps of A>>foo and the two source code?

I think we don't have this yet. (Maybe we don't need this, but we need better tool support for Ring).

You can see some examples how I played with RGMethods
in the version browser
scanVersionsOf: method class: aClass meta: meta category: cat selector: aSelector

and in ChangeSorterApplication
createRingMethodForRemovedSelector: aSelector inClass: aClass


��

I cannot figure out what is the difference between asPassiveRingDefinition, asActiveRingDefinition, asFullRingDefinition���
These methods all return a RGMethodDefinition.

Yes, all are RGMethodDefinitions, the difference is "where the real data is"
active ring -> image ( active ring method sourceCode -> code of the actual compiled method)
historical ring -> source/changes files ( historical ring method sourceCode -> code fetched from source/changes file (needs a valid sourcePointer))
passive ring -> nowhere, init by instantiation (passive ring method sourceCode -> whatever was provided by the RGMethodDefinition construction)

full ring definition controls what other elements are retrieved as ringdefinition, For example
every method has a package, but not every RGMethodDefinitions needs to now or has a package:

(A>>#foo) asRingDefinition package. -> nil
(A>>#foo) asFullRingDefinition package. ->�� "RGPackage(Unclassified)"





��

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel�� http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.