Tool to convert public mem var RWs to use accessor methods?

Discussion in 'C++' started by Todd A. Anderson, Jun 27, 2003.

  1. I've inherited two "C++" code bases that I have to tie together
    and both of them make frequest use of public member variables
    in spite of all the information saying this limits flexibility. Well,
    their lack of foresight has bit me of course! I'd like to start off
    by converting all their public member variable accesses to the
    use of accessor methods. Then, I can reimplement selected
    accessor methods to provide the necessary glue between the
    code bases.

    The question is....is there a tool that can automatically perform
    this sort of transformation to accessor methods from public
    member variables?

    thanks,

    Todd
    Todd A. Anderson, Jun 27, 2003
    #1
    1. Advertising

  2. Sounds like a job for regular expressions, e.g., in C++ or Perl.

    Todd A. Anderson wrote:
    > I've inherited two "C++" code bases that I have to tie together
    > and both of them make frequest use of public member variables
    > in spite of all the information saying this limits flexibility. Well,
    > their lack of foresight has bit me of course! I'd like to start off
    > by converting all their public member variable accesses to the
    > use of accessor methods. Then, I can reimplement selected
    > accessor methods to provide the necessary glue between the
    > code bases.
    >
    > The question is....is there a tool that can automatically perform
    > this sort of transformation to accessor methods from public
    > member variables?
    >
    > thanks,
    >
    > Todd
    >
    >
    Suzanne Vogel, Jun 28, 2003
    #2
    1. Advertising

  3. Todd A. Anderson

    Jerry Coffin Guest

    In article <bdg2ov$4qf$>, says...

    [ ... ]

    > The question is....is there a tool that can automatically perform
    > this sort of transformation to accessor methods from public
    > member variables?


    I don't know of anything that does it entirely automatically, but right
    now operator overloading just became one of your best friends.

    Instead of attempting to find every place every variable is used, look
    only for where they're declared, which is usually a LOT easier. Convert
    each from its current type to an instance of a class that overloads
    operator=(T const &) and operator T (where T is the original type).
    These are your new "accessor" functions -- operator T converts your type
    to the original type just before its value gets assigned, and operator=
    gets called (of course) to assign some value to your object.

    IMO, even if this didn't save a tremendous amount of work, it would
    still be the way to go -- using accessor and mutator functions is almost
    always quite ugly.

    --
    Later,
    Jerry.

    The universe is a figment of its own imagination.
    Jerry Coffin, Jun 29, 2003
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    8
    Views:
    302
    jaysome
    Mar 1, 2007
  2. news.aon.at
    Replies:
    11
    Views:
    627
    Ian Collins
    Jan 29, 2011
  3. James Britt
    Replies:
    28
    Views:
    429
    Jim Weirich
    Nov 8, 2004
  4. Replies:
    1
    Views:
    86
  5. Jason Lillywhite

    accessor methods for class methods

    Jason Lillywhite, Sep 5, 2008, in forum: Ruby
    Replies:
    3
    Views:
    131
    Jason Lillywhite
    Sep 6, 2008
Loading...

Share This Page