This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 238964

Summary: In c++ I see the "Overrides" signs, etc., only for the methods from the first extended class
Product: cnd Reporter: hermes85pl
Component: Code ModelAssignee: petrk
Status: REOPENED ---    
Severity: normal    
Priority: P3    
Version: 7.4   
Hardware: PC   
OS: Linux   
Issue Type: DEFECT Exception Reporter:
Attachments: IDE log

Description hermes85pl 2013-11-29 10:52:45 UTC
Product Version = NetBeans IDE 7.4 (Build 201310111528)
Operating System = Linux version 3.11.0-14-generic running on amd64
Java; VM; Vendor = 1.7.0_45
Runtime = Java HotSpot(TM) 64-Bit Server VM 24.45-b08
Comment 1 hermes85pl 2013-11-29 10:52:48 UTC
Created attachment 142719 [details]
IDE log
Comment 2 petrk 2013-12-16 09:06:23 UTC
Sorry, but I don't understand what exactly doesn't work.

I've checked the next example, all marks seem to be OK (each function has some mark).
==========================================================================

struct AAA {
    
    virtual int foo() {
        return 0;
    }
    
};

struct BBB {
    
    virtual int boo() {
        return 0;
    }
    
};

struct CCC : AAA, BBB {
    
    int foo() {
        return 1;
    }
};

struct DDD : AAA, BBB {

    int boo() {
        return 1;
    }        
    
};

struct XXX : CCC, DDD {
    
    int foo() {
        return 2;
    }
    
    int boo() {
        return 2;
    }
    
};
Comment 3 hermes85pl 2013-12-16 10:14:55 UTC
You are right. I guess my example is much more complex and the reason why the marks do not appear is slightly different. Still, there is a bug. And here is my case:

template<int type> struct TypeAware
{

	static int GetType(void)
	{
		return type;
	}
};

struct XXX : public TypeAware<5>
{
	virtual void methodXXX() = 0;
};

template<typename _TypeAware> struct TypeAwareExtender : public _TypeAware
{
	void DoSomethingExtra();
};

typedef TypeAwareExtender<XXX> AAA;

struct YYY : public TypeAware<8>
{
	virtual void methodYYY() = 0;
};

typedef TypeAwareExtender<YYY> BBB;

struct Test : public AAA, public BBB
{
	virtual void methodXXX();
	virtual void methodYYY();
};


NetBeans 7.4 with the latest updates shows me that methodXXX is overridden while methodYYY is not.

I hope you can isolate the cause better than me and perhaps update the title of this issue.

Regards.
Comment 4 petrk 2013-12-19 11:37:01 UTC
Thanks, I'll investigate the problem