mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Symbol Table work for Content Assist By Andrew
This commit is contained in:
parent
3241b09765
commit
c8b4fb4ce5
53 changed files with 414 additions and 137 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2003-12-15 Andrew Niefer
|
||||||
|
added ContextualParseTest.testCompletionLookup_Unqualified
|
||||||
|
added ContextualParseTest.testCompletionLookup_Qualified
|
||||||
|
added ContextualParseTest.testCompletionLookup_Pointer
|
||||||
|
|
||||||
2003-12-12 John Camelon
|
2003-12-12 John Camelon
|
||||||
Updated testBaseCase_SimpleDeclaration() for keyword assertions.
|
Updated testBaseCase_SimpleDeclaration() for keyword assertions.
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
|
import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
|
import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||||
|
@ -116,10 +117,11 @@ public class CompleteParseBaseTest extends TestCase
|
||||||
|
|
||||||
return scope;
|
return scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @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)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) throws LookupException {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,12 @@ import org.eclipse.cdt.core.parser.ParserMode;
|
||||||
import org.eclipse.cdt.core.parser.ScannerInfo;
|
import org.eclipse.cdt.core.parser.ScannerInfo;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
import org.eclipse.cdt.core.parser.ast.IASTCompletionNode;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTField;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode.LookupResult;
|
||||||
import org.eclipse.cdt.internal.core.parser.ParserLogService;
|
import org.eclipse.cdt.internal.core.parser.ParserLogService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -107,4 +113,132 @@ public class ContextualParseTest extends CompleteParseBaseTest {
|
||||||
keywords = node.getKeywords();
|
keywords = node.getKeywords();
|
||||||
assertFalse( keywords.hasNext() );
|
assertFalse( keywords.hasNext() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testCompletionLookup_Unqualified() throws Exception
|
||||||
|
{
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
writer.write( "int aVar; " );
|
||||||
|
writer.write( "void foo( ) { " );
|
||||||
|
writer.write( " int anotherVar; " );
|
||||||
|
writer.write( " a " );
|
||||||
|
writer.write( "} " );
|
||||||
|
|
||||||
|
String code = writer.toString();
|
||||||
|
int index = code.indexOf( " a " );
|
||||||
|
|
||||||
|
IASTCompletionNode node = parse( code, index + 2 );
|
||||||
|
assertNotNull( node );
|
||||||
|
|
||||||
|
String prefix = node.getCompletionPrefix();
|
||||||
|
assertNotNull( prefix );
|
||||||
|
assertTrue( node.getCompletionScope() instanceof IASTFunction );
|
||||||
|
assertEquals( prefix, "a" );
|
||||||
|
assertEquals( node.getCompletionKind(), IASTCompletionNode.CompletionKind.VARIABLE_TYPE );
|
||||||
|
|
||||||
|
|
||||||
|
LookupResult result = node.getCompletionScope().lookup( prefix, IASTNode.LookupKind.ALL, node.getCompletionContext() );
|
||||||
|
assertEquals( result.getPrefix(), prefix );
|
||||||
|
|
||||||
|
Iterator iter = result.getNodes();
|
||||||
|
|
||||||
|
IASTVariable anotherVar = (IASTVariable) iter.next();
|
||||||
|
IASTVariable aVar = (IASTVariable) iter.next();
|
||||||
|
|
||||||
|
assertFalse( iter.hasNext() );
|
||||||
|
assertEquals( anotherVar.getName(), "anotherVar" );
|
||||||
|
assertEquals( aVar.getName(), "aVar" );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testCompletionLookup_Qualified() throws Exception
|
||||||
|
{
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
writer.write( "int aVar; " );
|
||||||
|
writer.write( "struct D{ " );
|
||||||
|
writer.write( " int aField; " );
|
||||||
|
writer.write( " void aMethod(); " );
|
||||||
|
writer.write( "}; " );
|
||||||
|
writer.write( "void foo(){" );
|
||||||
|
writer.write( " D d; " );
|
||||||
|
writer.write( " d.a " );
|
||||||
|
writer.write( "}\n" );
|
||||||
|
|
||||||
|
String code = writer.toString();
|
||||||
|
int index = code.indexOf( "d.a" );
|
||||||
|
|
||||||
|
IASTCompletionNode node = parse( code, index + 3 );
|
||||||
|
assertNotNull( node );
|
||||||
|
|
||||||
|
String prefix = node.getCompletionPrefix();
|
||||||
|
assertNotNull( prefix );
|
||||||
|
assertEquals( prefix, "a" );
|
||||||
|
|
||||||
|
assertTrue( node.getCompletionScope() instanceof IASTFunction );
|
||||||
|
assertEquals( node.getCompletionKind(), IASTCompletionNode.CompletionKind.MEMBER_REFERENCE );
|
||||||
|
assertNotNull( node.getCompletionContext() );
|
||||||
|
assertTrue( node.getCompletionContext() instanceof IASTClassSpecifier );
|
||||||
|
|
||||||
|
LookupResult result = node.getCompletionScope().lookup( prefix, IASTNode.LookupKind.ALL, node.getCompletionContext() );
|
||||||
|
assertEquals( result.getPrefix(), prefix );
|
||||||
|
|
||||||
|
Iterator iter = result.getNodes();
|
||||||
|
|
||||||
|
IASTMethod aMethod = null;
|
||||||
|
IASTField aField = null;
|
||||||
|
|
||||||
|
//we can't currently predict the order in this case
|
||||||
|
for( int i = 1; i <= 2; i++ ){
|
||||||
|
IASTNode astNode = (IASTNode) iter.next();
|
||||||
|
if( astNode instanceof IASTMethod ){
|
||||||
|
aMethod = (IASTMethod) astNode;
|
||||||
|
} else{
|
||||||
|
aField = (IASTField) astNode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assertFalse( iter.hasNext() );
|
||||||
|
|
||||||
|
assertEquals( aMethod.getName(), "aMethod" );
|
||||||
|
assertEquals( aField.getName(), "aField" );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testCompletionLookup_Pointer() throws Exception{
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
writer.write( "class A {" );
|
||||||
|
writer.write( " public: void aPublicBaseMethod();" );
|
||||||
|
writer.write( " private: void aPrivateBaseMethod();" );
|
||||||
|
writer.write( "};" );
|
||||||
|
writer.write( "class B : public A {" );
|
||||||
|
writer.write( " public: void aMethod();" );
|
||||||
|
writer.write( "};" );
|
||||||
|
writer.write( "void foo(){" );
|
||||||
|
writer.write( " B * b = new B();" );
|
||||||
|
writer.write( " b->a \n" );
|
||||||
|
|
||||||
|
String code = writer.toString();
|
||||||
|
int index = code.indexOf( "b->a" );
|
||||||
|
|
||||||
|
IASTCompletionNode node = parse( code, index + 4 );
|
||||||
|
|
||||||
|
assertNotNull( node );
|
||||||
|
|
||||||
|
String prefix = node.getCompletionPrefix();
|
||||||
|
assertEquals( prefix, "a" );
|
||||||
|
|
||||||
|
assertTrue( node.getCompletionScope() instanceof IASTFunction );
|
||||||
|
assertEquals( node.getCompletionKind(), IASTCompletionNode.CompletionKind.MEMBER_REFERENCE );
|
||||||
|
assertNotNull( node.getCompletionContext() );
|
||||||
|
assertTrue( node.getCompletionContext() instanceof IASTClassSpecifier );
|
||||||
|
|
||||||
|
LookupResult result = node.getCompletionScope().lookup( prefix, IASTNode.LookupKind.METHODS, node.getCompletionContext() );
|
||||||
|
assertEquals( result.getPrefix(), prefix );
|
||||||
|
|
||||||
|
Iterator iter = result.getNodes();
|
||||||
|
IASTMethod method = (IASTMethod) iter.next();
|
||||||
|
IASTMethod baseMethod = (IASTMethod) iter.next();
|
||||||
|
|
||||||
|
assertFalse( iter.hasNext() );
|
||||||
|
|
||||||
|
assertEquals( method.getName(), "aMethod" );
|
||||||
|
assertEquals( baseMethod.getName(), "aPublicBaseMethod" );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2003-12-15 Andrew Niefer
|
||||||
|
Changed IASTNode.lookup to take the context as a parameter
|
||||||
|
created ASTNode to implement IASTNode, ASTSymbolOwner extends it.
|
||||||
|
Set Completion Scope for statements
|
||||||
|
Set Completion context for . and -> expressions
|
||||||
|
|
||||||
2003-12-15 Hoda Amer
|
2003-12-15 Hoda Amer
|
||||||
Fixed [Bug 47234] new ParserMode required for a better CModel :
|
Fixed [Bug 47234] new ParserMode required for a better CModel :
|
||||||
- Added a core plugin preference to build the CModel in Structural mode
|
- Added a core plugin preference to build the CModel in Structural mode
|
||||||
|
|
|
@ -15,6 +15,7 @@ import org.eclipse.cdt.core.parser.IToken;
|
||||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
|
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.IASTNewExpressionDescriptor;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTExpression.Kind;
|
||||||
/**
|
/**
|
||||||
* @author jcamelon
|
* @author jcamelon
|
||||||
*
|
*
|
||||||
|
@ -233,4 +234,10 @@ public interface IASTFactory
|
||||||
* @param astClassSpecifier
|
* @param astClassSpecifier
|
||||||
*/
|
*/
|
||||||
public void signalEndOfClassSpecifier(IASTClassSpecifier astClassSpecifier);
|
public void signalEndOfClassSpecifier(IASTClassSpecifier astClassSpecifier);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param kind
|
||||||
|
* @param firstExpression
|
||||||
|
*/
|
||||||
|
public IASTNode getCompletionContext(Kind kind, IASTExpression expression);
|
||||||
}
|
}
|
|
@ -58,6 +58,6 @@ public interface IASTNode {
|
||||||
public Iterator getNodes();
|
public Iterator getNodes();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LookupResult lookup( String prefix, LookupKind kind ) throws LookupException;
|
public LookupResult lookup( String prefix, LookupKind kind, IASTNode context) throws LookupException;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2891,6 +2891,7 @@ public abstract class Parser implements IParser
|
||||||
*/
|
*/
|
||||||
protected void statement(IASTScope scope) throws EndOfFileException, BacktrackException
|
protected void statement(IASTScope scope) throws EndOfFileException, BacktrackException
|
||||||
{
|
{
|
||||||
|
setCurrentScope(scope);
|
||||||
|
|
||||||
switch (LT(1))
|
switch (LT(1))
|
||||||
{
|
{
|
||||||
|
@ -3028,6 +3029,11 @@ public abstract class Parser implements IParser
|
||||||
// declarationStatement
|
// declarationStatement
|
||||||
declaration(scope, null);
|
declaration(scope, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( scope instanceof IASTScopedElement )
|
||||||
|
setCurrentScope( ((IASTScopedElement)scope).getOwnerScope() );
|
||||||
|
else
|
||||||
|
setCurrentScope( null );
|
||||||
}
|
}
|
||||||
protected void catchHandlerSequence(IASTScope scope)
|
protected void catchHandlerSequence(IASTScope scope)
|
||||||
throws EndOfFileException, BacktrackException
|
throws EndOfFileException, BacktrackException
|
||||||
|
@ -4719,11 +4725,20 @@ public abstract class Parser implements IParser
|
||||||
case IToken.tDOT :
|
case IToken.tDOT :
|
||||||
// member access
|
// member access
|
||||||
consume(IToken.tDOT);
|
consume(IToken.tDOT);
|
||||||
|
|
||||||
if (LT(1) == IToken.t_template)
|
if (LT(1) == IToken.t_template)
|
||||||
{
|
{
|
||||||
consume(IToken.t_template);
|
consume(IToken.t_template);
|
||||||
isTemplate = true;
|
isTemplate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IASTNode context = astFactory.getCompletionContext( (isTemplate
|
||||||
|
? IASTExpression.Kind.POSTFIX_DOT_TEMPL_IDEXPRESS
|
||||||
|
: IASTExpression.Kind.POSTFIX_DOT_IDEXPRESSION),
|
||||||
|
firstExpression );
|
||||||
|
setCompletionContext( context );
|
||||||
|
setCompletionKind( IASTCompletionNode.CompletionKind.MEMBER_REFERENCE );
|
||||||
|
|
||||||
secondExpression = primaryExpression(scope);
|
secondExpression = primaryExpression(scope);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -4746,6 +4761,9 @@ public abstract class Parser implements IParser
|
||||||
} catch (Exception e)
|
} catch (Exception e)
|
||||||
{
|
{
|
||||||
throw backtrack;
|
throw backtrack;
|
||||||
|
} finally
|
||||||
|
{
|
||||||
|
setCompletionContext( null );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case IToken.tARROW :
|
case IToken.tARROW :
|
||||||
|
@ -4756,6 +4774,14 @@ public abstract class Parser implements IParser
|
||||||
consume(IToken.t_template);
|
consume(IToken.t_template);
|
||||||
isTemplate = true;
|
isTemplate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
context = astFactory.getCompletionContext( (isTemplate
|
||||||
|
? IASTExpression.Kind.POSTFIX_ARROW_TEMPL_IDEXP
|
||||||
|
: IASTExpression.Kind.POSTFIX_ARROW_IDEXPRESSION),
|
||||||
|
firstExpression );
|
||||||
|
setCompletionContext( context );
|
||||||
|
setCompletionKind( IASTCompletionNode.CompletionKind.MEMBER_REFERENCE );
|
||||||
|
|
||||||
secondExpression = primaryExpression(scope);
|
secondExpression = primaryExpression(scope);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -4778,6 +4804,9 @@ public abstract class Parser implements IParser
|
||||||
} catch (Exception e)
|
} catch (Exception e)
|
||||||
{
|
{
|
||||||
throw backtrack;
|
throw backtrack;
|
||||||
|
}finally
|
||||||
|
{
|
||||||
|
setCompletionContext( null );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default :
|
default :
|
||||||
|
@ -4785,6 +4814,9 @@ public abstract class Parser implements IParser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected IASTExpression specialCastExpression( IASTScope scope,
|
protected IASTExpression specialCastExpression( IASTScope scope,
|
||||||
IASTExpression.Kind kind)
|
IASTExpression.Kind kind)
|
||||||
throws EndOfFileException, BacktrackException
|
throws EndOfFileException, BacktrackException
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||||
|
|
||||||
|
@ -98,7 +99,7 @@ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASM
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -121,7 +122,7 @@ public class ASTAbstractTypeSpecifierDeclaration
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -268,11 +268,4 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
||||||
declarations.add(declaration);
|
declarations.add(declaration);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,12 +88,4 @@ public class ASTCodeScope extends ASTScope implements IASTCodeScope {
|
||||||
declarations.add(declaration);
|
declarations.add(declaration);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,12 +79,4 @@ public class ASTCompilationUnit
|
||||||
{
|
{
|
||||||
declarations.add(declaration);
|
declarations.add(declaration);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,11 +168,4 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora
|
||||||
{
|
{
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,12 +155,4 @@ public class ASTEnumerationSpecifier
|
||||||
{
|
{
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,11 +138,4 @@ public class ASTEnumerator extends ASTSymbol implements IASTEnumerator
|
||||||
{
|
{
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -330,11 +330,4 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
||||||
declarations.add(declaration);
|
declarations.add(declaration);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.Iterator;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||||
|
|
||||||
|
@ -115,7 +116,7 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,11 +147,4 @@ public class ASTNamespaceAlias extends ASTSymbol implements IASTNamespaceAlias
|
||||||
{
|
{
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,11 +174,4 @@ public class ASTNamespaceDefinition
|
||||||
declarations.add(declaration);
|
declarations.add(declaration);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,116 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2003 IBM 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 Corp. - Rational Software - initial implementation
|
||||||
|
******************************************************************************/
|
||||||
|
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
|
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;
|
||||||
|
import org.eclipse.cdt.internal.core.parser.pst.ISymbolOwner;
|
||||||
|
import org.eclipse.cdt.internal.core.parser.pst.ParserSymbolTableException;
|
||||||
|
import org.eclipse.cdt.internal.core.parser.pst.TypeFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author aniefer
|
||||||
|
*/
|
||||||
|
public class ASTNode implements IASTNode {
|
||||||
|
|
||||||
|
/* (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)
|
||||||
|
*/
|
||||||
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) throws LookupException {
|
||||||
|
if( ! ( this instanceof ISymbolOwner ) || ( context != null && !(context instanceof ISymbolOwner) ) ){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
IContainerSymbol thisContainer = (IContainerSymbol) ((ISymbolOwner)this).getSymbol();
|
||||||
|
IContainerSymbol qualification = null;
|
||||||
|
|
||||||
|
if( context != null ){
|
||||||
|
ISymbol sym = (IContainerSymbol) ((ISymbolOwner)context).getSymbol();
|
||||||
|
if( sym == null || !(sym instanceof IContainerSymbol) ){
|
||||||
|
throw new LookupException();
|
||||||
|
}
|
||||||
|
qualification = (IContainerSymbol) sym;
|
||||||
|
}
|
||||||
|
|
||||||
|
ISymbolOwner owner = (ISymbolOwner) this;
|
||||||
|
ISymbol symbol = owner.getSymbol();
|
||||||
|
if( symbol == null || !(symbol instanceof IContainerSymbol) ){
|
||||||
|
throw new LookupException();
|
||||||
|
}
|
||||||
|
|
||||||
|
TypeFilter filter = new TypeFilter( kind );
|
||||||
|
List lookupResults = null;
|
||||||
|
try {
|
||||||
|
if( qualification != null ){
|
||||||
|
lookupResults = qualification.prefixLookup( filter, prefix, true );
|
||||||
|
} else {
|
||||||
|
lookupResults = thisContainer.prefixLookup( filter, prefix, false );
|
||||||
|
}
|
||||||
|
} catch (ParserSymbolTableException e) {
|
||||||
|
throw new LookupException();
|
||||||
|
}
|
||||||
|
|
||||||
|
ListIterator iter = lookupResults.listIterator();
|
||||||
|
while( iter.hasNext() ){
|
||||||
|
ISymbol s = (ISymbol) iter.next();
|
||||||
|
if( !thisContainer.isVisible( s, qualification ) ){
|
||||||
|
iter.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SymbolIterator iterator = new SymbolIterator( lookupResults.iterator() );
|
||||||
|
|
||||||
|
return new Result( prefix, iterator );
|
||||||
|
}
|
||||||
|
|
||||||
|
private class Result implements LookupResult{
|
||||||
|
private String prefix;
|
||||||
|
private Iterator iterator;
|
||||||
|
|
||||||
|
public Result( String pref, Iterator iter ){
|
||||||
|
prefix = pref;
|
||||||
|
iterator = iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPrefix() { return prefix; }
|
||||||
|
public Iterator getNodes() { return iterator; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private class SymbolIterator implements Iterator{
|
||||||
|
Iterator interalIterator;
|
||||||
|
|
||||||
|
public SymbolIterator( Iterator iter ){
|
||||||
|
interalIterator = iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasNext() {
|
||||||
|
return interalIterator.hasNext();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object next() {
|
||||||
|
ISymbol nextSymbol = (ISymbol) interalIterator.next();
|
||||||
|
|
||||||
|
ISymbolASTExtension extension = (nextSymbol != null ) ? nextSymbol.getASTExtension() : null;
|
||||||
|
|
||||||
|
return (extension != null ) ? extension.getPrimaryDeclaration() : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void remove() {
|
||||||
|
interalIterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -193,12 +193,5 @@ public class ASTParameterDeclaration extends ASTSymbol implements IASTParameterD
|
||||||
{
|
{
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||||
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
|
||||||
|
@ -151,7 +152,7 @@ public class ASTSimpleTypeSpecifier implements IASTSimpleTypeSpecifier
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ import org.eclipse.cdt.internal.core.parser.pst.ISymbolOwner;
|
||||||
* @author jcamelon
|
* @author jcamelon
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class ASTSymbolOwner implements ISymbolOwner
|
public class ASTSymbolOwner extends ASTNode implements ISymbolOwner
|
||||||
{
|
{
|
||||||
protected ISymbol symbol;
|
protected ISymbol symbol;
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,6 +14,7 @@ import java.util.Iterator;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||||
|
|
||||||
|
@ -124,7 +125,7 @@ public class ASTTemplateDeclaration implements IASTTemplateDeclaration
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
||||||
|
|
||||||
|
@ -106,7 +107,7 @@ public class ASTTemplateInstantiation implements IASTTemplateInstantiation
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
|
||||||
|
|
||||||
|
@ -106,7 +107,7 @@ public class ASTTemplateSpecialization implements IASTTemplateSpecialization
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,12 +167,4 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration
|
||||||
offsets.setNameEndOffset(o);
|
offsets.setNameEndOffset(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
||||||
|
@ -130,7 +131,7 @@ public class ASTUsingDeclaration implements IASTUsingDeclaration
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
|
||||||
|
@ -125,7 +126,7 @@ public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUs
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
|
@ -242,11 +243,5 @@ public class ASTVariable extends ASTSymbol implements IASTVariable
|
||||||
{
|
{
|
||||||
return constructorExpression;
|
return constructorExpression;
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
|
||||||
*/
|
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
import org.eclipse.cdt.core.parser.ast.IASTReference;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
|
@ -2736,4 +2737,24 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
||||||
{
|
{
|
||||||
return new ASTInitializerClause( kind, assignmentExpression, initializerClauses, designators );
|
return new ASTInitializerClause( kind, assignmentExpression, initializerClauses, designators );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.cdt.core.parser.ast.IASTFactory#getCompletionContext(org.eclipse.cdt.core.parser.ast.IASTExpression.Kind, org.eclipse.cdt.core.parser.ast.IASTExpression)
|
||||||
|
*/
|
||||||
|
public IASTNode getCompletionContext(Kind kind, IASTExpression expression) {
|
||||||
|
IContainerSymbol context = null;
|
||||||
|
try {
|
||||||
|
context = getSearchScope( kind, expression, null );
|
||||||
|
} catch (ASTSemanticException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( context != null ){
|
||||||
|
ISymbolASTExtension extension = context.getASTExtension();
|
||||||
|
return ( extension != null ) ? extension.getPrimaryDeclaration() : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
|
||||||
|
@ -100,7 +101,7 @@ public class ASTASMDefinition
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||||
|
@ -118,7 +119,7 @@ public class ASTAbstractTypeSpecifierDeclaration
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
|
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author jcamelon
|
* @author jcamelon
|
||||||
|
@ -77,7 +78,7 @@ public class ASTCompilationUnit implements IASTCompilationUnit, IASTQScope {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTClassKind;
|
import org.eclipse.cdt.core.parser.ast.ASTClassKind;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
||||||
|
@ -158,7 +159,7 @@ public class ASTElaboratedTypeSpecifier implements IASTElaboratedTypeSpecifier
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
|
import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
|
import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
import org.eclipse.cdt.core.parser.ast.IASTFunction;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplate;
|
||||||
|
@ -283,7 +284,7 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
|
||||||
|
@ -129,7 +130,7 @@ public class ASTLinkageSpecification
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
||||||
|
|
||||||
|
@ -148,7 +149,7 @@ public class ASTNamespaceAlias extends ASTDeclaration implements IASTNamespaceAl
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
|
||||||
|
@ -162,7 +163,7 @@ public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamesp
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.parser.ast.quick;
|
package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScopedTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTScopedTypeSpecifier;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
|
@ -37,7 +38,7 @@ public class ASTScopedTypeSpecifier extends ASTQualifiedNamedElement implements
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ITokenDuple;
|
import org.eclipse.cdt.core.parser.ITokenDuple;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
|
||||||
|
|
||||||
|
@ -196,7 +197,7 @@ public class ASTSimpleTypeSpecifier implements IASTSimpleTypeSpecifier
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -140,7 +141,7 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -123,7 +124,7 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
|
import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -117,7 +118,7 @@ public class ASTTemplateSpecialization extends ASTDeclaration implements IASTTem
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
|
@ -150,7 +151,7 @@ public class ASTTypedefDeclaration extends ASTDeclaration implements IASTTypedef
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -115,7 +116,7 @@ public class ASTUsingDeclaration
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ package org.eclipse.cdt.internal.core.parser.ast.quick;
|
||||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
import org.eclipse.cdt.internal.core.parser.ast.Offsets;
|
||||||
|
@ -107,7 +108,7 @@ public class ASTUsingDirective
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
import org.eclipse.cdt.core.parser.ast.IASTExpression;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
import org.eclipse.cdt.core.parser.ast.IASTVariable;
|
||||||
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement;
|
||||||
|
@ -231,7 +232,7 @@ public class ASTVariable extends ASTDeclaration implements IASTVariable
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
* @see org.eclipse.cdt.core.parser.ast.IASTNode#lookup(java.lang.String, org.eclipse.cdt.core.parser.ast.IASTNode.LookupKind)
|
||||||
*/
|
*/
|
||||||
public LookupResult lookup(String prefix, LookupKind kind) {
|
public LookupResult lookup(String prefix, LookupKind kind, IASTNode context) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
import org.eclipse.cdt.core.parser.ast.IASTMethod;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
|
||||||
|
import org.eclipse.cdt.core.parser.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
import org.eclipse.cdt.core.parser.ast.IASTScope;
|
||||||
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
|
||||||
|
@ -316,4 +317,12 @@ public class QuickParseASTFactory extends BaseASTFactory implements IASTFactory
|
||||||
return new ASTInitializerClause( kind, assignmentExpression, initializerClauses, designators );
|
return new ASTInitializerClause( kind, assignmentExpression, initializerClauses, designators );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.cdt.core.parser.ast.IASTFactory#getCompletionContext(org.eclipse.cdt.core.parser.ast.IASTExpression.Kind, org.eclipse.cdt.core.parser.ast.IASTExpression)
|
||||||
|
*/
|
||||||
|
public IASTNode getCompletionContext(Kind kind, IASTExpression expression) {
|
||||||
|
//we have no cross-reference information about the type of the expression
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ package org.eclipse.cdt.internal.core.parser.pst;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ListIterator;
|
import java.util.ListIterator;
|
||||||
|
@ -290,7 +291,7 @@ public class ParserSymbolTable {
|
||||||
* Look for data.name in our collection _containedDeclarations
|
* Look for data.name in our collection _containedDeclarations
|
||||||
*/
|
*/
|
||||||
protected static Map lookupInContained( LookupData data, IContainerSymbol lookIn ) throws ParserSymbolTableException{
|
protected static Map lookupInContained( LookupData data, IContainerSymbol lookIn ) throws ParserSymbolTableException{
|
||||||
Map found = new HashMap();
|
Map found = new LinkedHashMap();
|
||||||
|
|
||||||
boolean foundSomething = false;
|
boolean foundSomething = false;
|
||||||
ISymbol temp = null;
|
ISymbol temp = null;
|
||||||
|
|
|
@ -96,7 +96,8 @@ public class TypeFilter {
|
||||||
* @param lookupKind
|
* @param lookupKind
|
||||||
*/
|
*/
|
||||||
private void populatedFilteredTypes(LookupKind kind) {
|
private void populatedFilteredTypes(LookupKind kind) {
|
||||||
if ( kind == LookupKind.STRUCTURES ) { acceptedTypes.add( TypeInfo.t_class );
|
if ( kind == LookupKind.ALL ) { acceptedTypes.add( TypeInfo.t_any ); }
|
||||||
|
else if ( kind == LookupKind.STRUCTURES ) { acceptedTypes.add( TypeInfo.t_class );
|
||||||
acceptedTypes.add( TypeInfo.t_struct );
|
acceptedTypes.add( TypeInfo.t_struct );
|
||||||
acceptedTypes.add( TypeInfo.t_union ); }
|
acceptedTypes.add( TypeInfo.t_union ); }
|
||||||
else if ( kind == LookupKind.STRUCS ) { acceptedTypes.add( TypeInfo.t_struct ); }
|
else if ( kind == LookupKind.STRUCS ) { acceptedTypes.add( TypeInfo.t_struct ); }
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
2003-12-15 Andrew Niefer
|
||||||
|
Updated CompletionEngine to match new signature for IASTNode.lookup
|
||||||
|
|
||||||
2003-12-15 Alain Magloire
|
2003-12-15 Alain Magloire
|
||||||
|
|
||||||
Header icon provide by Mirza Hadzic PR 26486. Thanks.
|
Header icon provide by Mirza Hadzic PR 26486. Thanks.
|
||||||
|
|
|
@ -301,7 +301,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// 2. lookup fields & add to completion proposals
|
// 2. lookup fields & add to completion proposals
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.FIELDS);
|
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.FIELDS, completionNode.getCompletionContext());
|
||||||
addToCompletions (result);
|
addToCompletions (result);
|
||||||
}
|
}
|
||||||
catch( IASTNode.LookupException ilk )
|
catch( IASTNode.LookupException ilk )
|
||||||
|
@ -312,7 +312,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// 3. looup methods & add to completion proposals
|
// 3. looup methods & add to completion proposals
|
||||||
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.METHODS);
|
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.METHODS, completionNode.getCompletionContext());
|
||||||
addToCompletions (result);
|
addToCompletions (result);
|
||||||
}
|
}
|
||||||
catch( IASTNode.LookupException ilk )
|
catch( IASTNode.LookupException ilk )
|
||||||
|
@ -323,7 +323,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 4. lookup nested structures & add to completion proposals
|
// 4. lookup nested structures & add to completion proposals
|
||||||
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.STRUCTURES);
|
result = searchNode.lookup (completionNode.getCompletionPrefix(), IASTNode.LookupKind.STRUCTURES, completionNode.getCompletionContext());
|
||||||
addToCompletions (result);
|
addToCompletions (result);
|
||||||
} catch (LookupException e) {
|
} catch (LookupException e) {
|
||||||
}
|
}
|
||||||
|
@ -338,7 +338,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// 2. Lookup all types that could be used here
|
// 2. Lookup all types that could be used here
|
||||||
LookupResult result;
|
LookupResult result;
|
||||||
try {
|
try {
|
||||||
result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.STRUCTURES);
|
result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.STRUCTURES, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
} catch (LookupException e) {
|
} catch (LookupException e) {
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// We have to lookup functions that could be overridden here.
|
// We have to lookup functions that could be overridden here.
|
||||||
LookupResult result;
|
LookupResult result;
|
||||||
try {
|
try {
|
||||||
result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.METHODS);
|
result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.METHODS, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
} catch (LookupException e) {
|
} catch (LookupException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
|
@ -385,7 +385,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// 1. lookup local variables, global variables, functions, methods, structures, enums, macros, and namespaces
|
// 1. lookup local variables, global variables, functions, methods, structures, enums, macros, and namespaces
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.ALL);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.ALL, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -397,7 +397,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// 1. look only for local variables
|
// 1. look only for local variables
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.LOCAL_VARIABLES);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.LOCAL_VARIABLES, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -417,7 +417,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// 1. lookup local variables, global variables, functions, methods, structures, enums, macros, and namespaces
|
// 1. lookup local variables, global variables, functions, methods, structures, enums, macros, and namespaces
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.ALL);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.ALL, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -432,7 +432,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// only look for classes
|
// only look for classes
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.CLASSES);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.CLASSES, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -445,7 +445,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// only look for classes
|
// only look for classes
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.NAMESPACES);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.NAMESPACES, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -466,7 +466,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// only look for macros
|
// only look for macros
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.MACROS);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.MACROS, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
|
@ -482,7 +482,7 @@ public class CompletionEngine implements RelevanceConstants{
|
||||||
// only lookup constructors
|
// only lookup constructors
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.CONSTRUCTORS);
|
LookupResult result = searchNode.lookup(completionNode.getCompletionPrefix(), IASTNode.LookupKind.CONSTRUCTORS, completionNode.getCompletionContext());
|
||||||
}
|
}
|
||||||
catch( LookupException ilk )
|
catch( LookupException ilk )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue