Hi,
on FreeBSD/Clang I noticed that ProjectCenter is not scrolling to the
classes / methods parsed. Strange, since I extra fixed the parser! Also,
on my Linux computer it works.
The code, in PCEditor, is fairly simple:
classNameRange = NSMakeRange(0, 0);
enumerator = [parserClasses objectEnumerator];
while ((class = [enumerator nextObject]))
{
if ([[class objectForKey:@"ClassName"] isEqualToString:className])
{
NSLog(@"range string: %@",[class
objectForKey:@"ClassNameRange"]);
classNameRange =
NSRangeFromString([class objectForKey:@"ClassNameRange"]);
break;
}
}
NSLog(@"classNameRange: %@", NSStringFromRange(classNameRange));
the range is re-created from they dictionary value which is a string.
Perhaps it is not the most efficient way to put ranges in a Dictionary?
In any case I suppose it should work. Here is the output of the two NSLogs:
2015-11-12 15:25:01.236 ProjectCenter[3684:100116] SCROLL to class:
"@AppController"
2015-11-12 15:25:01.237 ProjectCenter[3684:100116] range string:
{location=256, length=13}
2015-11-12 15:25:01.237 ProjectCenter[3684:100116] classNameRange:
{location=34359738624, length=34359738381}
This means that the parser worked and that the value inside the
dictionary is sane. However, once a String is re-extracted and
re-printed, the value is havoc.
A breakpoint in the debugger doesn't work, strangely... I will
investigate futher with a test program.
Do we have a testcase for this in base I can eventually extend?
Riccardo
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev