1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

fix bug 83709

This commit is contained in:
Andrew Niefer 2005-01-26 15:22:21 +00:00
parent 539b5c0633
commit ddeca093ea

View file

@ -39,7 +39,6 @@ import org.eclipse.cdt.core.dom.ast.IASTFieldReference;
import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTForStatement;
import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
import org.eclipse.cdt.core.dom.ast.IASTGotoStatement; import org.eclipse.cdt.core.dom.ast.IASTGotoStatement;
import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTIdExpression;
@ -60,6 +59,7 @@ import org.eclipse.cdt.core.dom.ast.IASTProblemHolder;
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement; import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTStatement; import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement; import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
@ -835,9 +835,7 @@ public class CPPVisitor {
ICPPASTFunctionDeclarator fdtor = (ICPPASTFunctionDeclarator) declarator; ICPPASTFunctionDeclarator fdtor = (ICPPASTFunctionDeclarator) declarator;
IASTParameterDeclaration [] list = fdtor.getParameters(); IASTParameterDeclaration [] list = fdtor.getParameters();
for( int i = 0; i < list.length; i++ ){ for( int i = 0; i < list.length; i++ ){
IASTParameterDeclaration param = list[i]; if( !visitParameterDeclaration( list[i], action ) ) return false;
if( !visitDeclSpecifier( param.getDeclSpecifier(), action ) ) return false;
if( !visitDeclarator( param.getDeclarator(), action ) ) return false;
} }
ICPPASTConstructorChainInitializer [] ctorChain = fdtor.getConstructorChain(); ICPPASTConstructorChainInitializer [] ctorChain = fdtor.getConstructorChain();
for( int i = 0; i < ctorChain.length; i++ ){ for( int i = 0; i < ctorChain.length; i++ ){
@ -1091,6 +1089,20 @@ public class CPPVisitor {
return true; return true;
} }
public static boolean visitParameterDeclaration( IASTParameterDeclaration parameterDeclaration, CPPBaseVisitorAction action ){
if( action.processParameterDeclarations ){
switch( action.processParameterDeclaration( parameterDeclaration ) ){
case CPPBaseVisitorAction.PROCESS_ABORT : return false;
case CPPBaseVisitorAction.PROCESS_SKIP : return true;
default : break;
}
}
if( !visitDeclSpecifier( parameterDeclaration.getDeclSpecifier(), action ) ) return false;
if( !visitDeclarator( parameterDeclaration.getDeclarator(), action ) ) return false;
return true;
}
/** /**
* @param parameter * @param parameter
* @param action * @param action