protected BlockExpressionContextDescription getBlockExpressionContextDescription ( ) { for ( final CodeElementExtractor . ElementDescription containerDescription : getCodeElementExtractor ( ) . getTopElements ( getGrammar ( ) , getCodeBuilderConfig ( ) ) ) { if ( ! getCodeBuilderConfig ( ) . getNoActionBodyTypes ( ) . contains ( containerDescription . getName ( ) ) ) { final AbstractRule rule = getMemberRule ( containerDescription ) ; if ( rule != null ) { final BlockExpressionContextDescription description = getCodeElementExtractor ( ) . visitMemberElements ( containerDescription , rule , null , ( it , grammarContainer , memberContainer , classifier ) -> { final Assignment expressionAssignment = findAssignmentFromTerminalPattern ( memberContainer , getExpressionConfig ( ) . getBlockExpressionGrammarPattern ( ) ) ; final CodeElementExtractor . ElementDescription memberDescription = it . newElementDescription ( classifier . getName ( ) , memberContainer , classifier , XExpression . class ) ; final String keyword = ensureMemberDeclarationKeyword ( memberDescription ) ; if ( expressionAssignment != null && keyword != null ) { return new BlockExpressionContextDescription ( containerDescription , memberDescription , ensureContainerKeyword ( containerDescription . getGrammarComponent ( ) ) , keyword , expressionAssignment ) ; } return null ; } , null ) ; if ( description != null ) { return description ; } } } } return null ; }
Replies the description of the block expression context .