package NewLanguage.structure; /*Generated by MPS */ import jetbrains.mps.smodel.runtime.BaseStructureAspectDescriptor; import java.util.Map; import jetbrains.mps.smodel.adapter.ids.SConceptId; import java.util.HashMap; import jetbrains.mps.smodel.runtime.ConceptDescriptor; import java.util.Collection; import java.util.Arrays; import org.jetbrains.annotations.Nullable; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.adapter.structure.concept.SConceptAdapterById; import jetbrains.mps.smodel.adapter.structure.concept.SInterfaceConceptAdapterById; import jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder; import jetbrains.mps.smodel.adapter.ids.MetaIdFactory; import jetbrains.mps.smodel.SNodePointer; public class StructureAspectDescriptor extends BaseStructureAspectDescriptor { private final Map<SConceptId, Integer> myIndexMap = new HashMap<SConceptId, Integer>(1); /*package*/ final ConceptDescriptor myConceptABC = createDescriptorForABC(); public StructureAspectDescriptor() { myIndexMap.put(myConceptABC.getId(), 0); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptABC); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { Integer index = myIndexMap.get(id); if (index == null) { return null; } switch (((int) index)) { case 0: return myConceptABC; default: throw new IllegalStateException(); } } /*package*/ int internalIndex(SAbstractConcept c) { Integer res = null; if (c instanceof SConceptAdapterById) { res = myIndexMap.get(((SConceptAdapterById) c).getId()); } else if (c instanceof SInterfaceConceptAdapterById) { res = myIndexMap.get(((SInterfaceConceptAdapterById) c).getId()); } return (res == null ? -1 : res); } private static ConceptDescriptor createDescriptorForABC() { return new ConceptDescriptorBuilder("NewLanguage.structure.ABC", MetaIdFactory.conceptId(0x97be17effdbd4cefL, 0x902022bfd7ecab87L, 0x41516ee9df6334a3L)).super_("jetbrains.mps.lang.core.structure.BaseConcept").version(1).super_(MetaIdFactory.conceptId(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL)).parents("jetbrains.mps.lang.core.structure.BaseConcept", "jetbrains.mps.lang.core.structure.INamedConcept").parentIds(MetaIdFactory.conceptId(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL), MetaIdFactory.conceptId(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L)).rootable().sourceNode(new SNodePointer("r:6295b661-5e75-434c-ba0a-69b401f456e1(NewLanguage.structure)", "4706665036333135011")).create(); } }