package jetbrains.mps.baseLanguage.constructors.structure;

/*Generated by MPS */

import jetbrains.mps.lang.smodel.LanguageConceptIndex;
import jetbrains.mps.lang.smodel.LanguageConceptIndexBuilder;
import jetbrains.mps.smodel.adapter.ids.SConceptId;
import org.jetbrains.mps.openapi.language.SAbstractConcept;

public final class LanguageConceptSwitch {
  private final LanguageConceptIndex myIndex;
  public static final int ArgumentClause = 0;
  public static final int CustomArgumentClause = 1;
  public static final int CustomConstructor = 2;
  public static final int CustomConstructorContainer = 3;
  public static final int CustomConstructorParameter = 4;
  public static final int CustomConstructorParameterReference = 5;
  public static final int CustomConstructorUsage = 6;
  public static final int ListArgumentsClause = 7;
  public static final int ListCustomParameter = 8;
  public static final int ListParameterReference = 9;

  public LanguageConceptSwitch() {
    LanguageConceptIndexBuilder builder = new LanguageConceptIndexBuilder(0xae47ad35abd486cL, 0xac0f298884f39393L);
    builder.put(0x4aa85872b742b6b7L, ArgumentClause);
    builder.put(0x4aa85872b742b6baL, CustomArgumentClause);
    builder.put(0x7500da2cf0943c2L, CustomConstructor);
    builder.put(0x7500da2cf0943c1L, CustomConstructorContainer);
    builder.put(0x4aa85872b7431819L, CustomConstructorParameter);
    builder.put(0x4aa85872b745ce64L, CustomConstructorParameterReference);
    builder.put(0x5ea800dcf8ca1ca6L, CustomConstructorUsage);
    builder.put(0x4aa85872b742b6b9L, ListArgumentsClause);
    builder.put(0x41c47a5073807afbL, ListCustomParameter);
    builder.put(0x41c47a50737ea2a7L, ListParameterReference);
    myIndex = builder.seal();
  }

  /*package*/ int index(SConceptId cid) {
    return myIndex.index(cid);
  }

  public int index(SAbstractConcept concept) {
    return myIndex.index(concept);
  }
}
