Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Create Implementation bug

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
korDen Posted - Oct 24 2007 : 12:23:11 PM
Visual Assist has a bug in implementation creation if the implementee doesn't have termination semicolon AND there is no other methods after this one.

Example:

namespace SomeNamespace
{
	class SomeClass : public SomeParentClass
	{
	public:
		SomeClass();
		virtual ~SomeClass();

		void method1();
		void method2(bool someParam)               <--------
		
		void method3(int someOtherParam);
	};
}

Implementation can not be created for method2 (guess, this is because of parsing error, right?)

But if we remove method3, then it becomes possible to create an implementation, but it looks like this:

class SomeClass :  SomeParentClass
{
	:
	SomeClass();
	~SomeClass();

	void method1();
	void method2(bool someParam) SomeNamespace::SomeClass::method2() ~SomeClass()
	{

	}

This bug appears in both general release and latest beta versions.
4   L A T E S T    R E P L I E S    (Newest First)
support Posted - Jan 27 2009 : 9:20:09 PM
case=6439 is fixed in build 1715
feline Posted - Oct 26 2007 : 08:31:53 AM
The comment with no end, and the indented brackets are known problems in this situation:

case=6439

However you should be getting the correct number of curly brackets. I do when I test this code.

The missing semi-colon gets us into a pile of edge cases, since some people place macro's at the end of function declarations, or comments, etc. I am wary of trying to handle this sort of invalid code, since we might make other things worse in an attempt to fix this.
korDen Posted - Oct 25 2007 : 2:36:10 PM
Yeah, of course. It's not that annoying. Just wondering if fixing it would not be too hard.
One more little problem occures while trying to implement pure virtual function. Guess, they are of the same category.


class SomeClass {
	virtual void pure() const = 0;
};

becomes

void SomeClass::pure() const /*= 0
								 {

								 }
								 }
feline Posted - Oct 24 2007 : 2:03:38 PM
Since the code is invalid, and will not compile, VA is doing its best, but it still gets confused. This is one such case.

When you see these sort of problems you need to keep an eye out for missing semi-colons.

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000