package jetbrains.mps.baseLanguageInternal.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 ConstantValue = 0;
  public static final int ExtractStatementListExpression = 1;
  public static final int ExtractStatementListInnerExpression = 2;
  public static final int ExtractStaticInnerClassConcept = 3;
  public static final int ExtractStaticInnerClassCreator = 4;
  public static final int ExtractStaticInnerClassExpression = 5;
  public static final int ExtractStaticMethodExpression = 6;
  public static final int ExtractStaticMethod_CallExpression = 7;
  public static final int ExtractToConstantExpression = 8;
  public static final int ExtractToConstantRefExpression = 9;
  public static final int ExtractToSingleConstantExpression = 10;
  public static final int InternalAnonymousClass = 11;
  public static final int InternalAnonymousClassCreator = 12;
  public static final int InternalClassCreator = 13;
  public static final int InternalClassExpression = 14;
  public static final int InternalClassifierType = 15;
  public static final int InternalLambdaExpression = 16;
  public static final int InternalNewExpression = 17;
  public static final int InternalPartialFieldReference = 18;
  public static final int InternalPartialInstanceMethodCall = 19;
  public static final int InternalStaticFieldReference = 20;
  public static final int InternalStaticMethodCall = 21;
  public static final int InternalSuperMethodCallOperation = 22;
  public static final int InternalThisExpression = 23;
  public static final int InternalTypedStaticFieldReference = 24;
  public static final int InternalVariableReference = 25;
  public static final int WeakClassReference = 26;

  public LanguageConceptSwitch() {
    LanguageConceptIndexBuilder builder = new LanguageConceptIndexBuilder(0xdf345b11b8c74213L, 0xac6648d2a9b75d88L);
    builder.put(0x16007da97856bd8aL, ConstantValue);
    builder.put(0x2c5dbc7b762fd2a7L, ExtractStatementListExpression);
    builder.put(0x2c5dbc7b763512c9L, ExtractStatementListInnerExpression);
    builder.put(0xd01bb6e8b1cd97aL, ExtractStaticInnerClassConcept);
    builder.put(0x50cc34ef144c9181L, ExtractStaticInnerClassCreator);
    builder.put(0x6b63d4344723dac8L, ExtractStaticInnerClassExpression);
    builder.put(0x31c3f88088ea0ac4L, ExtractStaticMethodExpression);
    builder.put(0x31c3f88088ed999aL, ExtractStaticMethod_CallExpression);
    builder.put(0x1204d897032L, ExtractToConstantExpression);
    builder.put(0x162724dabcdc671L, ExtractToConstantRefExpression);
    builder.put(0x4460846a234a2626L, ExtractToSingleConstantExpression);
    builder.put(0x2f7b79225e746809L, InternalAnonymousClass);
    builder.put(0x2f7b79225e746808L, InternalAnonymousClassCreator);
    builder.put(0xf46f1c42ee50930L, InternalClassCreator);
    builder.put(0x1117461827dL, InternalClassExpression);
    builder.put(0x1118e558c6dL, InternalClassifierType);
    builder.put(0x2e340d59f2201f2cL, InternalLambdaExpression);
    builder.put(0x11157a3736dL, InternalNewExpression);
    builder.put(0x1122dd58737L, InternalPartialFieldReference);
    builder.put(0x1116962fa68L, InternalPartialInstanceMethodCall);
    builder.put(0x11157912ec1L, InternalStaticFieldReference);
    builder.put(0x1115749abe3L, InternalStaticMethodCall);
    builder.put(0x33c9311d003a97d3L, InternalSuperMethodCallOperation);
    builder.put(0x1180ebdd5b4L, InternalThisExpression);
    builder.put(0x7232370459dfc310L, InternalTypedStaticFieldReference);
    builder.put(0x111fb5bb1f2L, InternalVariableReference);
    builder.put(0x7a00a2a7a8b080daL, WeakClassReference);
    myIndex = builder.seal();
  }

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

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