mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 18:56:02 +02:00
Parser performance improvement through flattening the inheritence structure & removing reference caching.
This commit is contained in:
parent
cee8b24391
commit
f8a318d59e
110 changed files with 2100 additions and 3218 deletions
|
@ -75,11 +75,19 @@ import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.CompleteParser;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ParserException;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTTypedefReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTClassReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTEnumerationReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTEnumeratorReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTFieldReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTFunctionReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTMethodReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTNamespaceReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTTemplateParameterReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTTypedefReference;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTVariableReference;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -178,21 +186,21 @@ public class CompleteParseBaseTest extends TestCase
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -630,32 +638,32 @@ public class CompleteParseBaseTest extends TestCase
|
|||
r = new ASTTypedefReference(reference.getOffset(),
|
||||
(IASTTypedefDeclaration) referencedElement);
|
||||
if (referencedElement instanceof IASTEnumerationSpecifier)
|
||||
r = new ReferenceCache.ASTEnumerationReference(reference.getOffset(),
|
||||
r = new ASTEnumerationReference(reference.getOffset(),
|
||||
(IASTEnumerationSpecifier) referencedElement);
|
||||
if (referencedElement instanceof IASTTemplateParameter)
|
||||
r = new ReferenceCache.ASTTemplateParameterReference(reference.getOffset(),
|
||||
r = new ASTTemplateParameterReference(reference.getOffset(),
|
||||
(IASTTemplateParameter) referencedElement);
|
||||
if (referencedElement instanceof IASTParameterDeclaration)
|
||||
r = new ReferenceCache.ASTParameterReference(reference.getOffset(),
|
||||
r = new ASTParameterReference(reference.getOffset(),
|
||||
(IASTParameterDeclaration) referencedElement);
|
||||
if (referencedElement instanceof IASTTypeSpecifier)
|
||||
r = new ReferenceCache.ASTClassReference(reference.getOffset(),
|
||||
r = new ASTClassReference(reference.getOffset(),
|
||||
(IASTTypeSpecifier) referencedElement);
|
||||
if (referencedElement instanceof IASTNamespaceDefinition)
|
||||
r = new ReferenceCache.ASTNamespaceReference(reference.getOffset(),
|
||||
r = new ASTNamespaceReference(reference.getOffset(),
|
||||
(IASTNamespaceDefinition) referencedElement);
|
||||
if (referencedElement instanceof IASTFunction)
|
||||
r = new ReferenceCache.ASTFunctionReference(reference.getOffset(),
|
||||
r = new ASTFunctionReference(reference.getOffset(),
|
||||
(IASTFunction) referencedElement);
|
||||
if (referencedElement instanceof IASTMethod)
|
||||
r = new ReferenceCache.ASTMethodReference(reference.getOffset(), (IASTMethod) referencedElement);
|
||||
r = new ASTMethodReference(reference.getOffset(), (IASTMethod) referencedElement);
|
||||
if (referencedElement instanceof IASTField)
|
||||
r = new ReferenceCache.ASTFieldReference(reference.getOffset(), (IASTField) referencedElement);
|
||||
r = new ASTFieldReference(reference.getOffset(), (IASTField) referencedElement);
|
||||
if (referencedElement instanceof IASTVariable)
|
||||
r = new ReferenceCache.ASTVariableReference(reference.getOffset(),
|
||||
r = new ASTVariableReference(reference.getOffset(),
|
||||
(IASTVariable) referencedElement);
|
||||
if (referencedElement instanceof IASTEnumerator)
|
||||
r = new ReferenceCache.ASTEnumeratorReference(reference.getOffset(),
|
||||
r = new ASTEnumeratorReference(reference.getOffset(),
|
||||
(IASTEnumerator) referencedElement);
|
||||
if( r != null )
|
||||
references.add( r );
|
||||
|
@ -810,7 +818,7 @@ public class CompleteParseBaseTest extends TestCase
|
|||
if( (! parseResult || callback.getProblems().hasNext() ) && throwOnError ) throw new ParserException( "FAILURE"); //$NON-NLS-1$
|
||||
if( parseResult )
|
||||
{
|
||||
assertTrue( ((CompleteParser)parser).validateCaches());
|
||||
assertTrue( ((Parser)parser).validateCaches());
|
||||
assertTrue( callback.isBalanced() );
|
||||
}
|
||||
return callback.getCompilationUnit();
|
||||
|
|
|
@ -68,7 +68,7 @@ import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
|
||||
import org.eclipse.cdt.internal.core.parser.CompleteParser;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ParserException;
|
||||
import org.eclipse.cdt.internal.core.search.indexing.IndexManager;
|
||||
import org.eclipse.cdt.testplugin.CProjectHelper;
|
||||
|
@ -265,7 +265,7 @@ public class CompleteParsePluginTest extends TestCase {
|
|||
if( !parseResult ) throw new ParserException( "FAILURE"); //$NON-NLS-1$
|
||||
if( parseResult )
|
||||
{
|
||||
assertTrue( ((CompleteParser)parser).validateCaches());
|
||||
assertTrue( ((Parser)parser).validateCaches());
|
||||
}
|
||||
return callback.getCompilationUnit();
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
***********************************************************************/
|
||||
package org.eclipse.cdt.core.parser;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -18,7 +17,7 @@ import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
|||
*/
|
||||
public interface ISourceElementCallbackDelegate
|
||||
{
|
||||
public void acceptElement( ISourceElementRequestor requestor, IReferenceManager manager );
|
||||
public void enterScope( ISourceElementRequestor requestor, IReferenceManager manager );
|
||||
public void exitScope( ISourceElementRequestor requestor, IReferenceManager manager );
|
||||
public void acceptElement( ISourceElementRequestor requestor );
|
||||
public void enterScope( ISourceElementRequestor requestor );
|
||||
public void exitScope( ISourceElementRequestor requestor );
|
||||
}
|
||||
|
|
|
@ -13,8 +13,6 @@ package org.eclipse.cdt.core.parser;
|
|||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -68,6 +66,6 @@ public interface ITokenDuple {
|
|||
*/
|
||||
public abstract String [] toQualifiedName();
|
||||
|
||||
public void freeReferences( IReferenceManager manager );
|
||||
public void acceptElement( ISourceElementRequestor requestor, IReferenceManager manager );
|
||||
public void freeReferences( );
|
||||
public void acceptElement( ISourceElementRequestor requestor );
|
||||
}
|
|
@ -18,14 +18,10 @@ import org.eclipse.cdt.core.parser.ast.IASTFactory;
|
|||
import org.eclipse.cdt.core.parser.extension.ExtensionDialect;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtensionFactory;
|
||||
import org.eclipse.cdt.internal.core.parser.CompleteParser;
|
||||
import org.eclipse.cdt.internal.core.parser.CompletionParser;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ParserExtensionFactory;
|
||||
import org.eclipse.cdt.internal.core.parser.QuickParseCallback;
|
||||
import org.eclipse.cdt.internal.core.parser.QuickParser;
|
||||
import org.eclipse.cdt.internal.core.parser.SelectionParser;
|
||||
import org.eclipse.cdt.internal.core.parser.StructuralParseCallback;
|
||||
import org.eclipse.cdt.internal.core.parser.StructuralParser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.CompleteParseASTFactory;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.expression.ExpressionParseASTFactory;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.quick.QuickParseASTFactory;
|
||||
|
@ -70,16 +66,7 @@ public class ParserFactory {
|
|||
ParserMode ourMode = ( (mode == null )? ParserMode.COMPLETE_PARSE : mode );
|
||||
ISourceElementRequestor ourCallback = (( callback == null) ? new NullSourceElementRequestor() : callback );
|
||||
IParserExtension extension = extensionFactory.createParserExtension();
|
||||
if( ourMode == ParserMode.COMPLETE_PARSE)
|
||||
return new CompleteParser( scanner, ourCallback, language, logService, extension);
|
||||
else if( ourMode == ParserMode.STRUCTURAL_PARSE )
|
||||
return new StructuralParser( scanner, ourCallback, language, logService, extension );
|
||||
else if( ourMode == ParserMode.COMPLETION_PARSE )
|
||||
return new CompletionParser( scanner, ourCallback, language, logService, extension );
|
||||
else if (ourMode == ParserMode.SELECTION_PARSE )
|
||||
return new SelectionParser( scanner, ourCallback, language, logService, extension );
|
||||
else
|
||||
return new QuickParser( scanner, ourCallback, language, logService, extension );
|
||||
return new Parser( scanner, ourMode, ourCallback, language, logService, extension );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -25,5 +25,5 @@ public interface IASTEnumerationSpecifier extends ISourceElementCallbackDelegate
|
|||
/**
|
||||
* @param referenceManager
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager);
|
||||
public void freeReferences();
|
||||
}
|
||||
|
|
|
@ -23,5 +23,5 @@ public interface IASTEnumerator extends IASTOffsetableNamedElement, IASTNode, IS
|
|||
/**
|
||||
* @param referenceManager
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager);
|
||||
public void freeReferences();
|
||||
}
|
||||
|
|
|
@ -312,7 +312,7 @@ public interface IASTExpression extends ISourceElementCallbackDelegate, IASTNode
|
|||
public Iterator getNewPlacementExpressions();
|
||||
public Iterator getNewTypeIdExpressions();
|
||||
public Iterator getNewInitializerExpressions();
|
||||
public void freeReferences( IReferenceManager manager );
|
||||
public void freeReferences( );
|
||||
}
|
||||
|
||||
|
||||
|
@ -328,12 +328,12 @@ public interface IASTExpression extends ISourceElementCallbackDelegate, IASTNode
|
|||
public IASTNewExpressionDescriptor getNewExpressionDescriptor();
|
||||
|
||||
public long evaluateExpression() throws ASTExpressionEvaluationException;
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException;
|
||||
public void reconcileReferences() throws ASTNotImplementedException;
|
||||
public void purgeReferences() throws ASTNotImplementedException;
|
||||
/**
|
||||
* @param manager TODO
|
||||
*
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager);
|
||||
public void freeReferences();
|
||||
|
||||
}
|
||||
|
|
|
@ -272,7 +272,4 @@ public interface IASTFactory
|
|||
|
||||
public void constructExpressions( boolean flag );
|
||||
|
||||
public IReferenceManager getReferenceManager();
|
||||
|
||||
|
||||
}
|
|
@ -57,5 +57,5 @@ public interface IASTSimpleTypeSpecifier extends IASTTypeSpecifier
|
|||
/**
|
||||
* @param referenceManager
|
||||
*/
|
||||
public void releaseReferences(IReferenceManager referenceManager);
|
||||
public void releaseReferences();
|
||||
}
|
||||
|
|
|
@ -42,5 +42,5 @@ public interface IASTTypeId extends ISourceElementCallbackDelegate
|
|||
/**
|
||||
* @param manager
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager);
|
||||
public void freeReferences();
|
||||
}
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.core.parser.ast;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*
|
||||
*/
|
||||
public interface IReferenceManager {
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReferenceStore#processReferences()
|
||||
*/
|
||||
public void processReferences(List references,
|
||||
ISourceElementRequestor requestor);
|
||||
public void returnReference(IASTReference reference);
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002,2003 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import org.eclipse.cdt.core.parser.BacktrackException;
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ParseError;
|
||||
import org.eclipse.cdt.core.parser.ParserFactory;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ParserMode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.CompleteParseASTFactory;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class CompleteParser extends Parser {
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param callback
|
||||
* @param mode
|
||||
* @param language
|
||||
* @param log
|
||||
*/
|
||||
public CompleteParser(IScanner scanner, ISourceElementRequestor callback, ParserLanguage language, IParserLogService log, IParserExtension extension ) {
|
||||
super(scanner, callback, language, log, extension );
|
||||
}
|
||||
|
||||
protected void handleFunctionBody(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
functionBody(scope);
|
||||
}
|
||||
|
||||
protected void catchBlockCompoundStatement(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
compoundStatement(scope, true);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int)
|
||||
*/
|
||||
public IASTCompletionNode parse(int offset) throws ParseError {
|
||||
throw new ParseError( ParseError.ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int, int)
|
||||
*/
|
||||
public ISelectionParseResult parse(int startingOffset, int endingOffset) throws ParseError {
|
||||
throw new ParseError( ParseError.ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setupASTFactory(org.eclipse.cdt.core.parser.IScanner, org.eclipse.cdt.core.parser.ParserLanguage)
|
||||
*/
|
||||
protected void setupASTFactory(IScanner scanner, ParserLanguage language) {
|
||||
astFactory = ParserFactory.createASTFactory( ParserMode.COMPLETE_PARSE, language);
|
||||
scanner.setASTFactory(astFactory);
|
||||
astFactory.setLogger(log);
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#validateCaches()
|
||||
*/
|
||||
public boolean validateCaches() {
|
||||
if( super.validateCaches() && astFactory instanceof CompleteParseASTFactory)
|
||||
return ((CompleteParseASTFactory)astFactory).validateCaches();
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002,2003 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.eclipse.cdt.core.parser.BacktrackException;
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParser;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.IToken;
|
||||
import org.eclipse.cdt.core.parser.KeywordSetKey;
|
||||
import org.eclipse.cdt.core.parser.OffsetLimitReachedException;
|
||||
import org.eclipse.cdt.core.parser.ParseError;
|
||||
import org.eclipse.cdt.core.parser.ParserFactory;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ParserMode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTCompletionNode;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class CompletionParser extends ContextualParser implements IParser {
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param callback
|
||||
* @param language
|
||||
* @param log
|
||||
*/
|
||||
public CompletionParser(IScanner scanner, ISourceElementRequestor callback, ParserLanguage language, IParserLogService log, IParserExtension extension ) {
|
||||
super(scanner, callback, language, log, extension );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int)
|
||||
*/
|
||||
public IASTCompletionNode parse(int offset) {
|
||||
scanner.setOffsetBoundary(offset);
|
||||
//long startTime = System.currentTimeMillis();
|
||||
translationUnit();
|
||||
//long stopTime = System.currentTimeMillis();
|
||||
//System.out.println("Completion Parse time: " + (stopTime - startTime) + "ms");
|
||||
return new ASTCompletionNode( getCompletionKind(), getCompletionScope(), getCompletionContext(), getCompletionPrefix(), reconcileKeywords( getKeywordSet(), getCompletionPrefix() ), String.valueOf(getCompletionFunctionName()), getParameterListExpression() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param set
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
private Set reconcileKeywords(Set keywords, String prefix) {
|
||||
if( keywords == null ) return null;
|
||||
if( prefix.equals( "")) return keywords; //$NON-NLS-1$
|
||||
Set resultSet = new TreeSet();
|
||||
Iterator i = keywords.iterator();
|
||||
while( i.hasNext() )
|
||||
{
|
||||
String value = (String) i.next();
|
||||
if( value.startsWith( prefix ) )
|
||||
resultSet.add( value );
|
||||
else if( value.compareTo( prefix ) > 0 )
|
||||
break;
|
||||
}
|
||||
return resultSet;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected Set getKeywordSet() {
|
||||
return keywordSet;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#handleOffsetLimitException()
|
||||
*/
|
||||
protected void handleOffsetLimitException(OffsetLimitReachedException exception) throws OffsetLimitReachedException {
|
||||
if( exception.getCompletionNode() == null )
|
||||
{
|
||||
setCompletionToken( exception.getFinalToken() );
|
||||
if( (finalToken!= null )&& (!finalToken.canBeAPrefix() ))
|
||||
setCompletionToken(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
ASTCompletionNode node = (ASTCompletionNode) exception.getCompletionNode();
|
||||
setCompletionValues( node.getCompletionKind(), node.getKeywordSet(), node.getCompletionPrefix() );
|
||||
}
|
||||
|
||||
throw exception;
|
||||
}
|
||||
|
||||
protected IToken getCompletionToken()
|
||||
{
|
||||
return finalToken;
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#getCompletionKindForDeclaration(org.eclipse.cdt.core.parser.ast.IASTScope)
|
||||
*/
|
||||
protected CompletionKind getCompletionKindForDeclaration(IASTScope scope, CompletionKind overide) {
|
||||
IASTCompletionNode.CompletionKind kind = null;
|
||||
if( overide != null )
|
||||
kind = overide;
|
||||
else if( scope instanceof IASTClassSpecifier )
|
||||
kind = CompletionKind.FIELD_TYPE;
|
||||
else if (scope instanceof IASTCodeScope)
|
||||
kind = CompletionKind.SINGLE_NAME_REFERENCE;
|
||||
else
|
||||
kind = CompletionKind.VARIABLE_TYPE;
|
||||
return kind;
|
||||
}
|
||||
|
||||
protected void catchHandlerSequence(IASTScope scope)
|
||||
throws EndOfFileException, BacktrackException {
|
||||
if( LT(1) != IToken.t_catch )
|
||||
{
|
||||
IToken la = LA(1);
|
||||
throwBacktrack(la.getOffset(), la.getEndOffset(), la.getLineNumber(), la.getFilename()); // error, need at least one of these
|
||||
}
|
||||
while (LT(1) == IToken.t_catch)
|
||||
{
|
||||
consume(IToken.t_catch);
|
||||
setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,KeywordSetKey.EMPTY );
|
||||
consume(IToken.tLPAREN);
|
||||
setCompletionValues(scope,CompletionKind.EXCEPTION_REFERENCE,KeywordSetKey.DECL_SPECIFIER_SEQUENCE);
|
||||
if( LT(1) == IToken.tELLIPSIS )
|
||||
consume( IToken.tELLIPSIS );
|
||||
else
|
||||
simpleDeclarationStrategyUnion( scope, null, CompletionKind.EXCEPTION_REFERENCE, KeywordSetKey.DECLARATION); // was exceptionDeclaration
|
||||
consume(IToken.tRPAREN);
|
||||
|
||||
catchBlockCompoundStatement(scope);
|
||||
}
|
||||
}
|
||||
|
||||
public ISelectionParseResult parse(int startingOffset, int endingOffset) {
|
||||
throw new ParseError( ParseError.ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
public boolean parse() {
|
||||
throw new ParseError( ParseError.ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setupASTFactory(org.eclipse.cdt.core.parser.IScanner, org.eclipse.cdt.core.parser.ParserLanguage)
|
||||
*/
|
||||
protected void setupASTFactory(IScanner scanner, ParserLanguage language) {
|
||||
astFactory = ParserFactory.createASTFactory( ParserMode.COMPLETION_PARSE, language);
|
||||
scanner.setASTFactory(astFactory);
|
||||
astFactory.setLogger(log);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,273 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2003, 2004 IBM Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Corporation - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.cdt.core.parser.BacktrackException;
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.IToken;
|
||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||
import org.eclipse.cdt.core.parser.KeywordSetKey;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.Kind;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
import org.eclipse.cdt.internal.core.parser.token.KeywordSets;
|
||||
import org.eclipse.cdt.internal.core.parser.token.TokenFactory;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class ContextualParser extends CompleteParser {
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param callback
|
||||
* @param language
|
||||
* @param log
|
||||
*/
|
||||
public ContextualParser(
|
||||
IScanner scanner,
|
||||
ISourceElementRequestor callback,
|
||||
ParserLanguage language,
|
||||
IParserLogService log, IParserExtension extension ) {
|
||||
super(scanner, callback, language, log, extension );
|
||||
}
|
||||
|
||||
protected IASTScope contextualScope;
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected IASTScope getCompletionScope() {
|
||||
return contextualScope;
|
||||
}
|
||||
|
||||
protected CompletionKind completionKind;
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected IASTCompletionNode.CompletionKind getCompletionKind() {
|
||||
return completionKind;
|
||||
}
|
||||
|
||||
protected IASTNode context;
|
||||
protected IToken finalToken;
|
||||
protected Set keywordSet;
|
||||
protected char[] functionOrConstructorName = EMPTY_STRING;
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected String getCompletionPrefix() {
|
||||
return ( finalToken == null ? String.valueOf(EMPTY_STRING) : finalToken.getImage() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected IASTNode getCompletionContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
protected void setCompletionContext(IASTNode node) {
|
||||
this.context = node;
|
||||
}
|
||||
|
||||
protected void setCompletionKind(IASTCompletionNode.CompletionKind kind) {
|
||||
this.completionKind = kind;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param compilationUnit
|
||||
* @param kind2
|
||||
* @param set
|
||||
* @param object
|
||||
* @param string
|
||||
*/
|
||||
protected void setCompletionValues(CompletionKind kind, Set keywordSet, String prefix) {
|
||||
setCompletionScope(compilationUnit);
|
||||
this.keywordSet = keywordSet;
|
||||
setCompletionKind(kind);
|
||||
setCompletionContext(null);
|
||||
setCompletionFunctionName( );
|
||||
setCompletionToken( TokenFactory.createStandAloneToken( IToken.tIDENTIFIER, prefix ) );
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
protected void setCompletionFunctionName() {
|
||||
functionOrConstructorName = currentFunctionName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void setCompletionKeywords(KeywordSetKey key) {
|
||||
this.keywordSet = KeywordSets.getKeywords( key, language );
|
||||
}
|
||||
|
||||
protected void setCompletionToken(IToken token) {
|
||||
finalToken = token;
|
||||
}
|
||||
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind, KeywordSetKey key, IASTNode node, String prefix) throws EndOfFileException {
|
||||
setCompletionToken( TokenFactory.createStandAloneToken( IToken.tIDENTIFIER, prefix ) );
|
||||
setCompletionValues(scope, kind, key, node );
|
||||
}
|
||||
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind, KeywordSetKey key) throws EndOfFileException {
|
||||
setCompletionValues(scope, kind, key, null );
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind, KeywordSetKey key, IASTNode node) throws EndOfFileException {
|
||||
setCompletionScope(scope);
|
||||
setCompletionKeywords(key);
|
||||
setCompletionKind(kind);
|
||||
setCompletionContext(node);
|
||||
setCompletionFunctionName( );
|
||||
checkEndOfFile();
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void setCompletionValues( IASTScope scope, CompletionKind kind, IToken first, IToken last, KeywordSetKey key ) throws EndOfFileException{
|
||||
setCompletionScope( scope );
|
||||
setCompletionKind( kind );
|
||||
setCompletionKeywords(key);
|
||||
ITokenDuple duple = TokenFactory.createTokenDuple( first, last );
|
||||
try {
|
||||
setCompletionContext( astFactory.lookupSymbolInContext( scope, duple, null ) );
|
||||
} catch (ASTNotImplementedException e) {
|
||||
}
|
||||
setCompletionFunctionName();
|
||||
}
|
||||
|
||||
private char[] currentFunctionName = EMPTY_STRING;
|
||||
protected IASTExpression parameterListExpression;
|
||||
|
||||
|
||||
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind, KeywordSetKey key, IASTExpression firstExpression, Kind expressionKind) throws EndOfFileException {
|
||||
IASTNode node = astFactory.expressionToMostPreciseASTNode( scope, firstExpression );
|
||||
if( kind == CompletionKind.MEMBER_REFERENCE )
|
||||
{
|
||||
if( ! validMemberOperation( node, expressionKind ))
|
||||
node =null;
|
||||
}
|
||||
setCompletionValues(scope,kind,key, node );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param expressionKind
|
||||
* @return
|
||||
*/
|
||||
private boolean validMemberOperation(IASTNode node, Kind expressionKind) {
|
||||
if( expressionKind == Kind.POSTFIX_ARROW_IDEXPRESSION || expressionKind == Kind.POSTFIX_ARROW_TEMPL_IDEXP )
|
||||
return astFactory.validateIndirectMemberOperation( node );
|
||||
else if( expressionKind == Kind.POSTFIX_DOT_IDEXPRESSION || expressionKind == Kind.POSTFIX_DOT_TEMPL_IDEXPRESS )
|
||||
return astFactory.validateDirectMemberOperation( node );
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void setCompletionScope(IASTScope scope) {
|
||||
this.contextualScope = scope;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setCompletionValues(org.eclipse.cdt.core.parser.ast.IASTScope, org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind)
|
||||
*/
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind) throws EndOfFileException {
|
||||
setCompletionScope(scope);
|
||||
setCompletionKind(kind);
|
||||
setCompletionFunctionName( );
|
||||
checkEndOfFile();
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setCompletionValues(org.eclipse.cdt.core.parser.ast.IASTScope, org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind, org.eclipse.cdt.core.parser.ast.IASTNode)
|
||||
*/
|
||||
protected void setCompletionValues(IASTScope scope, CompletionKind kind,
|
||||
IASTNode context) throws EndOfFileException {
|
||||
setCompletionScope(scope);
|
||||
setCompletionKind(kind);
|
||||
setCompletionContext(context);
|
||||
setCompletionFunctionName( );
|
||||
checkEndOfFile(); }
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected char[] getCompletionFunctionName() {
|
||||
return functionOrConstructorName;
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setCurrentFunctionName(java.lang.String)
|
||||
*/
|
||||
protected void setCurrentFunctionName(char[] functionName) {
|
||||
currentFunctionName = functionName;
|
||||
}
|
||||
|
||||
protected void handleFunctionBody(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
if( scanner.isOnTopContext() )
|
||||
functionBody(scope);
|
||||
else
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
protected void catchBlockCompoundStatement(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
if( scanner.isOnTopContext() )
|
||||
compoundStatement(scope, true);
|
||||
else
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setCompletionValuesNoContext(org.eclipse.cdt.core.parser.ast.IASTScope, org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind, org.eclipse.cdt.internal.core.parser.token.KeywordSets.Key)
|
||||
*/
|
||||
protected void setCompletionValuesNoContext(IASTScope scope,
|
||||
CompletionKind kind, KeywordSetKey key) throws EndOfFileException {
|
||||
setCompletionScope(scope);
|
||||
setCompletionKeywords(key);
|
||||
setCompletionKind(kind);
|
||||
checkEndOfFile();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setParameterListExpression(org.eclipse.cdt.core.parser.ast.IASTExpression)
|
||||
*/
|
||||
protected void setParameterListExpression(
|
||||
IASTExpression assignmentExpression) {
|
||||
parameterListExpression = assignmentExpression;
|
||||
}
|
||||
/**
|
||||
* @return Returns the parameterListExpression.
|
||||
*/
|
||||
public final IASTExpression getParameterListExpression() {
|
||||
return parameterListExpression;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,79 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002,2003 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import org.eclipse.cdt.core.parser.BacktrackException;
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ParseError;
|
||||
import org.eclipse.cdt.core.parser.ParserFactory;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ParserMode;
|
||||
import org.eclipse.cdt.core.parser.ParseError.ParseErrorKind;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class QuickParser extends Parser {
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param callback
|
||||
* @param mode
|
||||
* @param language
|
||||
* @param log
|
||||
*/
|
||||
public QuickParser(IScanner scanner, ISourceElementRequestor callback, ParserLanguage language, IParserLogService log, IParserExtension extension) {
|
||||
super(scanner, callback, language, log, extension);
|
||||
constructInitializersInDeclarations = false;
|
||||
}
|
||||
|
||||
protected void handleFunctionBody(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
protected void catchBlockCompoundStatement(IASTScope scope) throws BacktrackException, EndOfFileException
|
||||
{
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int)
|
||||
*/
|
||||
public IASTCompletionNode parse(int offset) throws ParseError {
|
||||
throw new ParseError( ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int, int)
|
||||
*/
|
||||
public ISelectionParseResult parse(int startingOffset, int endingOffset) throws ParseError {
|
||||
throw new ParseError( ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setupASTFactory(org.eclipse.cdt.core.parser.IScanner, org.eclipse.cdt.core.parser.ParserLanguage)
|
||||
*/
|
||||
protected void setupASTFactory(IScanner scanner, ParserLanguage language) {
|
||||
astFactory = ParserFactory.createASTFactory( ParserMode.QUICK_PARSE, language);
|
||||
scanner.setASTFactory(astFactory);
|
||||
astFactory.setLogger(log);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,361 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002,2003 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.IToken;
|
||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||
import org.eclipse.cdt.core.parser.ParseError;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
import org.eclipse.cdt.internal.core.parser.token.OffsetDuple;
|
||||
import org.eclipse.cdt.internal.core.parser.token.TokenFactory;
|
||||
import org.eclipse.cdt.internal.core.parser.util.TraceUtil;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class SelectionParser extends ContextualParser {
|
||||
|
||||
private OffsetDuple offsetRange;
|
||||
private IToken firstTokenOfDuple = null, lastTokenOfDuple = null;
|
||||
private IASTScope ourScope = null;
|
||||
private IASTCompletionNode.CompletionKind ourKind = null;
|
||||
private IASTNode ourContext = null;
|
||||
private ITokenDuple greaterContextDuple = null;
|
||||
private boolean pastPointOfSelection = false;
|
||||
private IASTNode contextNode = null;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#handleNewToken(org.eclipse.cdt.core.parser.IToken)
|
||||
*/
|
||||
protected void handleNewToken(IToken value) {
|
||||
if( value != null && scanner.isOnTopContext() )
|
||||
{
|
||||
TraceUtil.outputTrace(log, "IToken provided w/offsets ", null, value.getOffset(), " & ", value.getEndOffset() ); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
boolean change = false;
|
||||
if( value.getOffset() == offsetRange.getFloorOffset() )
|
||||
{
|
||||
TraceUtil.outputTrace(log, "Offset Floor Hit w/token \"", null, value.getCharImage(), "\"", null ); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
firstTokenOfDuple = value;
|
||||
change = true;
|
||||
}
|
||||
if( value.getEndOffset() == offsetRange.getCeilingOffset() )
|
||||
{
|
||||
TraceUtil.outputTrace(log, "Offset Ceiling Hit w/token \"", null, value.getCharImage(), "\"", null ); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
change = true;
|
||||
lastTokenOfDuple = value;
|
||||
}
|
||||
if( change && tokenDupleCompleted() )
|
||||
{
|
||||
if ( ourScope == null )
|
||||
ourScope = getCompletionScope();
|
||||
if( ourContext == null )
|
||||
ourContext = getCompletionContext();
|
||||
if( ourKind == null )
|
||||
ourKind = getCompletionKind();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
protected boolean tokenDupleCompleted() {
|
||||
return lastTokenOfDuple != null && lastTokenOfDuple.getEndOffset() >= offsetRange.getCeilingOffset();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param callback
|
||||
* @param mode
|
||||
* @param language
|
||||
* @param log
|
||||
*/
|
||||
public SelectionParser(IScanner scanner, ISourceElementRequestor callback, ParserLanguage language, IParserLogService log, IParserExtension extension ) {
|
||||
super(scanner, callback, language, log,extension);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int, int)
|
||||
*/
|
||||
public ISelectionParseResult parse(int startingOffset, int endingOffset) {
|
||||
offsetRange = new OffsetDuple( startingOffset, endingOffset );
|
||||
translationUnit();
|
||||
return reconcileTokenDuple();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
protected ISelectionParseResult reconcileTokenDuple() throws ParseError {
|
||||
if( firstTokenOfDuple == null || lastTokenOfDuple == null )
|
||||
throw new ParseError( ParseError.ParseErrorKind.OFFSET_RANGE_NOT_NAME );
|
||||
|
||||
if( getCompletionKind() == IASTCompletionNode.CompletionKind.UNREACHABLE_CODE )
|
||||
throw new ParseError( ParseError.ParseErrorKind.OFFSETDUPLE_UNREACHABLE );
|
||||
|
||||
ITokenDuple duple = TokenFactory.createTokenDuple( firstTokenOfDuple, lastTokenOfDuple );
|
||||
|
||||
if( ! duple.syntaxOfName() )
|
||||
throw new ParseError( ParseError.ParseErrorKind.OFFSET_RANGE_NOT_NAME );
|
||||
|
||||
return provideSelectionNode(duple);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param duple
|
||||
* @return
|
||||
*/
|
||||
protected ISelectionParseResult provideSelectionNode(ITokenDuple duple) {
|
||||
|
||||
ITokenDuple finalDuple = null;
|
||||
// reconcile the name to look up first
|
||||
if( ! duple.equals( greaterContextDuple ))
|
||||
{
|
||||
// 3 cases
|
||||
// duple is prefix of greaterContextDuple
|
||||
// or duple is suffix of greaterContextDuple
|
||||
// duple is a sub-duple of greaterContextDuple
|
||||
if( duple.getFirstToken().equals( greaterContextDuple.getFirstToken() ))
|
||||
finalDuple = duple; // => do not use greaterContextDuple
|
||||
else if( duple.getLastToken().equals( greaterContextDuple.getLastToken() ))
|
||||
finalDuple = greaterContextDuple; // => use greaterContextDuple
|
||||
else
|
||||
throw new ParseError( ParseError.ParseErrorKind.OFFSET_RANGE_NOT_NAME );
|
||||
}
|
||||
else
|
||||
finalDuple = greaterContextDuple;
|
||||
|
||||
IASTNode node = lookupNode(finalDuple);
|
||||
if( node == null ) return null;
|
||||
if( !(node instanceof IASTOffsetableNamedElement )) return null;
|
||||
return new SelectionParseResult( (IASTOffsetableNamedElement) node, new String( ((IASTOffsetableElement)node).getFilename() ));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param finalDuple
|
||||
* @return
|
||||
*/
|
||||
protected IASTNode lookupNode(ITokenDuple finalDuple) {
|
||||
if( contextNode == null ) return null;
|
||||
if( contextNode instanceof IASTDeclaration )
|
||||
{
|
||||
if( contextNode instanceof IASTOffsetableNamedElement )
|
||||
{
|
||||
if( ((IASTOffsetableNamedElement)contextNode).getName().equals( finalDuple.toString() ) )
|
||||
return contextNode;
|
||||
}
|
||||
if( contextNode instanceof IASTQualifiedNameElement )
|
||||
{
|
||||
String [] elementQualifiedName = ((IASTQualifiedNameElement)contextNode).getFullyQualifiedName();
|
||||
if( Arrays.equals( elementQualifiedName, finalDuple.toQualifiedName() ) )
|
||||
return contextNode;
|
||||
}
|
||||
try {
|
||||
if( ourKind == IASTCompletionNode.CompletionKind.NEW_TYPE_REFERENCE )
|
||||
{
|
||||
if( contextNode instanceof IASTVariable )
|
||||
{
|
||||
IASTInitializerClause initializer = ((IASTVariable)contextNode).getInitializerClause();
|
||||
if( initializer != null )
|
||||
{
|
||||
IASTExpression ownerExpression = initializer.findExpressionForDuple( finalDuple );
|
||||
return astFactory.lookupSymbolInContext( ourScope, finalDuple, ownerExpression );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return astFactory.lookupSymbolInContext( ourScope, finalDuple, null );
|
||||
} catch (ASTNotImplementedException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if( contextNode instanceof IASTExpression )
|
||||
{
|
||||
try {
|
||||
return astFactory.lookupSymbolInContext( ourScope, finalDuple, contextNode );
|
||||
} catch (ASTNotImplementedException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int)
|
||||
*/
|
||||
public IASTCompletionNode parse(int offset) {
|
||||
throw new ParseError( ParseError.ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#checkEndOfFile()
|
||||
*/
|
||||
protected void checkEndOfFile() throws EndOfFileException {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setGreaterNameContext(org.eclipse.cdt.core.parser.ITokenDuple)
|
||||
*/
|
||||
protected void setGreaterNameContext(ITokenDuple tokenDuple) {
|
||||
|
||||
if( pastPointOfSelection ) return;
|
||||
if( greaterContextDuple == null && scanner.isOnTopContext() && lastTokenOfDuple != null && firstTokenOfDuple != null )
|
||||
{
|
||||
if( tokenDuple.getStartOffset() > lastTokenOfDuple.getEndOffset() )
|
||||
{
|
||||
pastPointOfSelection = true;
|
||||
return;
|
||||
}
|
||||
int tokensFound = 0;
|
||||
|
||||
for( IToken token = tokenDuple.getFirstToken(); token != null; token = token.getNext() )
|
||||
{
|
||||
if( token == firstTokenOfDuple ) ++tokensFound;
|
||||
if( token == lastTokenOfDuple ) ++tokensFound;
|
||||
if( token == tokenDuple.getLastToken() )
|
||||
break;
|
||||
}
|
||||
if( tokensFound == 2 )
|
||||
{
|
||||
greaterContextDuple = tokenDuple;
|
||||
pastPointOfSelection = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#endDeclaration(org.eclipse.cdt.core.parser.ast.IASTDeclaration)
|
||||
*/
|
||||
protected void endDeclaration(IASTDeclaration declaration)
|
||||
throws EndOfFileException {
|
||||
if( ! tokenDupleCompleted() )
|
||||
super.endDeclaration(declaration);
|
||||
else
|
||||
{
|
||||
contextNode = declaration;
|
||||
throw new EndOfFileException();
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#endExpressionStatement(org.eclipse.cdt.core.parser.ast.IASTExpression)
|
||||
*/
|
||||
protected void endExpression(IASTExpression expression)
|
||||
throws EndOfFileException {
|
||||
if( ! tokenDupleCompleted() )
|
||||
super.endExpression(expression);
|
||||
else
|
||||
{
|
||||
contextNode = expression;
|
||||
throw new EndOfFileException();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static class SelectionParseResult implements ISelectionParseResult
|
||||
{
|
||||
|
||||
public SelectionParseResult( IASTOffsetableNamedElement node, String fileName )
|
||||
{
|
||||
this.node = node;
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
private final String fileName;
|
||||
private final IASTOffsetableNamedElement node;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser.ISelectionParseResult#getNode()
|
||||
*/
|
||||
public IASTOffsetableNamedElement getOffsetableNamedElement() {
|
||||
return node;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser.ISelectionParseResult#getFilename()
|
||||
*/
|
||||
public String getFilename() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#endEnumerator(org.eclipse.cdt.core.parser.ast.IASTEnumerator)
|
||||
*/
|
||||
protected void endEnumerator(IASTEnumerator enumerator) throws EndOfFileException {
|
||||
if( ! tokenDupleCompleted() )
|
||||
super.endEnumerator(enumerator);
|
||||
else
|
||||
{
|
||||
contextNode = enumerator;
|
||||
throw new EndOfFileException();
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#endClassSpecifier(org.eclipse.cdt.core.parser.ast.IASTClassSpecifier)
|
||||
*/
|
||||
protected void handleClassSpecifier(IASTClassSpecifier classSpecifier)
|
||||
throws EndOfFileException {
|
||||
if( ! tokenDupleCompleted() )
|
||||
super.handleClassSpecifier(classSpecifier);
|
||||
else
|
||||
{
|
||||
contextNode = classSpecifier;
|
||||
throw new EndOfFileException();
|
||||
}
|
||||
}
|
||||
|
||||
protected void handleEnumeration(IASTEnumerationSpecifier enumeration) throws EndOfFileException {
|
||||
if( ! tokenDupleCompleted() )
|
||||
super.handleEnumeration(enumeration);
|
||||
else
|
||||
{
|
||||
contextNode = enumeration;
|
||||
throw new EndOfFileException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002,2003 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import org.eclipse.cdt.core.parser.BacktrackException;
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParser;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
import org.eclipse.cdt.core.parser.IScanner;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ParseError;
|
||||
import org.eclipse.cdt.core.parser.ParserFactory;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
import org.eclipse.cdt.core.parser.ParserMode;
|
||||
import org.eclipse.cdt.core.parser.ParseError.ParseErrorKind;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.extension.IParserExtension;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
*/
|
||||
public class StructuralParser extends Parser implements IParser {
|
||||
|
||||
/**
|
||||
* @param scanner
|
||||
* @param ourCallback
|
||||
* @param language
|
||||
* @param logService
|
||||
*/
|
||||
public StructuralParser(IScanner scanner, ISourceElementRequestor ourCallback, ParserLanguage language, IParserLogService logService, IParserExtension extension ) {
|
||||
super(scanner, ourCallback, language, logService, extension );
|
||||
setupASTFactory(scanner, language );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#handleFunctionBody(org.eclipse.cdt.core.parser.ast.IASTScope, boolean)
|
||||
*/
|
||||
protected void handleFunctionBody(
|
||||
IASTScope scope)
|
||||
throws BacktrackException, EndOfFileException {
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.Parser#catchBlockCompoundStatement(org.eclipse.cdt.core.parser.ast.IASTScope)
|
||||
*/
|
||||
protected void catchBlockCompoundStatement(IASTScope scope)
|
||||
throws BacktrackException, EndOfFileException {
|
||||
skipOverCompoundStatement();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int)
|
||||
*/
|
||||
public IASTCompletionNode parse(int offset) throws ParseError {
|
||||
throw new ParseError( ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.IParser#parse(int, int)
|
||||
*/
|
||||
public ISelectionParseResult parse(int startingOffset, int endingOffset) throws ParseError {
|
||||
throw new ParseError( ParseErrorKind.METHOD_NOT_IMPLEMENTED );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ExpressionParser#setupASTFactory(org.eclipse.cdt.core.parser.IScanner, org.eclipse.cdt.core.parser.ParserLanguage)
|
||||
*/
|
||||
protected void setupASTFactory(IScanner scanner, ParserLanguage language) {
|
||||
astFactory = ParserFactory.createASTFactory( ParserMode.COMPLETE_PARSE, language);
|
||||
scanner.setASTFactory(astFactory);
|
||||
astFactory.setLogger(log);
|
||||
}
|
||||
|
||||
}
|
|
@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.ASTPointerOperator;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTArrayModifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -127,23 +126,23 @@ public class ASTAbstractDeclaration implements IASTAbstractDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
List arrayMods = getArrayModifiersList();
|
||||
int size = arrayMods.size();
|
||||
for( int i = 0; i< size; i++ )
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor, manager);
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTArrayModifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -41,23 +40,23 @@ public class ASTArrayModifier implements IASTArrayModifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
if( expression != null )
|
||||
expression.acceptElement( requestor, manager );
|
||||
expression.acceptElement( requestor );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDesignator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -65,21 +64,21 @@ public class ASTDesignator implements IASTDesignator
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
if( constantExpression != null )
|
||||
constantExpression.acceptElement(requestor, manager);
|
||||
constantExpression.acceptElement(requestor);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void enterScope(ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void exitScope(ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -12,7 +12,6 @@ package org.eclipse.cdt.internal.core.parser.ast;
|
|||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInclusion;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -109,7 +108,7 @@ public class ASTInclusion implements IASTInclusion {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
@ -118,7 +117,7 @@ public class ASTInclusion implements IASTInclusion {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -133,7 +132,7 @@ public class ASTInclusion implements IASTInclusion {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast;
|
|||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTMacro;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -88,7 +87,7 @@ public class ASTMacro implements IASTMacro {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -102,13 +101,13 @@ public class ASTMacro implements IASTMacro {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
|||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
|
||||
/**
|
||||
|
@ -44,7 +43,7 @@ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASM
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -58,13 +57,13 @@ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASM
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
private int startingLineNumber, startingOffset, endingLineNumber, endingOffset;
|
||||
|
|
|
@ -14,7 +14,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
|
||||
|
||||
|
@ -48,7 +47,7 @@ public class ASTAbstractTypeSpecifierDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -66,14 +65,14 @@ public class ASTAbstractTypeSpecifierDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -86,23 +86,23 @@ public class ASTBaseSpecifier implements IASTBaseSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences( references, requestor );
|
||||
Parser.processReferences( references, requestor );
|
||||
references = null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -68,26 +67,26 @@ public class ASTBinaryExpression extends ASTUnaryExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException {
|
||||
super.reconcileReferences(manager);
|
||||
rhs.reconcileReferences(manager);
|
||||
reconcileSubExpression((ASTExpression) rhs, manager);
|
||||
public void reconcileReferences() throws ASTNotImplementedException {
|
||||
super.reconcileReferences();
|
||||
rhs.reconcileReferences();
|
||||
reconcileSubExpression((ASTExpression) rhs );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks()
|
||||
*/
|
||||
protected void processCallbacks( ISourceElementRequestor requestor, IReferenceManager manager ) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
rhs.acceptElement( requestor, manager );
|
||||
protected void processCallbacks( ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
rhs.acceptElement( requestor );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
rhs.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
rhs.freeReferences();
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
|
||||
|
||||
public class ASTClassReference extends ASTReference
|
||||
implements
|
||||
IASTClassReference {
|
||||
private IASTTypeSpecifier reference;
|
||||
/**
|
||||
* @param i
|
||||
* @param specifier
|
||||
*/
|
||||
public ASTClassReference(int i, IASTTypeSpecifier specifier) {
|
||||
super(i);
|
||||
reference = specifier;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTReference#initialize(int)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate specifier) {
|
||||
super.initialize(o);
|
||||
reference = (IASTTypeSpecifier) specifier;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
super.resetOffset();
|
||||
reference = null;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTClassReference() {
|
||||
super(0);
|
||||
reference = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return (ISourceElementCallbackDelegate) reference;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptClassReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTClassReference#isResolved()
|
||||
*/
|
||||
public boolean isResolved() {
|
||||
return (reference instanceof IASTClassSpecifier);
|
||||
}
|
||||
}
|
|
@ -24,7 +24,7 @@ import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.SymbolIterator;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IDerivableContainerSymbol;
|
||||
|
@ -161,16 +161,16 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences( references, requestor );
|
||||
Parser.processReferences( references, requestor );
|
||||
references = null;
|
||||
try
|
||||
{
|
||||
|
@ -186,15 +186,15 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
|||
{
|
||||
IParentSymbol pw = (IParentSymbol)bases.get(i);
|
||||
IASTBaseSpecifier baseSpec = new ASTBaseSpecifier( pw.getParent(), pw.isVirtual(), pw.getAccess(), pw.getOffset(), pw.getReferences() );
|
||||
baseSpec.acceptElement(requestor, manager);
|
||||
baseSpec.acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences( this.resolvedCrossReferences, requestor );
|
||||
Parser.processReferences( this.resolvedCrossReferences, requestor );
|
||||
try
|
||||
{
|
||||
requestor.exitClassSpecifier(this);
|
||||
|
@ -271,7 +271,7 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
|||
/**
|
||||
* @param references2
|
||||
*/
|
||||
public void setExtraReferences(List references, ReferenceCache cache ) {
|
||||
public void setExtraReferences(List references ) {
|
||||
if( references != null && !references.isEmpty())
|
||||
{
|
||||
for( int i = 0; i < references.size(); ++i )
|
||||
|
|
|
@ -24,7 +24,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
|
||||
/**
|
||||
|
@ -49,13 +48,13 @@ public class ASTCodeScope extends ASTScope implements IASTCodeScope {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void enterScope(ISourceElementRequestor requestor) {
|
||||
try
|
||||
{
|
||||
requestor.enterCodeBlock( this );
|
||||
|
@ -69,7 +68,7 @@ public class ASTCodeScope extends ASTScope implements IASTCodeScope {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void exitScope(ISourceElementRequestor requestor) {
|
||||
try
|
||||
{
|
||||
requestor.exitCodeBlock( this );
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -40,13 +39,13 @@ public class ASTCompilationUnit
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -60,7 +59,7 @@ public class ASTCompilationUnit
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -71,27 +70,27 @@ public class ASTConditionalExpression extends ASTBinaryExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException {
|
||||
super.reconcileReferences(manager);
|
||||
thirdExpression.reconcileReferences(manager);
|
||||
reconcileSubExpression((ASTExpression) thirdExpression, manager);
|
||||
public void reconcileReferences() throws ASTNotImplementedException {
|
||||
super.reconcileReferences();
|
||||
thirdExpression.reconcileReferences();
|
||||
reconcileSubExpression((ASTExpression) thirdExpression);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks()
|
||||
*/
|
||||
protected void processCallbacks( ISourceElementRequestor requestor, IReferenceManager manager ) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
thirdExpression.acceptElement( requestor, manager );
|
||||
protected void processCallbacks( ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
thirdExpression.acceptElement( requestor );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
thirdExpression.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
thirdExpression.freeReferences();
|
||||
}
|
||||
public String toString(){
|
||||
return ASTUtil.getExpressionString( this );
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTConstructorMemberInitializer;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -60,23 +60,23 @@ public class ASTConstructorMemberInitializer
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences( references, requestor );
|
||||
Parser.processReferences( references, requestor );
|
||||
references = null;
|
||||
if( expression != null )
|
||||
expression.freeReferences(manager);
|
||||
expression.freeReferences();
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTClassKind;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
|
@ -77,7 +77,7 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
if( isForwardDeclaration )
|
||||
try
|
||||
|
@ -88,18 +88,18 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences( references, requestor );
|
||||
Parser.processReferences( references, requestor );
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
|||
import java.util.List;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -31,7 +30,7 @@ public class ASTEmptyExpression extends ASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
public void freeReferences() {
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
||||
|
||||
|
||||
public class ASTEnumerationReference extends ASTReference
|
||||
implements
|
||||
IASTEnumerationReference {
|
||||
private IASTEnumerationSpecifier referencedElement;
|
||||
/**
|
||||
* @param offset
|
||||
* @param specifier
|
||||
*/
|
||||
public ASTEnumerationReference(int offset,
|
||||
IASTEnumerationSpecifier specifier) {
|
||||
super(offset);
|
||||
referencedElement = specifier;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTEnumerationReference() {
|
||||
super( 0 );
|
||||
referencedElement = null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return referencedElement;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptEnumerationReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate re) {
|
||||
initialize(o);
|
||||
this.referencedElement = (IASTEnumerationSpecifier) re;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
super.resetOffset();
|
||||
this.referencedElement = null;
|
||||
}
|
||||
}
|
|
@ -18,7 +18,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
|
@ -74,7 +73,7 @@ public class ASTEnumerationSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -89,19 +88,19 @@ public class ASTEnumerationSpecifier
|
|||
{
|
||||
IASTEnumerator enumerator = (IASTEnumerator) enumerators.get(i);
|
||||
if( enumerator.getInitialValue() != null )
|
||||
enumerator.getInitialValue().acceptElement(requestor, manager );
|
||||
enumerator.getInitialValue().acceptElement(requestor );
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
@ -131,10 +130,10 @@ public class ASTEnumerationSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager) {
|
||||
public void freeReferences() {
|
||||
if( enumerators.isEmpty() ) return;
|
||||
for( int i = 0; i < enumerators.size(); ++i )
|
||||
((IASTEnumerator) enumerators.get(i)).freeReferences(referenceManager);
|
||||
((IASTEnumerator) enumerators.get(i)).freeReferences();
|
||||
}
|
||||
|
||||
private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber;
|
||||
|
|
|
@ -14,7 +14,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -76,27 +75,27 @@ public class ASTEnumerator extends ASTSymbol implements IASTEnumerator
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager) {
|
||||
public void freeReferences() {
|
||||
if( initialValue != null )
|
||||
initialValue.freeReferences(referenceManager);
|
||||
initialValue.freeReferences();
|
||||
}
|
||||
|
||||
private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameEndOffset;
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
|
||||
|
||||
|
||||
public class ASTEnumeratorReference extends ASTReference
|
||||
implements
|
||||
IASTEnumeratorReference {
|
||||
|
||||
private IASTEnumerator enumerator;
|
||||
/**
|
||||
* @param offset
|
||||
* @param enumerator
|
||||
*/
|
||||
public ASTEnumeratorReference(int offset, IASTEnumerator enumerator) {
|
||||
super(offset);
|
||||
this.enumerator = enumerator;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTEnumeratorReference() {
|
||||
super( 0 );
|
||||
enumerator = null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return enumerator;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptEnumeratorReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
this.enumerator = (IASTEnumerator) referencedElement;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
super.resetOffset();
|
||||
this.enumerator = null;
|
||||
}
|
||||
}
|
|
@ -19,7 +19,7 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo;
|
||||
|
@ -66,20 +66,20 @@ public abstract class ASTExpression extends ASTNode implements IASTExpression
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
reconcileReferences(manager);
|
||||
reconcileReferences();
|
||||
}
|
||||
catch (ASTNotImplementedException e)
|
||||
{
|
||||
// will not get thrown
|
||||
}
|
||||
manager.processReferences( references, requestor );
|
||||
Parser.processReferences( references, requestor );
|
||||
references = null;
|
||||
|
||||
processCallbacks(requestor, manager);
|
||||
processCallbacks(requestor);
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -96,19 +96,19 @@ public abstract class ASTExpression extends ASTNode implements IASTExpression
|
|||
* @param manager TODO
|
||||
*
|
||||
*/
|
||||
protected void processCallbacks(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
protected void processCallbacks(ISourceElementRequestor requestor ) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -128,24 +128,23 @@ public abstract class ASTExpression extends ASTNode implements IASTExpression
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException
|
||||
public void reconcileReferences() throws ASTNotImplementedException
|
||||
{
|
||||
}
|
||||
|
||||
protected void reconcileSubExpression(ASTExpression subExpression, IReferenceManager manager)
|
||||
protected void reconcileSubExpression(ASTExpression subExpression )
|
||||
{
|
||||
if( subExpression != null && subExpression.getReferences() != null )
|
||||
{
|
||||
List refs = subExpression.getReferences();
|
||||
int size = refs.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
for( int i = 0; i < refs.size(); i++ )
|
||||
{
|
||||
IASTReference aReference = (IASTReference)refs.get(i);
|
||||
if( aReference != null && references.contains( aReference ) )
|
||||
{
|
||||
refs.remove(i--);
|
||||
size--;
|
||||
manager.returnReference( aReference );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -295,11 +294,9 @@ public abstract class ASTExpression extends ASTNode implements IASTExpression
|
|||
return null;
|
||||
}
|
||||
|
||||
public void freeReferences( IReferenceManager manager )
|
||||
public void freeReferences( )
|
||||
{
|
||||
if( references == null || references.isEmpty() ) return;
|
||||
for (int i = 0; i < references.size(); ++i)
|
||||
manager.returnReference( (IASTReference) references.get(i));
|
||||
references.clear();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTField;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -53,7 +53,7 @@ public class ASTField extends ASTVariable implements IASTField
|
|||
return visibility;
|
||||
}
|
||||
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -63,12 +63,12 @@ public class ASTField extends ASTVariable implements IASTField
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
|
||||
if( getInitializerClause() != null )
|
||||
getInitializerClause().acceptElement(requestor, manager);
|
||||
getInitializerClause().acceptElement(requestor);
|
||||
if( getAbstractDeclaration() != null )
|
||||
getAbstractDeclaration().acceptElement(requestor, manager);
|
||||
getAbstractDeclaration().acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTField;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
|
||||
|
||||
public class ASTFieldReference extends ASTReference
|
||||
implements
|
||||
IASTReference,
|
||||
IASTFieldReference {
|
||||
private IASTField referencedElement;
|
||||
/**
|
||||
* @param offset
|
||||
* @param field
|
||||
*/
|
||||
public ASTFieldReference(int offset, IASTField field) {
|
||||
super(offset);
|
||||
referencedElement = field;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTFieldReference() {
|
||||
super(0);
|
||||
referencedElement = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return referencedElement;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptFieldReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate re) {
|
||||
initialize(o);
|
||||
this.referencedElement = (IASTField) re;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.referencedElement = null;
|
||||
}
|
||||
}
|
|
@ -23,7 +23,7 @@ import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IParameterizedSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo;
|
||||
|
@ -166,7 +166,7 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -179,33 +179,33 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
functionCallbacks(requestor, manager);
|
||||
functionCallbacks(requestor);
|
||||
}
|
||||
|
||||
protected void functionCallbacks(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
protected void functionCallbacks(ISourceElementRequestor requestor )
|
||||
{
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
processParameterInitializersAndArrayMods(requestor, manager);
|
||||
processParameterInitializersAndArrayMods(requestor);
|
||||
if( getReturnType() != null )
|
||||
getReturnType().acceptElement(requestor, manager);
|
||||
getReturnType().acceptElement(requestor);
|
||||
}
|
||||
/**
|
||||
* @param requestor
|
||||
* @param manager
|
||||
*/
|
||||
protected void processParameterInitializersAndArrayMods(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
protected void processParameterInitializersAndArrayMods(ISourceElementRequestor requestor )
|
||||
{
|
||||
int size = parameters.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
IASTParameterDeclaration parm = (IASTParameterDeclaration)parameters.get(i);
|
||||
if( parm.getDefaultValue() != null )
|
||||
parm.getDefaultValue().acceptElement(requestor, manager);
|
||||
parm.getDefaultValue().acceptElement(requestor);
|
||||
Iterator arrays = parm.getArrayModifiers();
|
||||
while( arrays.hasNext() )
|
||||
{
|
||||
((IASTArrayModifier)arrays.next()).acceptElement(requestor, manager);
|
||||
((IASTArrayModifier)arrays.next()).acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -224,12 +224,12 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
functionCallbacks( requestor, manager );
|
||||
functionCallbacks( requestor );
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTFunctionReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
|
||||
|
||||
public class ASTFunctionReference extends ASTReference
|
||||
implements
|
||||
IASTReference,
|
||||
IASTFunctionReference {
|
||||
private IASTFunction declaration;
|
||||
/**
|
||||
* @param offset
|
||||
*/
|
||||
public ASTFunctionReference(int offset,
|
||||
IASTFunction referencedDeclaration) {
|
||||
super(offset);
|
||||
this.declaration = referencedDeclaration;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTFunctionReference() {
|
||||
super(0);
|
||||
declaration = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return declaration;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptFunctionReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
this.declaration = (IASTFunction) referencedElement;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.declaration = null;
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
|
||||
/**
|
||||
|
@ -79,30 +79,30 @@ public class ASTInitializerClause implements IASTInitializerClause
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
List initializers = getInitializersList();
|
||||
int size = initializers.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
((IASTInitializerClause)initializers.get(i)).acceptElement(requestor, manager);
|
||||
((IASTInitializerClause)initializers.get(i)).acceptElement(requestor);
|
||||
|
||||
if( assignmentExpression != null )
|
||||
assignmentExpression.acceptElement( requestor, manager );
|
||||
assignmentExpression.acceptElement( requestor );
|
||||
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
|
||||
/**
|
||||
|
@ -65,13 +64,13 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -85,7 +84,7 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -23,7 +23,6 @@ import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IParameterizedSymbol;
|
||||
|
@ -135,7 +134,7 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -148,15 +147,15 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
methodCallbacks(requestor, manager);
|
||||
methodCallbacks(requestor );
|
||||
}
|
||||
protected void methodCallbacks(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
protected void methodCallbacks(ISourceElementRequestor requestor)
|
||||
{
|
||||
functionCallbacks(requestor, manager);
|
||||
processConstructorChain(requestor, manager);
|
||||
functionCallbacks(requestor);
|
||||
processConstructorChain(requestor);
|
||||
}
|
||||
|
||||
protected void processConstructorChain(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
protected void processConstructorChain(ISourceElementRequestor requestor )
|
||||
{
|
||||
if( constructorChain != null )
|
||||
{
|
||||
|
@ -164,14 +163,14 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
for( int i = 0; i < initializers.size(); i++ )
|
||||
{
|
||||
IASTConstructorMemberInitializer c = (IASTConstructorMemberInitializer)initializers.get(i);
|
||||
c.acceptElement(requestor, manager);
|
||||
c.acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -181,12 +180,12 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
methodCallbacks( requestor, manager );
|
||||
methodCallbacks( requestor );
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
|
||||
|
||||
|
||||
public class ASTMethodReference extends ASTReference
|
||||
implements
|
||||
IASTMethodReference {
|
||||
private IASTMethod method;
|
||||
/**
|
||||
* @param offset
|
||||
*/
|
||||
public ASTMethodReference(int offset, IASTMethod method) {
|
||||
super(offset);
|
||||
this.method = method;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTMethodReference() {
|
||||
super(0);
|
||||
this.method = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return method;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptMethodReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
this.method = (IASTMethod) referencedElement;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.method= null;
|
||||
}
|
||||
}
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -73,22 +73,22 @@ public class ASTNamespaceAlias extends ASTSymbol implements IASTNamespaceAlias
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
|
@ -66,14 +65,14 @@ public class ASTNamespaceDefinition
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -89,7 +88,7 @@ public class ASTNamespaceDefinition
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
|
||||
|
||||
|
||||
public class ASTNamespaceReference extends ASTReference
|
||||
implements
|
||||
IASTNamespaceReference {
|
||||
private IASTNamespaceDefinition reference;
|
||||
|
||||
/**
|
||||
* @param offset
|
||||
* @param definition
|
||||
*/
|
||||
public ASTNamespaceReference(int offset,
|
||||
IASTNamespaceDefinition definition) {
|
||||
super(offset);
|
||||
reference = definition;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTNamespaceReference() {
|
||||
super(0);
|
||||
reference = null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return reference;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptNamespaceReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
this.reference = (IASTNamespaceDefinition) referencedElement;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.reference = null;
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@ import java.util.List;
|
|||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor;
|
||||
|
||||
/**
|
||||
|
@ -57,11 +56,11 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
accept( requestor, getNewPlacementExpressions(), manager );
|
||||
accept( requestor, getNewTypeIdExpressions() , manager);
|
||||
accept( requestor, getNewInitializerExpressions() , manager);
|
||||
accept( requestor, getNewPlacementExpressions() );
|
||||
accept( requestor, getNewTypeIdExpressions() );
|
||||
accept( requestor, getNewInitializerExpressions() );
|
||||
}
|
||||
|
||||
|
||||
|
@ -70,17 +69,17 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
* @param iterator
|
||||
* @param manager
|
||||
*/
|
||||
protected void accept(ISourceElementRequestor requestor, Iterator iterator, IReferenceManager manager)
|
||||
protected void accept(ISourceElementRequestor requestor, Iterator iterator)
|
||||
{
|
||||
while( iterator.hasNext() )
|
||||
((IASTExpression)iterator.next()).acceptElement(requestor, manager);
|
||||
((IASTExpression)iterator.next()).acceptElement(requestor);
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -88,7 +87,7 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -96,10 +95,10 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
free( newPlacementExpressions, manager );
|
||||
free( newTypeIdExpressions , manager);
|
||||
free( newInitializerExpressions , manager);
|
||||
public void freeReferences() {
|
||||
free( newPlacementExpressions );
|
||||
free( newTypeIdExpressions );
|
||||
free( newInitializerExpressions );
|
||||
}
|
||||
|
||||
|
||||
|
@ -107,10 +106,10 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
* @param list
|
||||
* @param manager
|
||||
*/
|
||||
private void free(List list, IReferenceManager manager) {
|
||||
private void free(List list ) {
|
||||
if( list == null || list.isEmpty() ) return;
|
||||
for( int i = 0; i < list.size(); ++i)
|
||||
((IASTExpression)list.get(i)).freeReferences(manager);
|
||||
((IASTExpression)list.get(i)).freeReferences();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -57,10 +56,10 @@ public class ASTNewExpression extends ASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
protected void processCallbacks(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
typeId.acceptElement(requestor, manager);
|
||||
newDescriptor.acceptElement(requestor, manager);
|
||||
protected void processCallbacks(ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
typeId.acceptElement(requestor);
|
||||
newDescriptor.acceptElement(requestor);
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,9 +76,9 @@ public class ASTNewExpression extends ASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
typeId.freeReferences( manager );
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
typeId.freeReferences( );
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTAbstractDeclaration;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
|
@ -143,20 +142,20 @@ public class ASTParameterDeclaration extends ASTSymbol implements IASTParameterD
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
|
||||
|
||||
|
||||
public class ASTParameterReference extends ASTReference
|
||||
implements
|
||||
IASTParameterReference {
|
||||
private IASTParameterDeclaration parm;
|
||||
|
||||
/**
|
||||
* @param offset
|
||||
* @param declaration
|
||||
*/
|
||||
public ASTParameterReference(int offset,
|
||||
IASTParameterDeclaration declaration) {
|
||||
super(offset);
|
||||
parm = declaration;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTParameterReference() {
|
||||
super(0);
|
||||
parm = null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return parm;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptParameterReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
initialize(o);
|
||||
this.parm = (IASTParameterDeclaration) referencedElement;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.parm = null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.util.CharArrayUtils;
|
||||
|
||||
|
||||
public abstract class ASTReference implements IASTReference {
|
||||
protected int offset;
|
||||
private static final String EMPTY_STRING = ""; //$NON-NLS-1$
|
||||
private static final char[] EMPTY_CHAR_ARRAY = "".toCharArray(); //$NON-NLS-1$
|
||||
|
||||
public abstract void reset();
|
||||
|
||||
protected void resetOffset() {
|
||||
offset = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param offset2
|
||||
* @param re
|
||||
*/
|
||||
public abstract void initialize(int o, ISourceElementCallbackDelegate re );
|
||||
|
||||
|
||||
protected void initialize(int o) {
|
||||
this.offset = o;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTReference(int offset) {
|
||||
this.offset = offset;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getOffset()
|
||||
*/
|
||||
public int getOffset() {
|
||||
return offset;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getName()
|
||||
*/
|
||||
public String getName() {
|
||||
if (getReferencedElement() instanceof IASTOffsetableNamedElement)
|
||||
return ((IASTOffsetableNamedElement) getReferencedElement())
|
||||
.getName();
|
||||
return EMPTY_STRING;
|
||||
}
|
||||
public char[] getNameCharArray() {
|
||||
if (getReferencedElement() instanceof IASTOffsetableNamedElement)
|
||||
return ((IASTOffsetableNamedElement) getReferencedElement())
|
||||
.getNameCharArray();
|
||||
return EMPTY_CHAR_ARRAY;
|
||||
}
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (!(obj instanceof IASTReference))
|
||||
return false;
|
||||
|
||||
if ( CharArrayUtils.equals( ((IASTReference) obj).getNameCharArray(), getNameCharArray() )
|
||||
&& ((IASTReference) obj).getOffset() == getOffset())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public void enterScope(ISourceElementRequestor requestor) {
|
||||
}
|
||||
|
||||
public void exitScope(ISourceElementRequestor requestor) {
|
||||
}
|
||||
}
|
|
@ -15,8 +15,6 @@ import java.util.List;
|
|||
|
||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo;
|
||||
|
||||
|
@ -153,10 +151,8 @@ public class ASTSimpleTypeSpecifier extends ASTNode implements IASTSimpleTypeSpe
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier#releaseReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void releaseReferences(IReferenceManager referenceManager) {
|
||||
public void releaseReferences() {
|
||||
if( refs == null || refs.isEmpty() ) return;
|
||||
for( int i = 0; i < refs.size(); ++i )
|
||||
referenceManager.returnReference( (ASTReference)refs.get(i));
|
||||
refs.clear();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbolASTExtension;
|
||||
|
@ -139,14 +138,14 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -158,12 +157,12 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec
|
|||
}
|
||||
if( templateParameters == null || templateParameters.isEmpty()) return;
|
||||
for( int i = 0; i < templateParameters.size(); ++i )
|
||||
((IASTTemplateParameter)templateParameters.get(i)).acceptElement(requestor, manager );
|
||||
((IASTTemplateParameter)templateParameters.get(i)).acceptElement(requestor );
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITemplateFactory;
|
||||
|
@ -108,14 +107,14 @@ public class ASTTemplateInstantiation extends ASTSymbol implements IASTTemplateI
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -129,7 +128,7 @@ public class ASTTemplateInstantiation extends ASTSymbol implements IASTTemplateI
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo;
|
||||
|
||||
|
@ -109,24 +108,24 @@ public class ASTTemplateParameter extends ASTSymbol implements IASTTemplateParam
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
if( defaultValue != null )
|
||||
defaultValue.acceptElement( requestor, manager );
|
||||
defaultValue.acceptElement( requestor );
|
||||
if( parameter != null )
|
||||
parameter.acceptElement( requestor, manager );
|
||||
parameter.acceptElement( requestor );
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void enterScope(ISourceElementRequestor requestor) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void exitScope(ISourceElementRequestor requestor) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateParameterReference;
|
||||
|
||||
|
||||
public class ASTTemplateParameterReference extends ASTReference
|
||||
implements
|
||||
IASTTemplateParameterReference {
|
||||
private IASTTemplateParameter parameter;
|
||||
/**
|
||||
* @param offset
|
||||
*/
|
||||
public ASTTemplateParameterReference(int offset,
|
||||
IASTTemplateParameter param) {
|
||||
super(offset);
|
||||
parameter = param;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTTemplateParameterReference() {
|
||||
super(0);
|
||||
parameter = null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return parameter;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptTemplateParameterReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
parameter = (IASTTemplateParameter) referencedElement;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
resetOffset();
|
||||
this.parameter = null;
|
||||
}
|
||||
}
|
|
@ -18,10 +18,9 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTArrayModifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier.Type;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
/**
|
||||
|
@ -199,38 +198,38 @@ public class ASTTypeId implements IASTTypeId
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
if( tokenDuple != null )
|
||||
tokenDuple.acceptElement( requestor, manager );
|
||||
tokenDuple.acceptElement( requestor );
|
||||
|
||||
List arrayMods = getArrayModifiersList();
|
||||
int size = arrayMods.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor, manager);
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/**
|
||||
* @param list
|
||||
*/
|
||||
public void addReferences(List list, ReferenceCache cache)
|
||||
public void addReferences(List list )
|
||||
{
|
||||
if( references == null )
|
||||
references = new ArrayList( list.size() );
|
||||
|
@ -241,13 +240,11 @@ public class ASTTypeId implements IASTTypeId
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTTypeId#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
public void freeReferences() {
|
||||
if( tokenDuple != null )
|
||||
tokenDuple.freeReferences( manager );
|
||||
tokenDuple.freeReferences( );
|
||||
|
||||
if( references == null || references.isEmpty() ) return;
|
||||
for( int i =0; i < references.size(); ++i)
|
||||
manager.returnReference( (IASTReference) references.get(i));
|
||||
references.clear();
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -39,18 +38,18 @@ public class ASTTypeIdExpression extends ASTExpression {
|
|||
return typeId;
|
||||
}
|
||||
|
||||
protected void processCallbacks(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
typeId.acceptElement(requestor, manager);
|
||||
protected void processCallbacks(ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
typeId.acceptElement(requestor);
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
typeId.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
typeId.freeReferences();
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
|
||||
|
@ -79,7 +79,7 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -89,22 +89,22 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
getAbstractDeclarator().acceptElement( requestor, manager );
|
||||
getAbstractDeclarator().acceptElement( requestor );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypedefReference;
|
||||
|
||||
|
||||
public class ASTTypedefReference extends ASTReference
|
||||
implements
|
||||
IASTTypedefReference {
|
||||
private IASTTypedefDeclaration referencedItem;
|
||||
/**
|
||||
* @param offset
|
||||
*/
|
||||
public ASTTypedefReference(int offset,
|
||||
IASTTypedefDeclaration referencedItem) {
|
||||
super(offset);
|
||||
this.referencedItem = referencedItem;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTTypedefReference() {
|
||||
super( 0 );
|
||||
this.referencedItem = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return referencedItem;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptTypedefReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int, org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate referencedElement) {
|
||||
super.initialize(o);
|
||||
referencedItem = (IASTTypedefDeclaration) referencedElement;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
super.resetOffset();
|
||||
referencedItem = null;
|
||||
}
|
||||
}
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -55,9 +54,9 @@ public class ASTUnaryExpression extends ASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException {
|
||||
lhs.reconcileReferences(manager);
|
||||
reconcileSubExpression((ASTExpression) lhs, manager);
|
||||
public void reconcileReferences() throws ASTNotImplementedException {
|
||||
lhs.reconcileReferences();
|
||||
reconcileSubExpression((ASTExpression) lhs);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
@ -72,18 +71,18 @@ public class ASTUnaryExpression extends ASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks()
|
||||
*/
|
||||
protected void processCallbacks( ISourceElementRequestor requestor, IReferenceManager manager ) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
lhs.acceptElement( requestor, manager );
|
||||
protected void processCallbacks( ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
lhs.acceptElement( requestor );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
lhs.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
lhs.freeReferences();
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author aniefer
|
||||
|
@ -56,9 +55,9 @@ public class ASTUnaryIdExpression extends ASTIdExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException {
|
||||
lhs.reconcileReferences(manager);
|
||||
reconcileSubExpression((ASTExpression) lhs, manager);
|
||||
public void reconcileReferences() throws ASTNotImplementedException {
|
||||
lhs.reconcileReferences();
|
||||
reconcileSubExpression((ASTExpression) lhs);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
@ -73,18 +72,18 @@ public class ASTUnaryIdExpression extends ASTIdExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks()
|
||||
*/
|
||||
protected void processCallbacks( ISourceElementRequestor requestor, IReferenceManager manager ) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
lhs.acceptElement( requestor, manager );
|
||||
protected void processCallbacks( ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor);
|
||||
lhs.acceptElement( requestor );
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
lhs.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
lhs.freeReferences();
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTUtil;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -26,9 +25,9 @@ public class ASTUnaryTypeIdExpression extends ASTUnaryExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
super.freeReferences(manager);
|
||||
typeId.freeReferences(manager);
|
||||
public void freeReferences() {
|
||||
super.freeReferences();
|
||||
typeId.freeReferences();
|
||||
}
|
||||
private final IASTTypeId typeId;
|
||||
|
||||
|
@ -53,9 +52,9 @@ public class ASTUnaryTypeIdExpression extends ASTUnaryExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ASTExpression#processCallbacks()
|
||||
*/
|
||||
protected void processCallbacks( ISourceElementRequestor requestor, IReferenceManager manager ) {
|
||||
super.processCallbacks(requestor, manager);
|
||||
typeId.acceptElement( requestor, manager );
|
||||
protected void processCallbacks( ISourceElementRequestor requestor ) {
|
||||
super.processCallbacks(requestor );
|
||||
typeId.acceptElement( requestor );
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
@ -17,7 +17,7 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.SymbolIterator;
|
||||
|
||||
/**
|
||||
|
@ -81,7 +81,7 @@ public class ASTUsingDeclaration extends ASTNode implements IASTUsingDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -91,19 +91,19 @@ public class ASTUsingDeclaration extends ASTNode implements IASTUsingDeclaration
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.IUsingDirectiveSymbol;
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUs
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -82,19 +82,19 @@ public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUs
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.Parser;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||
import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo;
|
||||
|
@ -157,7 +157,7 @@ public class ASTVariable extends ASTSymbol implements IASTVariable
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -167,26 +167,26 @@ public class ASTVariable extends ASTSymbol implements IASTVariable
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
manager.processReferences(references, requestor);
|
||||
Parser.processReferences(references, requestor);
|
||||
references = null;
|
||||
if( initializerClause != null )
|
||||
initializerClause.acceptElement(requestor, manager);
|
||||
initializerClause.acceptElement(requestor);
|
||||
if( constructorExpression != null )
|
||||
constructorExpression.acceptElement(requestor, manager);
|
||||
constructorExpression.acceptElement(requestor);
|
||||
if( getAbstractDeclaration() != null )
|
||||
getAbstractDeclaration().acceptElement(requestor, manager);
|
||||
getAbstractDeclaration().acceptElement(requestor);
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2002-2004 Rational Software Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Common Public License v0.5
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/cpl-v05.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
|
||||
|
||||
|
||||
public class ASTVariableReference extends ASTReference
|
||||
implements
|
||||
IASTReference,
|
||||
IASTVariableReference {
|
||||
|
||||
private IASTVariable referencedElement;
|
||||
/**
|
||||
* @param offset
|
||||
* @param variable
|
||||
*/
|
||||
public ASTVariableReference(int offset, IASTVariable variable) {
|
||||
super(offset);
|
||||
referencedElement = variable;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#initialize(int)
|
||||
*/
|
||||
public void initialize(int o, ISourceElementCallbackDelegate var ) {
|
||||
super.initialize(o);
|
||||
referencedElement = (IASTVariable) var;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.parser.ast.complete.ReferenceCache.ASTReference#reset()
|
||||
*/
|
||||
public void reset() {
|
||||
super.resetOffset();
|
||||
referencedElement = null;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ASTVariableReference() {
|
||||
super(0);
|
||||
referencedElement = null;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
|
||||
*/
|
||||
public ISourceElementCallbackDelegate getReferencedElement() {
|
||||
return referencedElement;
|
||||
}
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
try {
|
||||
requestor.acceptVariableReference(this);
|
||||
} catch (Exception e) {
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,7 +19,6 @@ import java.util.Map;
|
|||
|
||||
import org.eclipse.cdt.core.parser.Enum;
|
||||
import org.eclipse.cdt.core.parser.IProblem;
|
||||
import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
|
||||
import org.eclipse.cdt.core.parser.IToken;
|
||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||
|
@ -66,7 +65,6 @@ import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.Kind;
|
||||
|
@ -118,7 +116,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
private final static ITypeInfo.OperatorExpression SUBSCRIPT;
|
||||
private final static IProblemFactory problemFactory = new ASTProblemFactory();
|
||||
private final ParserMode mode;
|
||||
private final ReferenceCache cache = new ReferenceCache();
|
||||
|
||||
private static final int BUILTIN_TYPE_SIZE = 64;
|
||||
private final Hashtable typeIdCache = new Hashtable( BUILTIN_TYPE_SIZE );
|
||||
private final Hashtable simpleTypeSpecCache = new Hashtable( BUILTIN_TYPE_SIZE );
|
||||
|
@ -159,10 +157,8 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
if( reference == null )
|
||||
return;
|
||||
if( references == null )
|
||||
{
|
||||
cache.returnReference( reference );
|
||||
return;
|
||||
}
|
||||
|
||||
int size = references.size();
|
||||
for( int i = 0; i < size; i++ ){
|
||||
IASTReference ref = (IASTReference)references.get(i);
|
||||
|
@ -170,7 +166,6 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
if( (CharArrayUtils.equals( ref.getNameCharArray(), reference.getNameCharArray()))
|
||||
&& (ref.getOffset() == reference.getOffset())
|
||||
){
|
||||
cache.returnReference( ref );
|
||||
references.remove(i--);
|
||||
size--;
|
||||
break;
|
||||
|
@ -195,7 +190,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
int numRefs = refs.size();
|
||||
for( int j = 0; j < numRefs; j++ ){
|
||||
IASTReference r = (IASTReference) refs.get(j);
|
||||
addReference( references, cache.getReference(r.getOffset(), r.getReferencedElement()));
|
||||
addReference( references, r );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -343,7 +338,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
if( args != null && references != null )
|
||||
{
|
||||
addTemplateIdReferences( references, templateArgLists[0] );
|
||||
name.freeReferences( cache );
|
||||
name.freeReferences( );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -417,7 +412,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
if( references != null && templateArgLists != null && templateArgLists[idx] != null )
|
||||
{
|
||||
addTemplateIdReferences( references, templateArgLists[idx] );
|
||||
name.freeReferences(cache);
|
||||
name.freeReferences();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -785,7 +780,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
{
|
||||
for( int i = 0; i < name.getTemplateIdArgLists().length; ++i )
|
||||
addTemplateIdReferences( references, name.getTemplateIdArgLists()[i]);
|
||||
name.freeReferences( cache );
|
||||
name.freeReferences( );
|
||||
}
|
||||
ASTClassSpecifier classSpecifier = new ASTClassSpecifier( newSymbol, kind, type, access, startingOffset, startingLine, nameOffset, nameEndOffset, nameLine, references, filename );
|
||||
attachSymbolExtension(newSymbol, classSpecifier, true );
|
||||
|
@ -907,7 +902,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
for( int i = 0; i < templateArgumentLists.length; ++i )
|
||||
addTemplateIdReferences( references, templateArgumentLists[i]);
|
||||
}
|
||||
parentClassName.freeReferences(cache);
|
||||
parentClassName.freeReferences();
|
||||
classSymbol.addParent( symbol, isVirtual, visibility, parentClassName.getFirstToken().getOffset(), references );
|
||||
|
||||
}
|
||||
|
@ -933,24 +928,24 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
// assert (symbol != null ) : "createReference cannot be called on null symbol ";
|
||||
if( symbol.getTypeInfo().checkBit( ITypeInfo.isTypedef ) ||
|
||||
symbol.getASTExtension().getPrimaryDeclaration() instanceof IASTTypedefDeclaration )
|
||||
return cache.getReference( offset, declaration);
|
||||
return new ASTTypedefReference ( offset, (IASTTypedefDeclaration) declaration );
|
||||
else if( symbol.getType() == ITypeInfo.t_namespace )
|
||||
return cache.getReference( offset, declaration);
|
||||
return new ASTNamespaceReference( offset, (IASTNamespaceDefinition) declaration);
|
||||
else if( symbol.getType() == ITypeInfo.t_class ||
|
||||
symbol.getType() == ITypeInfo.t_struct ||
|
||||
symbol.getType() == ITypeInfo.t_union )
|
||||
return cache.getReference( offset, (ISourceElementCallbackDelegate)symbol.getASTExtension().getPrimaryDeclaration() );
|
||||
return new ASTClassReference( offset, (IASTTypeSpecifier)symbol.getASTExtension().getPrimaryDeclaration() );
|
||||
else if( symbol.getType() == ITypeInfo.t_enumeration )
|
||||
return cache.getReference( offset, (IASTEnumerationSpecifier)symbol.getASTExtension().getPrimaryDeclaration() );
|
||||
return new ASTEnumerationReference( offset, (IASTEnumerationSpecifier)symbol.getASTExtension().getPrimaryDeclaration() );
|
||||
else if( symbol.getType() == ITypeInfo.t_enumerator )
|
||||
return cache.getReference( offset, declaration );
|
||||
return new ASTEnumeratorReference( offset, (IASTEnumerator) declaration );
|
||||
else if(( symbol.getType() == ITypeInfo.t_function ) || (symbol.getType() == ITypeInfo.t_constructor))
|
||||
{
|
||||
ASTNode referenced = (definition != null) ? definition : declaration;
|
||||
if( referenced instanceof IASTMethod )
|
||||
|
||||
return cache.getReference( offset, (IASTMethod)referenced );
|
||||
return cache.getReference( offset, (IASTFunction)referenced );
|
||||
return new ASTMethodReference( offset, (IASTMethod)referenced );
|
||||
return new ASTFunctionReference( offset, (IASTFunction)referenced );
|
||||
}
|
||||
else if( ( symbol.getType() == ITypeInfo.t_type ) ||
|
||||
( symbol.getType() == ITypeInfo.t_bool )||
|
||||
|
@ -968,7 +963,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
symbol.getContainingSymbol().getType() == ITypeInfo.t_struct ||
|
||||
symbol.getContainingSymbol().getType() == ITypeInfo.t_union )
|
||||
{
|
||||
return cache.getReference( offset, (definition != null ? definition : declaration ));
|
||||
return new ASTFieldReference( offset, (IASTField) (definition != null ? definition : declaration ));
|
||||
}
|
||||
else if( ( symbol.getContainingSymbol().getType() == ITypeInfo.t_function ||
|
||||
symbol.getContainingSymbol().getType() == ITypeInfo.t_constructor ) &&
|
||||
|
@ -976,17 +971,17 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
((IParameterizedSymbol)symbol.getContainingSymbol()).getParameterList() != null &&
|
||||
((IParameterizedSymbol)symbol.getContainingSymbol()).getParameterList().contains( symbol ) )
|
||||
{
|
||||
return cache.getReference( offset, declaration );
|
||||
return new ASTParameterReference( offset, (IASTParameterDeclaration) declaration );
|
||||
}
|
||||
else
|
||||
{
|
||||
ASTNode s = (definition != null) ? definition : declaration;
|
||||
if(s instanceof IASTVariable)
|
||||
return cache.getReference( offset, (IASTVariable)s);
|
||||
return new ASTVariableReference( offset, (IASTVariable)s);
|
||||
else if (s instanceof IASTParameterDeclaration)
|
||||
return cache.getReference( offset, (IASTParameterDeclaration)s);
|
||||
return new ASTParameterReference( offset, (IASTParameterDeclaration)s);
|
||||
else if (s instanceof IASTTemplateParameter )
|
||||
return cache.getReference( offset, (IASTTemplateParameter)s );
|
||||
return new ASTTemplateParameterReference( offset, (IASTTemplateParameter)s );
|
||||
}
|
||||
}
|
||||
// assert false : "Unreachable code : createReference()";
|
||||
|
@ -1147,11 +1142,10 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
int size = refs.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
ReferenceCache.ASTReference ref = (ReferenceCache.ASTReference) refs.get(i);
|
||||
ASTReference ref = (ASTReference) refs.get(i);
|
||||
if( CharArrayUtils.equals( ref.getNameCharArray(), duple.toCharArray() ) &&
|
||||
ref.getOffset() == duple.getStartOffset() )
|
||||
{
|
||||
cache.returnReference( ref );
|
||||
refs.remove( i-- );
|
||||
size--;
|
||||
}
|
||||
|
@ -1219,7 +1213,6 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
{
|
||||
refs.remove(i--);
|
||||
size--;
|
||||
cache.returnReference(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1864,7 +1857,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
for( int i = 0; i < eRefs.size(); ++i )
|
||||
{
|
||||
IASTReference r = (IASTReference)eRefs.get(i);
|
||||
references.add( cache.getReference( r.getOffset(), r.getReferencedElement() ));
|
||||
references.add( r );
|
||||
}
|
||||
}
|
||||
if( expression.getLHSExpression() != null )
|
||||
|
@ -2035,7 +2028,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
if( argLists != null && argLists[idx] != null )
|
||||
{
|
||||
addTemplateIdReferences( references, argLists[idx] );
|
||||
typeName.freeReferences(cache);
|
||||
typeName.freeReferences();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -2319,7 +2312,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
for( int i = 0; i < elabReferences.size(); ++i )
|
||||
{
|
||||
IASTReference r = (IASTReference)elabReferences.get(i);
|
||||
newReferences.add( cache.getReference(r.getOffset(), r.getReferencedElement()));
|
||||
newReferences.add( r );
|
||||
}
|
||||
if( xrefSymbol != null )
|
||||
addReference( newReferences, createReference( xrefSymbol, elab.getNameCharArray(), elab.getNameOffset()) );
|
||||
|
@ -2852,7 +2845,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
for( int i = 0; i < absRefs.size(); ++i )
|
||||
{
|
||||
IASTReference r = (IASTReference) absRefs.get(i);
|
||||
references.add( cache.getReference( r.getOffset(), r.getReferencedElement() ));
|
||||
references.add( r );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3147,7 +3140,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
for( int i = 0; i < mappingReferences.size(); ++i )
|
||||
{
|
||||
IASTReference r = (IASTReference) mappingReferences.get(i);
|
||||
references.add( cache.getReference(r.getOffset(), r.getReferencedElement()));
|
||||
references.add( r );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3506,7 +3499,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
handleProblem( scope, IProblem.SEMANTIC_INVALID_TYPE, typeId.getTypeOrClassNameCharArray() );
|
||||
}
|
||||
result.setTypeSymbol( typeSymbol );
|
||||
typeId.addReferences( refs, cache );
|
||||
typeId.addReferences( refs );
|
||||
}
|
||||
|
||||
setPointerOperators( result, ((ASTTypeId)id).getPointerOperatorsList(), ((ASTTypeId)id).getArrayModifiersList() );
|
||||
|
@ -3518,8 +3511,6 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
*/
|
||||
private void freeReferences(List refs) {
|
||||
if( refs == null || refs.isEmpty() ) return;
|
||||
for( int i =0; i < refs.size(); ++i)
|
||||
cache.returnReference((IASTReference) refs.get(i));
|
||||
refs.clear();
|
||||
}
|
||||
|
||||
|
@ -3558,7 +3549,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
astImplementation.setProcessingUnresolvedReferences( false );
|
||||
|
||||
if( ! references.isEmpty() )
|
||||
astImplementation.setExtraReferences( references, cache );
|
||||
astImplementation.setExtraReferences( references );
|
||||
|
||||
}
|
||||
|
||||
|
@ -3759,18 +3750,12 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
//ignore
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTFactory#getReferenceManager()
|
||||
*/
|
||||
public IReferenceManager getReferenceManager() {
|
||||
return cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public boolean validateCaches() {
|
||||
return cache.isBalanced() && (pst.getTypeInfoProvider().numAllocated() == 0);
|
||||
return (pst.getTypeInfoProvider().numAllocated() == 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -22,7 +22,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
|
||||
|
||||
|
@ -178,21 +177,21 @@ public class ASTExpression implements IASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -210,7 +209,7 @@ public class ASTExpression implements IASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#reconcileReferences()
|
||||
*/
|
||||
public void reconcileReferences(IReferenceManager manager) throws ASTNotImplementedException
|
||||
public void reconcileReferences() throws ASTNotImplementedException
|
||||
{
|
||||
throw new ASTNotImplementedException();
|
||||
}
|
||||
|
@ -233,7 +232,7 @@ public class ASTExpression implements IASTExpression {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression#freeReferences()
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
public void freeReferences() {
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -59,7 +59,6 @@ import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDesignator.DesignatorKind;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor;
|
||||
|
@ -913,11 +912,4 @@ public class ExpressionParseASTFactory extends BaseASTFactory implements IASTFac
|
|||
//ignore
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTFactory#getReferenceManager()
|
||||
*/
|
||||
public IReferenceManager getReferenceManager() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.gcc;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDesignator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.gcc.IASTGCCDesignator;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTDesignator;
|
||||
|
||||
|
@ -47,10 +46,10 @@ public class ASTGCCDesignator extends ASTDesignator
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
super.acceptElement( requestor, manager );
|
||||
super.acceptElement( requestor );
|
||||
if( secondExpression != null )
|
||||
secondExpression.acceptElement(requestor, manager);
|
||||
secondExpression.acceptElement(requestor);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -52,7 +51,7 @@ public class ASTASMDefinition
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -67,14 +66,14 @@ public class ASTASMDefinition
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
private int startingLineNumber, startingOffset, endingLineNumber, endingOffset;
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -72,7 +71,7 @@ public class ASTAbstractTypeSpecifierDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -90,14 +89,14 @@ public class ASTAbstractTypeSpecifierDeclaration
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -87,20 +86,20 @@ public class ASTBaseSpecifier implements IASTBaseSpecifier {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
// no references to process
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.ASTClassKind;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
/**
|
||||
* @author jcamelon
|
||||
*
|
||||
|
@ -130,13 +129,13 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -150,7 +149,7 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -42,13 +41,13 @@ public class ASTCompilationUnit extends ASTNode implements IASTCompilationUnit,
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -63,7 +62,7 @@ public class ASTCompilationUnit extends ASTNode implements IASTCompilationUnit,
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTConstructorMemberInitializer;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -54,19 +53,19 @@ public class ASTConstructorMemberInitializer
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.ASTClassKind;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
|
||||
/**
|
||||
|
@ -87,7 +86,7 @@ public class ASTElaboratedTypeSpecifier extends ASTNode implements IASTElaborate
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -101,13 +100,13 @@ public class ASTElaboratedTypeSpecifier extends ASTNode implements IASTElaborate
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -75,7 +74,7 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -89,20 +88,20 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager) {
|
||||
public void freeReferences() {
|
||||
// do nothing
|
||||
}
|
||||
private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber;
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.complete.ASTNode;
|
||||
|
||||
/**
|
||||
|
@ -79,26 +78,26 @@ public class ASTEnumerator extends ASTNode
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager referenceManager) {
|
||||
public void freeReferences() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.util.List;
|
|||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeId;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -48,21 +47,21 @@ public class ASTExceptionSpecification implements IASTExceptionSpecification
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTField;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -63,7 +62,7 @@ public class ASTField extends ASTVariable implements IASTField
|
|||
return visibility;
|
||||
}
|
||||
|
||||
public void acceptElement( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void acceptElement( ISourceElementRequestor requestor )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -75,11 +74,11 @@ public class ASTField extends ASTVariable implements IASTField
|
|||
}
|
||||
}
|
||||
|
||||
public void enterScope( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void enterScope( ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
|
||||
public void exitScope( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void exitScope( ISourceElementRequestor requestor )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
|
||||
/**
|
||||
|
@ -154,7 +153,7 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -172,7 +171,7 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -187,7 +186,7 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
|
||||
/**
|
||||
|
@ -61,21 +60,21 @@ public class ASTInitializerClause implements IASTInitializerClause {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -70,14 +69,14 @@ public class ASTLinkageSpecification
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -92,7 +91,7 @@ public class ASTLinkageSpecification
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
/**
|
||||
|
@ -169,7 +168,7 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
*/
|
||||
|
||||
|
||||
public void acceptElement( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void acceptElement( ISourceElementRequestor requestor )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -184,7 +183,7 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
}
|
||||
}
|
||||
|
||||
public void enterScope( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void enterScope( ISourceElementRequestor requestor )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -196,7 +195,7 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
}
|
||||
}
|
||||
|
||||
public void exitScope( ISourceElementRequestor requestor, IReferenceManager manager )
|
||||
public void exitScope( ISourceElementRequestor requestor )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -57,21 +56,21 @@ public class ASTNamespaceAlias extends ASTDeclaration implements IASTNamespaceAl
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||
|
||||
/**
|
||||
|
@ -80,13 +79,13 @@ public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamesp
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -100,7 +99,7 @@ public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamesp
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
|||
import java.util.Iterator;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
|
||||
|
@ -47,28 +46,28 @@ public class ASTNewDescriptor implements IASTNewExpressionDescriptor {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTExpression.IASTNewExpressionDescriptor#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void freeReferences(IReferenceManager manager) {
|
||||
public void freeReferences() {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ITokenDuple;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -141,7 +140,7 @@ public class ASTSimpleTypeSpecifier extends ASTNode implements IASTSimpleTypeSpe
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier#releaseReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager)
|
||||
*/
|
||||
public void releaseReferences(IReferenceManager referenceManager) {
|
||||
public void releaseReferences() {
|
||||
// DO NOTHING
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator;
|
||||
|
||||
/**
|
||||
|
@ -85,14 +84,14 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -107,7 +106,7 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -66,14 +65,14 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void acceptElement(ISourceElementRequestor requestor)
|
||||
{
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void enterScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -89,7 +88,7 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
public void exitScope(ISourceElementRequestor requestor)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTNode;
|
|||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter;
|
||||
import org.eclipse.cdt.core.parser.ast.IReferenceManager;
|
||||
|
||||
/**
|
||||
* @author jcamelon
|
||||
|
@ -100,18 +99,18 @@ public class ASTTemplateParameter implements IASTTemplateParameter, IASTOffsetab
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void acceptElement(ISourceElementRequestor requestor) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void enterScope(ISourceElementRequestor requestor) {
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
*/
|
||||
public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) {
|
||||
public void exitScope(ISourceElementRequestor requestor) {
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind[], org.eclipse.cdt.core.parser.ast.IASTNode)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue