package org.glassfish.gmbal.typelib;
import org.glassfish.pfl.basic.contain.ObjectSet;
public abstract class EvaluatedMethodDeclarationBase
extends EvaluatedDeclarationBase
implements EvaluatedMethodDeclaration {
@Override
public <R> R accept( Visitor<R> visitor ) {
return visitor.visitEvaluatedMethodDeclaration(this) ;
}
public void containingClass( EvaluatedClassDeclaration cdecl ) {
throw new IllegalArgumentException( "Operation not permitted" ) ;
}
void makeRepresentation( StringBuilder sb, ObjectSet set ) {
handleModifier( sb, modifiers() ) ;
sb.append( " " ) ;
sb.append( returnType().toString() ) ;
sb.append( " " ) ;
sb.append( name() ) ;
handleList( sb, "(",
castList( parameterTypes(), EvaluatedTypeBase.class ),
",", ")", set ) ;
}
public boolean myEquals( Object obj, ObjectSet set ) {
EvaluatedMethodDeclaration other = (EvaluatedMethodDeclaration)obj ;
if (!((EvaluatedTypeBase)returnType()).myEquals( other.returnType(), set )
|| !name().equals( other.name() ) ) {
return false ;
}
return equalList( parameterTypes(), other.parameterTypes(), set ) ;
}
@Override
public int hashCode( ObjectSet set ) {
return returnType().hashCode() ^
parameterTypes().hashCode() ^
name().hashCode() ;
}
}