Beispiel #1
0
 private boolean canExecute_internal(
     final KeyEvent keyEvent,
     final EditorContext editorContext,
     final SNode node,
     final List<SNode> selectedNodes) {
   if (ListSequence.fromList(selectedNodes).count() != 1) {
     return false;
   }
   if (SNodeOperations.getAncestorWhereConceptInList(
           node,
           new String[] {
             "jetbrains.mps.lang.generator.structure.TemplateDeclaration",
             "jetbrains.mps.lang.generator.structure.InlineTemplateWithContext_RuleConsequence"
           },
           false,
           false)
       == null) {
     return false;
   }
   if (ListSequence.fromList(SNodeOperations.getAncestors(node, null, false))
       .where(
           new IWhereFilter<SNode>() {
             public boolean accept(SNode it) {
               return SNodeOperations.isAttribute(it);
             }
           })
       .isNotEmpty()) {
     return false;
   }
   if (QueriesUtil.isInsideTemplateFragment(node)) {
     return false;
   }
   return true;
 }