1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 06:05:24 +02:00

fix ClassCastException bug 74202

This commit is contained in:
Andrew Niefer 2004-11-16 20:06:20 +00:00
parent 97fa2e884b
commit 79dfbf7c90

View file

@ -876,9 +876,8 @@ public class ParserSymbolTable {
if( origList.size() == 1 ){
return isValidOverload( (ISymbol)origList.get(0), newSymbol );
} else if ( origList.size() > 1 ){
if( newSymbol.isType( ITypeInfo.t_template ) ){
ITemplateSymbol template = (ITemplateSymbol) newSymbol;
newSymbol = (ISymbol) template.getContainedSymbols().get( template.getName() );
if( newSymbol.isType( ITypeInfo.t_template ) && newSymbol instanceof ITemplateSymbol ){
newSymbol = ((ITemplateSymbol) newSymbol).getTemplatedSymbol();
}
//the first thing can be a class-name or enumeration name, but the rest
@ -891,9 +890,8 @@ public class ParserSymbolTable {
//Iterator iter = origList.iterator();
ISymbol symbol = (ISymbol) origList.get(0);
int numSymbols = origList.size();
if( symbol.isType( ITypeInfo.t_template ) ){
IParameterizedSymbol template = (IParameterizedSymbol) symbol;
symbol = (ISymbol) template.getContainedSymbols().get( template.getName() );
if( symbol.isType( ITypeInfo.t_template ) && symbol instanceof ITemplateSymbol ){
symbol = ((ITemplateSymbol) symbol).getTemplatedSymbol();
}
boolean valid = isValidOverload( symbol, newSymbol );