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 >> >> >