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 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.