Ding dong Marcus! Le 28 juin 2016 15:04, "Nicolas Passerini" <npasser...@gmail.com> a écrit :
> Still, I think it would be nice to be able to save a method even when it > does not compile. > > On Tue, Jun 28, 2016 at 2:52 PM, Peter Uhnák <i.uh...@gmail.com> wrote: > >> Yeah I guess that's not such a bad idea, to have a TemplateClass that >> would contain just the template methods, so I don't need to worry about >> conflicting instance variables. >> >> Peter >> >> On Tue, Jun 28, 2016 at 2:08 PM, Ben Coman <b...@openinworld.com> wrote: >> >>> On Tue, Jun 28, 2016 at 5:55 PM, Peter Uhnak <i.uh...@gmail.com> wrote: >>> > Hi, >>> > >>> > is it possible to accept a method without creating instance variable? >>> > >>> > E.g. >>> > >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > Object subclass: #MyObject >>> > slots: { } >>> > classVariables: { } >>> > category: 'Category' >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > MyObject>>addValue: aValue >>> > container add: aValue >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > >>> > Now normally when I would try to compile the method I would get the >>> "Unknown variable 'container'" warning that will force me to either create >>> temporary or instance variable; I would like to somehow ignore that, >>> because the method will actually never get called. >>> > >>> > My objective is use this method as a template for code generation, so >>> I would then take this method, apply some code transformation and compile >>> it into different object. >>> > >>> > Of course I could do >>> > >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > MyObject>>addValueTemplate >>> > ^ 'MyObject>>addValue: aValue >>> > container add: aValue' >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> > >>> > But then I would lose code highlighting, which is quite error-prone >>> for more complex snippets. >>> > >>> > If you have a better approach, I am all ears. :) >>> > >>> > Thanks, >>> > Peter >>> >>> If you are only templating the method and not the whole class, why not >>> add it as an instance variable MyObject? >>> Or if MyObject is a real domain object with a few template methods, >>> maybe put the templates on the class side and add a dummy >>> class-instance-variable there. >>> >>> cheers -ben >>> >>> >> >