package jetbrains.mps.samples.Kaja.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 AbstractCommand = 0;
  public static final int CommandList = 1;
  public static final int CommentLine = 2;
  public static final int Direction = 3;
  public static final int Drop = 4;
  public static final int East = 5;
  public static final int EmptyLine = 6;
  public static final int Heading = 7;
  public static final int IfStatement = 8;
  public static final int IsFull = 9;
  public static final int IsMark = 10;
  public static final int IsWall = 11;
  public static final int LeftTurn = 12;
  public static final int Library = 13;
  public static final int LogicalExpression = 14;
  public static final int Looking = 15;
  public static final int North = 16;
  public static final int Not = 17;
  public static final int Pick = 18;
  public static final int Repeat = 19;
  public static final int Require = 20;
  public static final int RoutineCall = 21;
  public static final int RoutineDefinition = 22;
  public static final int Script = 23;
  public static final int South = 24;
  public static final int Step = 25;
  public static final int TraceMessage = 26;
  public static final int West = 27;
  public static final int While = 28;

  public LanguageConceptSwitch() {
    LanguageConceptIndexBuilder builder = new LanguageConceptIndexBuilder(0x49a08c51fe543ccL, 0xbd998b46d641d7f5L);
    builder.put(0x2d523c5e4cc4574aL, AbstractCommand);
    builder.put(0x2de971c785f06a3fL, CommandList);
    builder.put(0x58e59ea713fa2b43L, CommentLine);
    builder.put(0x2de971c785ed0d39L, Direction);
    builder.put(0x58e59ea713f79f27L, Drop);
    builder.put(0x2de971c785ed0d41L, East);
    builder.put(0x2de971c785ee0a16L, EmptyLine);
    builder.put(0x2de971c785ed2c41L, Heading);
    builder.put(0x2de971c785ec9fbeL, IfStatement);
    builder.put(0xbebd01a737bec18L, IsFull);
    builder.put(0x58e59ea713f89fe6L, IsMark);
    builder.put(0x2de971c785eca02cL, IsWall);
    builder.put(0x2de971c785ec9f8bL, LeftTurn);
    builder.put(0x3cfcda239f19d316L, Library);
    builder.put(0x2de971c785ec9fc1L, LogicalExpression);
    builder.put(0x61fd16e423a38042L, Looking);
    builder.put(0x2de971c785ed0d3bL, North);
    builder.put(0x2de971c785ecb8b0L, Not);
    builder.put(0x58e59ea713f85f1dL, Pick);
    builder.put(0x2de971c785ecd14cL, Repeat);
    builder.put(0x3cfcda239f1a1049L, Require);
    builder.put(0x2de971c785ed6f92L, RoutineCall);
    builder.put(0x2de971c785ed6f79L, RoutineDefinition);
    builder.put(0x2d523c5e4cc45746L, Script);
    builder.put(0x2de971c785ed0d4bL, South);
    builder.put(0x2d523c5e4cc45762L, Step);
    builder.put(0x2c8eb033a8375aeeL, TraceMessage);
    builder.put(0x2de971c785ed2c3cL, West);
    builder.put(0x2de971c785ecece0L, While);
    myIndex = builder.seal();
  }

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

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