@David Nolden Question re: bug 244774

Olivier JG olivier.jg at gmail.com
Sat Dec 18 07:51:01 UTC 2010


Looking at this bug: https://bugs.kde.org/show_bug.cgi?id=244774

The problem is at context.cpp:369

if(!expressionPrefix.isEmpty() && (expressionPrefix.endsWith('>') ||...

which catches the greater than operator in this line (for example):

bool true = obj1 > this

causing the valid expression "this" to be replaced with junk from the 
prefix.

I'd fix it, but I'm not totally sure what that if statement is doing. 
Given context.cpp:369:

if(!expressionPrefix.isEmpty() &&
     (expressionPrefix.endsWith('>') || <<<<<<<<< templates?
     expressionPrefix[expressionPrefix.length()-1].isLetterOrNumber() ||
     expressionPrefix[expressionPrefix.length()-1] == '_')) <<<<<<<< ???

What do the two marked expressions doing? I imagine the first is to 
catch templates (not certain though), but I'm stumped on the second.
Removing them doesn't make any tests fail (I intend to remedy that), so 
I'm asking you :).

-Olivier JG




More information about the KDevelop-devel mailing list