Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] AbstractErrorParser question

Title: AbstractErrorParser question

I think we were being over cautious just to make sure we weren’t missing anything. If you are seeing duplicates, that’s probably worse. We should review this again.

 

Doug Schaefer, QNX Software Systems
Eclipse CDT Project Lead, http://cdtdoug.blogspot.com


From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Treggiari, Leo
Sent: Friday, March 16, 2007 5:29 PM
To: CDT General developers list.
Subject: RE: [cdt-dev] AbstractErrorParser question

 

This has been discussed before – perhaps, more than once.

 

You can start here for one discussion: [cdt-dev] Error Parser Issues..

 

I don’t remember all of the issues, but we didn’t end up changing it…

 

Leo

 


From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Warren.Paul@xxxxxxxxx
Sent: Friday, March 16, 2007 1:27 PM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] AbstractErrorParser question

 

AbstractErrorParser#processLine has an interesting comment in it.

        public boolean processLine(String line, ErrorParserManager eoParser) {
                for (int i = 0; i < patterns.length; ++i)
                        if (patterns[i].processLine(line, eoParser))
                                break;
                // Should this return true if we processed a line?
                return false;
        }

My understanding is that processLine should return true if it generates a marker from the line.  Otherwise, the same line is passed to other error parsers which may also handle it.  We've been seeing duplicate warning markers for a while but wasn't sure why.  Any reason why we shouldn't change this to this?

        public boolean processLine(String line, ErrorParserManager eoParser) {
                for (int i = 0; i < patterns.length; ++i)
                        if (patterns[i].processLine(line, eoParser))
                                return true;
                return false;
        }


Back to the top