package jetbrains.mps.lang.feedback.problem.structure;

/*Generated by MPS */

import jetbrains.mps.smodel.runtime.ConceptPresentationAspectBase;
import jetbrains.mps.smodel.runtime.ConceptPresentation;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.runtime.ConceptPresentationBuilder;

public class ConceptPresentationAspectImpl extends ConceptPresentationAspectBase {
  private ConceptPresentation props_Problem;
  private ConceptPresentation props_ProblemKind;
  private ConceptPresentation props_ProblemPointsToKindRoot;

  @Override
  @Nullable
  public ConceptPresentation getDescriptor(SAbstractConcept c) {
    StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
    switch (structureDescriptor.internalIndex(c)) {
      case LanguageConceptSwitch.Problem:
        if (props_Problem == null) {
          ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
          props_Problem = cpb.create();
        }
        return props_Problem;
      case LanguageConceptSwitch.ProblemKind:
        if (props_ProblemKind == null) {
          ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
          cpb.presentationByName();
          props_ProblemKind = cpb.create();
        }
        return props_ProblemKind;
      case LanguageConceptSwitch.ProblemPointsToKindRoot:
        if (props_ProblemPointsToKindRoot == null) {
          ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
          cpb.presentationByReference(0x33598a476a947e1L, 0xac89a300c0fceab8L, 0x6b178cfa773dc73aL, 0x6b178cfa773dc73bL, "kind", "", "");
          props_ProblemPointsToKindRoot = cpb.create();
        }
        return props_ProblemPointsToKindRoot;
    }
    return null;
  }
}
