Community
Participate
Working Groups
ClassStatementContext have very simple detection. It check enclosingElement and if it's non-namespace IType returns true. Because it's exclusive, will be auto disabled in case when any other exists, for example ClassImplementsContext. For this cases, contexts not exists: interface | {} interface T| {} trait | {} trait T| {} So constants (bug 477260) or public/private.. keywords will be reported. We should create contexts similar to ClassDeclarationContext for such cases.
Situation has been changed a little bit. For now exists specialised contexts for class/interface declaration header body is covered via one context for everything: TypeStatementContext For traits we haven't special CA in declaration, we should have: 1. support for "extends" keyword in header (similar to InterfaceDeclarationKeywordContext) 2. trait list CA after "extends'