1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-09 10:46:02 +02:00

Bug Fixing

This commit is contained in:
Hoda Amer 2004-06-10 14:36:45 +00:00
parent f558f2708d
commit 6ffa80bd87
8 changed files with 49 additions and 10 deletions

View file

@ -1,3 +1,6 @@
2004-06-10 Hoda Amer
Fix for PR 65970: [Outline View] Contents of Includes displayed in Outline for STRUCTURAL_PARSE mode
2004-06-09 Alain Magloire
Patch from Sam Rob to resolve 64022

View file

@ -57,6 +57,9 @@ public class StructuralParseCallback extends QuickParseCallback{
private void enterScope(IASTNode node){
if(node instanceof IASTScope){
if(node instanceof ASTScope){
((ASTScope)node).initDeclarations();
}
pushScope((IASTScope)node);
}
}

View file

@ -37,7 +37,7 @@ import org.eclipse.cdt.internal.core.parser.pst.IDerivableContainerSymbol.IParen
*/
public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
{
private List declarations = new ArrayList();
private List declarations = null;
public class BaseIterator implements Iterator
{
@ -271,7 +271,7 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
//If a callback (ie StructuralParseCallback) populates the declarations list
//then return that iterator, otherwise use the ASTScope implementation which
//gets one from the symbol table.
if( !declarations.isEmpty() ){
if( declarations != null ){
return declarations.iterator();
}
return super.getDeclarations();
@ -282,6 +282,12 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
declarations.add(declaration);
}
public void initDeclarations()
{
declarations = new ArrayList(0);
}
/* (non-Javadoc)
* @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine()
*/

View file

@ -23,7 +23,7 @@ import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
*/
public class ASTCodeScope extends ASTScope implements IASTCodeScope {
private List declarations = new ArrayList();
private List declarations = null;
private final IASTCodeScope ownerCodeScope;
/**
@ -80,13 +80,20 @@ public class ASTCodeScope extends ASTScope implements IASTCodeScope {
public Iterator getDeclarations()
{
return declarations.iterator();
if(declarations != null)
return declarations.iterator();
else
return super.getDeclarations();
}
public void addDeclaration(IASTDeclaration declaration)
{
declarations.add(declaration);
}
public void initDeclarations()
{
declarations = new ArrayList(0);
}
/* (non-Javadoc)
* @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getContainingFunction()

View file

@ -28,7 +28,7 @@ public class ASTCompilationUnit
extends ASTScope
implements IASTCompilationUnit
{
private List declarations = new ArrayList();
private List declarations = null;
/**
* @param symbol
*/
@ -77,7 +77,7 @@ public class ASTCompilationUnit
//If a callback (ie StructuralParseCallback) populates the declarations list
//then return that iterator, otherwise use the ASTScope implementation which
//gets one from the symbol table.
if( !declarations.isEmpty() )
if( declarations != null )
return declarations.iterator();
return super.getDeclarations();
@ -87,4 +87,8 @@ public class ASTCompilationUnit
{
declarations.add(declaration);
}
public void initDeclarations()
{
declarations = new ArrayList(0);
}
}

View file

@ -45,7 +45,7 @@ public class ASTFunction extends ASTScope implements IASTFunction
private final ASTQualifiedNamedElement qualifiedName;
private final List parameters;
protected List references;
private List declarations = new ArrayList();
private List declarations = null;
/**
* @param symbol
* @param parameters
@ -328,12 +328,20 @@ public class ASTFunction extends ASTScope implements IASTFunction
public Iterator getDeclarations()
{
return declarations.iterator();
if(declarations != null)
return declarations.iterator();
else
return super.getDeclarations();
}
public void addDeclaration(IASTDeclaration declaration)
{
declarations.add(declaration);
}
public void initDeclarations()
{
declarations = new ArrayList(0);
}
/* (non-Javadoc)

View file

@ -33,7 +33,7 @@ public class ASTNamespaceDefinition
private NamedOffsets offsets = new NamedOffsets();
private final ASTQualifiedNamedElement qualifiedName;
private List declarations = new ArrayList();
private List declarations = null;
/**
* @param namespaceSymbol
@ -171,7 +171,7 @@ public class ASTNamespaceDefinition
//If a callback (ie StructuralParseCallback) populates the declarations list
//then return that iterator, otherwise use the ASTScope implementation which
//gets one from the symbol table.
if( !declarations.isEmpty() )
if( declarations != null )
return declarations.iterator();
return super.getDeclarations();
@ -181,6 +181,11 @@ public class ASTNamespaceDefinition
declarations.add(declaration);
}
public void initDeclarations()
{
declarations = new ArrayList(0);
}
/* (non-Javadoc)
* @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine()
*/

View file

@ -52,4 +52,7 @@ public abstract class ASTScope extends ASTSymbol implements IASTScope
{
}
public void initDeclarations()
{
}
}