package jetbrains.mps.debugger.api.lang.behavior;

/*Generated by MPS */

import jetbrains.mps.core.aspects.behaviour.BaseBehaviorAspectDescriptor;
import jetbrains.mps.core.aspects.behaviour.api.BHDescriptor;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.lang.smodel.ConceptSwitchIndex;
import jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;

public final class BehaviorAspectDescriptor extends BaseBehaviorAspectDescriptor {
  private final BHDescriptor myDebuggerReference__BehaviorDescriptor = new DebuggerReference__BehaviorDescriptor();
  private final BHDescriptor myConceptFunctionParameter_Debug_Project__BehaviorDescriptor = new ConceptFunctionParameter_Debug_Project__BehaviorDescriptor();
  private final BHDescriptor myConceptFunctionParameter_DebuggableNode__BehaviorDescriptor = new ConceptFunctionParameter_DebuggableNode__BehaviorDescriptor();
  private final BHDescriptor myConceptFunction_IsApplicableBreakpoint__BehaviorDescriptor = new ConceptFunction_IsApplicableBreakpoint__BehaviorDescriptor();
  private final BHDescriptor myConceptFunction_CreateBreakpoint__BehaviorDescriptor = new ConceptFunction_CreateBreakpoint__BehaviorDescriptor();
  private final BHDescriptor myGetDebuggerSettings_Function__BehaviorDescriptor = new GetDebuggerSettings_Function__BehaviorDescriptor();
  private final BHDescriptor myConceptFunctionParameter_Concept__BehaviorDescriptor = new ConceptFunctionParameter_Concept__BehaviorDescriptor();

  public BehaviorAspectDescriptor() {
  }

  @Nullable
  public BHDescriptor getDescriptor(@NotNull SAbstractConcept concept) {
    SAbstractConcept cncpt = concept;
    switch (conceptIndex.index(cncpt)) {
      case 0:
        return myConceptFunctionParameter_Concept__BehaviorDescriptor;
      case 1:
        return myConceptFunctionParameter_Debug_Project__BehaviorDescriptor;
      case 2:
        return myConceptFunctionParameter_DebuggableNode__BehaviorDescriptor;
      case 3:
        return myConceptFunction_CreateBreakpoint__BehaviorDescriptor;
      case 4:
        return myConceptFunction_IsApplicableBreakpoint__BehaviorDescriptor;
      case 5:
        return myDebuggerReference__BehaviorDescriptor;
      case 6:
        return myGetDebuggerSettings_Function__BehaviorDescriptor;
      default:
    }
    return null;
  }
  private static final ConceptSwitchIndex conceptIndex = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x79747203892d4ccdL), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x11a2c8c0148e628cL), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x11a2c8c0148e6290L), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x2bd07aa080dfb93aL), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x2b1681328a5d4b64L), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0xf528808f912d151L), MetaIdFactory.conceptId(0xfbc142795e2a4c87L, 0xa5d15f7061e6c456L, 0x5d457621242d18e2L)).seal();
}
