private ArrayList < AptEventSet > initEventSets ( ) { ArrayList < AptEventSet > eventSets = new ArrayList < AptEventSet > ( ) ; if ( _intfDecl == null || _intfDecl . getNestedTypes ( ) == null ) return eventSets ; for ( TypeDeclaration innerDecl : _intfDecl . getNestedTypes ( ) ) { // HACKHACK: There appear to be mirror API bugs where calling getAnnotation() // on certain entity types will result in an endless loop. For now, work around // this by a priori filtering... but this mechanism will drop errors that appear // on an inapropriate type (see check below) if ( ! ( innerDecl instanceof InterfaceDeclaration ) ) continue ; if ( innerDecl . getAnnotation ( EventSet . class ) != null ) { if ( ! ( innerDecl instanceof InterfaceDeclaration ) ) { _ap . printError ( innerDecl , "eventset.illegal.usage" ) ; } else { eventSets . add ( new AptEventSet ( this , ( InterfaceDeclaration ) innerDecl , _ap ) ) ; } } } return eventSets ; }
Initializes the list of EventSets declared by this AptControlInterface