package jetbrains.mps.lang.editor.menus.sideTransform.testLanguage.editor;

/*Generated by MPS */

import jetbrains.mps.nodeEditor.EditorAspectDescriptorBase;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import jetbrains.mps.openapi.editor.descriptor.ConceptEditor;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import java.util.Collections;
import jetbrains.mps.openapi.editor.descriptor.TransformationMenu;
import jetbrains.mps.openapi.editor.descriptor.NamedMenuId;
import java.util.Arrays;
import jetbrains.mps.lang.smodel.ConceptSwitchIndex;
import jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;

public class EditorAspectDescriptorImpl extends EditorAspectDescriptorBase {
  @NotNull
  public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) {
    SAbstractConcept cncpt = ((SAbstractConcept) concept);
    switch (conceptIndex.index(cncpt)) {
      case 0:
        return Collections.<ConceptEditor>singletonList(new TestSideTransform_NodeToReference_Editor());
      case 1:
        return Collections.<ConceptEditor>singletonList(new TestSideTransform_NodeWithReference_Editor());
      case 2:
        return Collections.<ConceptEditor>singletonList(new TestSideTransform_Root_Editor());
      case 3:
        return Collections.<ConceptEditor>singletonList(new TestSideTransform_SimpleNode_Editor());
      case 4:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionActionCanExecuteChild_Editor());
      case 5:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionActionDescriptionTextChild_Editor());
      case 6:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionActionGroupChild_Editor());
      case 7:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionActionIconChild_Editor());
      case 8:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionActionTextChild_Editor());
      case 9:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionIncludeMenuChild_Editor());
      case 10:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionParameterizedChild_Editor());
      case 11:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionParent_Editor());
      case 12:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionSubmenuChild_Editor());
      case 13:
        return Collections.<ConceptEditor>singletonList(new TestTransformExceptionWrapSubstituteMenuChild_Editor());
      default:
    }
    return Collections.<ConceptEditor>emptyList();
  }


  @NotNull
  @Override
  public Collection<TransformationMenu> getDeclaredDefaultTransformationMenus(SAbstractConcept concept) {
    SAbstractConcept cncpt = concept;
    switch (conceptIndex1.index(cncpt)) {
      case 0:
        return Collections.<TransformationMenu>singletonList(new TestSideTransform_SimpleNode_TransformationMenu());
      case 1:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionActionCanExecuteChild_TransformationMenu());
      case 2:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionActionDescriptionTextChild_TransformationMenu());
      case 3:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionActionGroupChild_TransformationMenu());
      case 4:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionActionIconChild_TransformationMenu());
      case 5:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionActionTextChild_TransformationMenu());
      case 6:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionIncludeMenuChild_TransformationMenu());
      case 7:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionParameterizedChild_TransformationMenu());
      case 8:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionSubmenuChild_TransformationMenu());
      case 9:
        return Collections.<TransformationMenu>singletonList(new TestTransformExceptionWrapSubstituteMenuChild_TransformationMenu());
      default:
    }
    return Collections.<TransformationMenu>emptyList();
  }
  @NotNull
  @Override
  public Collection<TransformationMenu> getDeclaredNamedTransformationMenus(NamedMenuId menuId) {
    SAbstractConcept cncpt = (SAbstractConcept) menuId.getConcept();
    switch (conceptIndex2.index(cncpt)) {
      case 0:
        if (true) {
          switch (menuId.getFqName()) {
            case "jetbrains.mps.lang.editor.menus.sideTransform.testLanguage.editor.TestSideTransform_NodeWithReference_CustomActions":
              return Arrays.asList(new TransformationMenu[]{new TestSideTransform_NodeWithReference_CustomActions()});
            default:
          }
        }
        break;
      case 1:
        if (true) {
          switch (menuId.getFqName()) {
            case "jetbrains.mps.lang.editor.menus.sideTransform.testLanguage.editor.TestSideTransform_SimpleNode_CustomActions":
              return Arrays.asList(new TransformationMenu[]{new TestSideTransform_SimpleNode_CustomActions()});
            default:
          }
        }
        break;
      default:
    }

    return Collections.<TransformationMenu>emptyList();
  }

  private static final ConceptSwitchIndex conceptIndex = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x38c885e4a7fcf788L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x38c885e4a7fcfbb8L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x56074a6f055ddb26L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x56074a6f055ddb27L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7d1L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f6L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7faL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f7L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f8L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7fbL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7fdL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x63457d5cb580f351L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1da6379L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1da76a8L)).seal();
  private static final ConceptSwitchIndex conceptIndex1 = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x56074a6f055ddb27L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7d1L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f6L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7faL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f7L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7f8L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7fbL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1d9c7fdL), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1da6379L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x7c48377ae1da76a8L)).seal();
  private static final ConceptSwitchIndex conceptIndex2 = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x38c885e4a7fcfbb8L), MetaIdFactory.conceptId(0x14a4b50159f64c39L, 0xb5de4a5d59477831L, 0x56074a6f055ddb27L)).seal();
}
