Cevelop / cevelop

The C++ IDE for professional developers
Eclipse Public License 2.0
6 stars 0 forks source link

Toggle Function Definition Misbehavior when toggling first member in cpp file #33

Open PeterSommerlad opened 5 years ago

PeterSommerlad commented 5 years ago

Expected Behavior

#ifndef SRC_NAUGHTY_H_
#define SRC_NAUGHTY_H_

class Naughty {
public:
    Naughty() {
        // TODO Auto-generated constructor stub
    }
    virtual ~Naughty() {
        // TODO Auto-generated destructor stub
    }
    Naughty(Naughty const &other) {
        // TODO Auto-generated constructor stub
    }
    Naughty(Naughty &&other) {
        // TODO Auto-generated constructor stub
    }
    Naughty& operator=(const Naughty &other); // TOGGLE FUNCTION DEFINITION
    Naughty& operator=(Naughty &&other);
};

#endif /* SRC_NAUGHTY_H_ */

.cpp file

#include "Naughty.h"

Naughty& Naughty::operator=(const Naughty &other) {
    // TODO Auto-generated method stub
}
Naughty& Naughty::operator=(Naughty &&other) {
    // TODO Auto-generated method stub
}

should just work...

Actual Behavior

#ifndef SRC_NAUGHTY_H_
#define SRC_NAUGHTY_H_

class Naughty {
public:
    Naughty() {
        // TODO Auto-generated constructor stub
    }
    virtual ~Naughty() {
        // TODO Auto-generated destructor stub
    }
    Naughty(Naughty const &other) {
        // TODO Auto-generated constructor stub
    }
    Naughty(Naughty &&other) {
        // TODO Auto-generated constructor stub
    }
    SRC_NAUGHTY_H_ Naughty& operator =(Naughty const &other) {
        // TODO Auto-generated method stub
    }
    Naughty& operator=(Naughty &&other);
};

#endif /* SRC_NAUGHTY_H_ */

Where does the macro come from. Computation of tokens wrong? .cpp file is ok

starting from the last member to the top works. seems to be special interaction between toggling the first member left in the .cpp file and somehow spuriously picking up the include gaurd macro name.

Cevelop Version, Operating System and Compiler

Cevelop C++ IDE

Version: 1.12.1-201907081203

tcorbat commented 5 years ago

There are several issues with Toggle Function. We need to rework this. It is a CDT feature though.

On Thu, Sep 12, 2019, 10:12 Peter Sommerlad notifications@github.com wrote:

Expected Behavior

ifndef SRC_NAUGHTYH

define SRC_NAUGHTYH

class Naughty { public: Naughty() { // TODO Auto-generated constructor stub } virtual ~Naughty() { // TODO Auto-generated destructor stub } Naughty(Naughty const &other) { // TODO Auto-generated constructor stub } Naughty(Naughty &&other) { // TODO Auto-generated constructor stub } Naughty& operator=(const Naughty &other); // TOGGLE FUNCTION DEFINITION Naughty& operator=(Naughty &&other); };

endif / SRC_NAUGHTYH /

.cpp file

include "Naughty.h"

Naughty& Naughty::operator=(const Naughty &other) { // TODO Auto-generated method stub } Naughty& Naughty::operator=(Naughty &&other) { // TODO Auto-generated method stub }

should just work... Actual Behavior

ifndef SRC_NAUGHTYH

define SRC_NAUGHTYH

class Naughty { public: Naughty() { // TODO Auto-generated constructor stub } virtual ~Naughty() { // TODO Auto-generated destructor stub } Naughty(Naughty const &other) { // TODO Auto-generated constructor stub } Naughty(Naughty &&other) { // TODO Auto-generated constructor stub } SRC_NAUGHTYH Naughty& operator =(Naughty const &other) { // TODO Auto-generated method stub } Naughty& operator=(Naughty &&other); };

endif / SRC_NAUGHTYH /

Where does the macro come from. Computation of tokens wrong? .cpp file is ok

starting from the last member to the top works. seems to be special interaction between toggling the first member left in the .cpp file and somehow spuriously picking up the include gaurd macro name. Cevelop Version, Operating System and Compiler

Cevelop C++ IDE

Version: 1.12.1-201907081203

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Cevelop/Issues/issues/110?email_source=notifications&email_token=AA2JYQLAFEKFYIU7DOYBBVTQJH2VTA5CNFSM4IWAT54KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HK5JCAA, or mute the thread https://github.com/notifications/unsubscribe-auth/AA2JYQNPFQ7OTGUTQWQNX23QJH2VTANCNFSM4IWAT54A .