Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: CodeEditor, Assist++, Topic++ » B605-dev1: Assist++: Incorrect evaluation
B605-dev1: Assist++: Incorrect evaluation [message #3494] Sun, 28 May 2006 15:50 Go to previous message
Werner is currently offline  Werner
Messages: 234
Registered: May 2006
Location: Cologne / Germany
Experienced Member
I'm using B605-dev1 under Windows XP.

There are some problems with Assist++. Please, look at the following code:

// code begins here

class demo_class;
void global_function();
int global_friend_function(demo_class x);

class demo_class
{
private:
int static static_private_data;
int non_static_private_data;

void static static_private_class_function() {} // class function
void non_static_private_member_function() {} // instance method

protected:
int static static_protected_data;
int non_static_protected_data;

void static static_protected_class_function() {} // class function
void non_static_protected_member_function() {} // instance method

public:
int static static_public_data;
int non_static_public_data;

demo_class() {} // constructor
~demo_class() {} // destructor
void static static_public_class_function() {} // class function
void non_static_public_member_function() {} // instance method
friend int global_friend_function(demo_class x);
};

void global_function() {}
int global_friend_function(demo_class x) {return x.non_static_private_data;}

// code ends here

Calling “Assist / Navigate in the file” yields the following wrong, missing, or misleading information:

First of all Assist++ lists all symbols twice, some of them even four times (compare below). Maybe this is partially the result of “- Assist++: Go to symbol is now case insensitive, listing full matches first and case insensitive matches next“. But in this case there should be an option to switch this feature off. In most cases it just inflates the listing.

Line 03:
Assist++ does not recognize the global friend function as friend although the respective class has been declared beforehand. Yes, I know – no definition so far! But please compare my comment about line 31.

Line 08:
Assist++ tells a wrong name: “static_public_class_function” instead of “static_private_data”. This wrong line is repeated.

Line 11:
Assist++ shows the data symbol instead of the code symbol and tells a wrong name: “static_public_class_function” instead of “static_private_class_function”. This wrong line is repeated.

Line 14:
Assist++ tells a wrong name: “static_public_class_function” instead of “static_protected_data”. This wrong line is repeated.

Line 17:
Assist++ shows the data symbol instead of the code symbol and tells a wrong name: “static_public_class_function” instead of “static_protected_class_function”. This wrong line is repeated.

Line 20:
Assist++ tells a wrong name: “static_public_class_function” instead of “static_public_data”. This wrong line is repeated.

Line 25:
Assist++ shows the data symbol instead of the code symbol. This wrong line is repeated.

Line 27:
Assist++ does not list the declaration of the global friend function at all.

Line 31:
Assist++ does not recognize the global friend function as friend, although it has already been declared as such.

Last but not least “TheIde help / Assist++ / Graphical symbols used by Assist++” should be completed with the “{}” symbol to tell apart declarations from definitions.

Werner

[Updated on: Sun, 28 May 2006 20:13]

Report message to a moderator

 
Read Message
Read Message
Read Message
Previous Topic: Smart tips [FEATURE REQUEST]
Next Topic: CodeEditor: Character en-coding problem [BUG]?
Goto Forum:
  


Current Time: Wed May 15 07:18:23 CEST 2024

Total time taken to generate the page: 0.01283 seconds