I've been banging my head the last couple hours trying to figure out what was wrong with my editor that it wouldn't report the correct error line in a very large project. Well it turns out that my IDE was in fact jumping to the line number that the compiler gave it, but the compiler was reporting the error on the wrong line.
So, I went digging through the source code to try to figure out where it started getting off on the line number. I tracked it down to line 3478 of the source code. On that line starts a massive case statement block. Everything after that varies from being about 4 lines off to 32 lines off (it always puts the error line
after where the error occured. I've never seen it report it before.) What's even weirder than this is that there are several other case statements before this in the code, but the compiler always gets the right line number. It's just as soon as it meets this certain case statement, everything goes weird. I noticed there were several other case statements nested inside this one, so maybe that's throwing the compiler off, I dunno, or maybe it's because the line says "select id" and ID is something in the compiler. It's just really, really odd.
This is the open source FPS code (BlackOut project) that I'm using as my test. I'm attaching the full source code file and all the third party dll's used to compile this code.
Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.