package NewLanguage2.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 myConceptABC2 = createDescriptorForABC2();
public StructureAspectDescriptor() {
myIndexMap.put(myConceptABC2.getId(), 0);
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptABC2);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
Integer index = myIndexMap.get(id);
if (index == null) {
return null;
}
switch (((int) index)) {
case 0:
return myConceptABC2;
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 createDescriptorForABC2() {
return new ConceptDescriptorBuilder("NewLanguage2.structure.ABC2", MetaIdFactory.conceptId(0x9d4153a9a1004911L, 0x9688094a7ba99d12L, 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:d9728a19-482f-432e-84d2-8149eb740846(NewLanguage2.structure)", "4706665036333135011")).create();
}
}