package jetbrains.mps.lang.generator.generationContext.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 myTemplateFunctionParameter_generationContext__BehaviorDescriptor = new TemplateFunctionParameter_generationContext__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_SessionObjectAccess__BehaviorDescriptor = new GenerationContextOp_SessionObjectAccess__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_UserObjectAccessBase__BehaviorDescriptor = new GenerationContextOp_UserObjectAccessBase__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_StepObjectAccess__BehaviorDescriptor = new GenerationContextOp_StepObjectAccess__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_TransientObjectAccess__BehaviorDescriptor = new GenerationContextOp_TransientObjectAccess__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_LinkPatternRef__BehaviorDescriptor = new GenerationContextOp_LinkPatternRef__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_PropertyPatternRef__BehaviorDescriptor = new GenerationContextOp_PropertyPatternRef__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_PatternRef__BehaviorDescriptor = new GenerationContextOp_PatternRef__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_NodePatternRef__BehaviorDescriptor = new GenerationContextOp_NodePatternRef__BehaviorDescriptor();
  private final BHDescriptor myGenerationContextOp_ContextVarRef__BehaviorDescriptor = new GenerationContextOp_ContextVarRef__BehaviorDescriptor();

  public BehaviorAspectDescriptor() {
  }

  @Nullable
  public BHDescriptor getDescriptor(@NotNull SAbstractConcept concept) {
    SAbstractConcept cncpt = concept;
    switch (conceptIndex.index(cncpt)) {
      case 0:
        return myGenerationContextOp_ContextVarRef__BehaviorDescriptor;
      case 1:
        return myGenerationContextOp_LinkPatternRef__BehaviorDescriptor;
      case 2:
        return myGenerationContextOp_NodePatternRef__BehaviorDescriptor;
      case 3:
        return myGenerationContextOp_PatternRef__BehaviorDescriptor;
      case 4:
        return myGenerationContextOp_PropertyPatternRef__BehaviorDescriptor;
      case 5:
        return myGenerationContextOp_SessionObjectAccess__BehaviorDescriptor;
      case 6:
        return myGenerationContextOp_StepObjectAccess__BehaviorDescriptor;
      case 7:
        return myGenerationContextOp_TransientObjectAccess__BehaviorDescriptor;
      case 8:
        return myGenerationContextOp_UserObjectAccessBase__BehaviorDescriptor;
      case 9:
        return myTemplateFunctionParameter_generationContext__BehaviorDescriptor;
      default:
    }
    return null;
  }
  private static final ConceptSwitchIndex conceptIndex = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x671e792f3dbdfe7eL), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x186874d40ed9c757L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x3fb2d847d55fc21eL), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x186874d40edb6a16L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x186874d40ed9c758L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x11b8fe26de8L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x11b9023d290L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x11b90242983L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x11b8fe60348L), MetaIdFactory.conceptId(0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x11b5282d0e3L)).seal();
}
