No. Adding a method is not a refactoring. You should use RBAddMethodChange:

| model |
model := RBNamespace new.
(model classNamed: #Model)
    compile: 'asString ^ String empty'
    classified: #(accessing).
model changes execute.

and the new method is recorded in the .changes file

Cheers,

Hernán



2014-07-17 11:08 GMT-03:00 Mark Rizun <mri...@gmail.com>:

> Thank you all. Problem is solved, I just used RBAddMethodRefactoring.
>
> Mark
>
>
> 2014-07-17 16:07 GMT+02:00 Baptiste Quide <baptiste.qu...@inria.fr>:
>
> I think you have to add a "RGMethodDefinition" or a "CompiledMethod".
>> Obviously in a class methodDict the values are CompiledMethod.
>>
>> Regards,
>>
>> ------------------------------
>>
>> *De: *"Sebastian Tleye" <stl...@gmail.com>
>> *À: *"Any question about pharo is welcome" <pharo-users@lists.pharo.org>
>> *Envoyé: *Jeudi 17 Juillet 2014 16:03:52
>> *Objet: *Re: [Pharo-users] Adding method to class
>>
>>
>> I don't know what RBMethod is, but you can do
>>
>> aClass compile: source.
>>
>> For example:
>>
>> Array compile: 'newMethod ^ 1'
>>
>> I don't know if it answers your question.
>>
>> Regards
>>
>>
>>
>>
>> 2014-07-17 15:57 GMT+02:00 Mark Rizun <mri...@gmail.com>:
>>
>>> P.S. obviously, my method is added to newMethods var, but it is not
>>> disblayed in my class.
>>>
>>>
>>> 2014-07-17 15:53 GMT+02:00 Mark Rizun <mri...@gmail.com>:
>>>
>>> Hi guys!
>>>>
>>>> How can I add method (I have /RBMethod/) to a class in code?
>>>> I'm asking because existing method /addMethod:/ in /RBAbstractClass/
>>>> isn't
>>>> working.
>>>> Here is a piece of my code:
>>>>
>>>> /method:= RBMethod for: class source: ('^ ', newName asString) selector:
>>>> newName asSymbol.
>>>>         class addMethod: getter./
>>>>
>>>> Best
>>>> Mark
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://forum.world.st/Adding-method-to-class-tp4768282.html
>>>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>
>>
>

Reply via email to