package jetbrains.mps.baseLanguage.kotlinRefs.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 myKotlinClassCreator__BehaviorDescriptor = new KotlinClassCreator__BehaviorDescriptor();
  private final BHDescriptor myIKotlinFunctionLikeCall__BehaviorDescriptor = new IKotlinFunctionLikeCall__BehaviorDescriptor();
  private final BHDescriptor myKotlinFunctionArgument__BehaviorDescriptor = new KotlinFunctionArgument__BehaviorDescriptor();
  private final BHDescriptor myKotlinFileClassifierType__BehaviorDescriptor = new KotlinFileClassifierType__BehaviorDescriptor();
  private final BHDescriptor myIKotlinFunctionCall__BehaviorDescriptor = new IKotlinFunctionCall__BehaviorDescriptor();
  private final BHDescriptor myKotlinFunctionCall__BehaviorDescriptor = new KotlinFunctionCall__BehaviorDescriptor();
  private final BHDescriptor myKotlinPropertySetterCall__BehaviorDescriptor = new KotlinPropertySetterCall__BehaviorDescriptor();
  private final BHDescriptor myKotlinPropertyGetterCall__BehaviorDescriptor = new KotlinPropertyGetterCall__BehaviorDescriptor();
  private final BHDescriptor myKotlinTypeParameterReference__BehaviorDescriptor = new KotlinTypeParameterReference__BehaviorDescriptor();
  private final BHDescriptor myKotlinClassifierType__BehaviorDescriptor = new KotlinClassifierType__BehaviorDescriptor();

  public BehaviorAspectDescriptor() {
  }

  @Nullable
  public BHDescriptor getDescriptor(@NotNull SAbstractConcept concept) {
    SAbstractConcept cncpt = concept;
    switch (conceptIndex.index(cncpt)) {
      case 0:
        return myIKotlinFunctionCall__BehaviorDescriptor;
      case 1:
        return myIKotlinFunctionLikeCall__BehaviorDescriptor;
      case 2:
        return myKotlinClassCreator__BehaviorDescriptor;
      case 3:
        return myKotlinClassifierType__BehaviorDescriptor;
      case 4:
        return myKotlinFileClassifierType__BehaviorDescriptor;
      case 5:
        return myKotlinFunctionArgument__BehaviorDescriptor;
      case 6:
        return myKotlinFunctionCall__BehaviorDescriptor;
      case 7:
        return myKotlinPropertyGetterCall__BehaviorDescriptor;
      case 8:
        return myKotlinPropertySetterCall__BehaviorDescriptor;
      case 9:
        return myKotlinTypeParameterReference__BehaviorDescriptor;
      default:
    }
    return null;
  }
  private static final ConceptSwitchIndex conceptIndex = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x17400fc2a348282eL), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0xeac1f33ddc380f3L), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0xeac1f33ddc2e9d2L), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x68fcefc6c20b5c6cL), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x13429f603fcbe305L), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0xeac1f33ddd3d84dL), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x2196e93e834d57ccL), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x459f9eebcf0e5fc2L), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x3569a755572a0ffbL), MetaIdFactory.conceptId(0x2405a196e75d462cL, 0x938bae8e3fac20aaL, 0x4c40dac702493da9L)).seal();
}
