Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 13567 Details for
Bug 69872
[Parser] revisit timeout strategy
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
patch to support IParser.cancel()
TypeParser-org.eclipse.cdt.core-patch.txt (text/plain), 2.89 KB, created by
Chris Wiebe
on 2004-07-23 12:29:58 EDT
(
hide
)
Description:
patch to support IParser.cancel()
Filename:
MIME Type:
Creator:
Chris Wiebe
Created:
2004-07-23 12:29:58 EDT
Size:
2.89 KB
patch
obsolete
>Index: browser/org/eclipse/cdt/internal/core/browser/cache/TypeParser.java >=================================================================== >RCS file: /home/tools/org.eclipse.cdt.core/browser/org/eclipse/cdt/internal/core/browser/cache/TypeParser.java,v >retrieving revision 1.10 >diff -u -r1.10 TypeParser.java >--- browser/org/eclipse/cdt/internal/core/browser/cache/TypeParser.java 21 Jul 2004 17:57:56 -0000 1.10 >+++ browser/org/eclipse/cdt/internal/core/browser/cache/TypeParser.java 22 Jul 2004 14:06:33 -0000 >@@ -121,6 +121,7 @@ > private ITypeInfo fSuperTypeToFind; > private Set fProcessedTypes = new HashSet(); > private boolean fFoundType; >+ IParser fParser = null; > > public TypeParser(ITypeCache typeCache, IWorkingCopyProvider provider) { > fTypeCache = typeCache; >@@ -501,8 +502,8 @@ > fProgressMonitor = progressMonitor; > IScanner scanner = ParserFactory.createScanner(reader, scanInfo, > ParserMode.STRUCTURAL_PARSE, language, this, ParserUtil.getScannerLogService(), null); >- IParser parser = ParserFactory.createParser(scanner, this, ParserMode.STRUCTURAL_PARSE, language, ParserUtil.getParserLogService()); >- parser.parse(); >+ fParser = ParserFactory.createParser(scanner, this, ParserMode.STRUCTURAL_PARSE, language, ParserUtil.getParserLogService()); >+ fParser.parse(); > } catch (ParserFactoryError e) { > CCorePlugin.log(e); > } catch (ParseError e) { >@@ -514,6 +515,7 @@ > CCorePlugin.log(e); > } finally { > fProgressMonitor = null; >+ fParser = null; > } > } > >@@ -770,14 +772,16 @@ > if ((fTypeToFind.getCElementType() == nodeInfo.type || fTypeToFind.isUndefinedType()) && nodeInfo.name.equals(fTypeToFind.getName())) { > QualifiedTypeName qualifiedName = new QualifiedTypeName(nodeInfo.name, nodeInfo.enclosingNames); > if (qualifiedName.equals(fTypeToFind.getQualifiedTypeName())) { >- fFoundType = true; >- > // add types to cache > ITypeInfo newType = addType(nodeInfo.type, qualifiedName, originalLocation, resolvedLocation); > if (newType != null && node instanceof IASTClassSpecifier) { > addSuperClasses(newType, (IASTClassSpecifier)node, originalLocation, fProcessedTypes); > } > fProgressMonitor.worked(1); >+ >+ fFoundType = true; >+ // terminate the parser >+ fParser.cancel(); > } > } > } else { >@@ -896,17 +900,5 @@ > */ > public CodeReader createReader(String finalPath, Iterator workingCopies) { > return ParserUtil.createReader(finalPath, workingCopies); >- } >- >- /* (non-Javadoc) >- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#parserTimeout() >- */ >- public boolean parserTimeout() { >- //TODO - Chris Wiebe - Need to resturcture how you cancel the parser now that >- //IParser.cancel() is available, this method is no longer being called. >- if (fFoundType || fProgressMonitor.isCanceled()) >- return true; >- >- return false; > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
cdtdoug
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 69872
: 13567