Newsgroup: it.comp.lang.c++
Titolo: Refactoring sui tipi

Ho parecchio codice da modificare purtroppo, non sono grandi cose ma
sono perlopiù tipi/aggiunta di const etc etc...
Ogni volta che aggiusto e ricompilo me ne spuntano un altra decina.
C'è un modo magari per automatizzare la cosa?
Sarebbe bellissimo farlo direttamente con emacs che è il mio pane
quotidiano, ma siccome ci lavoro via ssh ho ancora qualche gabola.
Altri strumenti che non siano possibilmente per windows?
--8<---------------cut here---------------start------------->8---
...include/ccommbuffer.h:63:18: note: 	virtual bool cCommBuffer::isBufferEmpty() const
...include/ccommbuffer.h:114:18: note: 	virtual void cCommBuffer::pack(opp_long_long)
...include/ccommbuffer.h:118:18: note: 	virtual void cCommBuffer::pack(opp_unsigned_long_long)
...include/ccommbuffer.h:138:18: note: 	virtual void cCommBuffer::pack(const opp_string&)
...include/ccommbuffer.h:142:18: note: 	virtual void cCommBuffer::pack(SimTime)
...include/ccommbuffer.h:154:18: note: 	virtual void cCommBuffer::pack(const unsigned char*, int)
--8<---------------cut here---------------end--------------->8---

 windows?
"sed" no? Ovviamente è per Unix/Linux ma ce n'è il porting
sotto Win e lo uso con gran piacere. E' poco meno immenso
di emacs e io personalmente lo conosco al 5% ma già è tanto.
-- 
Mi sono iscritto ad un concorso di colpa ma non
ho vinto niente perche' non c'entravo.

 di emacs e io personalmente lo conosco al 5% ma già è tanto.
non uso win per fortuna, comunque il problema non è così semplice direi
da essere gestito con sed...
Voglio dire, devo lanciare un make e a seconda degli errori sostituire
alcune stringhe, ma difficilmente più di 2 per ognuno (prototipo e
implementazione).

Andrea Crotti ha scritto:

usa netbeans
ha opzioni come il refactoring
http;//
www.netbeans.org

 http;//
www.netbeans.org
Eh purtroppo non mi sembra che neanche netbeans sia di grande aiuto,
anche perché in realtà devo compilare su una macchina virtuale via ssh,
questo lo faccio in automatico su emacs ma non ho visto opzioni a
riguardo.
Tra l'altro ci metterei una vita a settare tutti gli include path ho
paura...
Con emacs e cedet poi ho trovato cose magnifiche, ma il problema è più
"complesso".
Nel senso che ho una cosa di questo tipo
--8<---------------cut here---------------start------------->8---
    //@{
    virtual void pack(char d);
    virtual void pack(unsigned char d);
    virtual void pack(bool d);
    virtual void pack(short d);
    virtual void pack(unsigned short d);
    virtual void pack(int d);
    virtual void pack(unsigned int d);
    virtual void pack(long d);
    virtual void pack(unsigned long d);
    virtual void pack(float d);
    virtual void pack(double d);
    virtual void pack(long double d);
    virtual void pack(const char *d) = 0;
    virtual void pack(const opp_string& d) = 0;
    //@}
    /** @name Pack arrays of basic types */
    //@{
    virtual void pack(const char *d, int size);
    virtual void pack(const unsigned char *d, int size);
    virtual void pack(bool *d, int size);
    virtual void pack(short *d, int size);
    virtual void pack(unsigned short *d, int size);
    virtual void pack(int *d, int size);
    virtual void pack(unsigned int *d, int size);
    virtual void pack(long *d, int size);
    virtual void pack(unsigned long *d, int size);
    virtual void pack(float *d, int size);
    virtual void pack(double *d, int size);
    virtual void pack(long double *d, int size);
    virtual void pack(const char **d, int size);
    virtual void pack(opp_string *d, int size);
    //@}
--8<---------------cut here---------------end--------------->8---
dove alcuni tipi sono cambiati, altri non sono più definiti e così via,
ma trovare le corrispondenze giusto sto diventando scemo.
Senza contare che non sono sicuro che poi le implementazioni rimangano
corrette...