{
//
// Look for a super interface that is either a control interface or extension.
// If found, return it.
//
InterfaceType superType = getSuperType();
if (superType == null)
{
// At this point, we're processing the root of the interface heirarchy,
// which is not permitted to be a ControlExtension (that would imply a
// ControlExtension that wasn't actually extending a ControlInterface).
if ( isExtension() )
{
_ap.printError( _intfDecl, "control.extension.badinterface");
}
return null;
}
InterfaceDeclaration superDecl = superType.getDeclaration();
if ( superDecl != null )
{
if (superDecl.getAnnotation(ControlExtension.class) != null ||
superDecl.getAnnotation(ControlInterface.class) != null)
{