package jetbrains.mps.lang.traceable.structure; /*Generated by MPS */ import jetbrains.mps.smodel.runtime.BaseStructureAspectDescriptor; import jetbrains.mps.smodel.runtime.ConceptDescriptor; import java.util.Collection; import java.util.Arrays; import org.jetbrains.annotations.Nullable; import jetbrains.mps.smodel.adapter.ids.SConceptId; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2; public class StructureAspectDescriptor extends BaseStructureAspectDescriptor { /*package*/ final ConceptDescriptor myConceptScopeConcept = createDescriptorForScopeConcept(); /*package*/ final ConceptDescriptor myConceptTraceableConcept = createDescriptorForTraceableConcept(); /*package*/ final ConceptDescriptor myConceptUnitConcept = createDescriptorForUnitConcept(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptScopeConcept, myConceptTraceableConcept, myConceptUnitConcept); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.ScopeConcept: return myConceptScopeConcept; case LanguageConceptSwitch.TraceableConcept: return myConceptTraceableConcept; case LanguageConceptSwitch.UnitConcept: return myConceptUnitConcept; default: return null; } } /*package*/ int internalIndex(SAbstractConcept c) { return myConceptIndex.index(c); } private static ConceptDescriptor createDescriptorForScopeConcept() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.traceable", "ScopeConcept", 0x9ded098bad6a4657L, 0xbfd948636cfe8bc3L, 0x465516cf87c705a2L); b.interface_(); b.origin("r:3b7ed80f-6cfd-45bc-b051-2f66c620dd27(jetbrains.mps.lang.traceable.structure)/5067982036267369890"); return b.create(); } private static ConceptDescriptor createDescriptorForTraceableConcept() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.traceable", "TraceableConcept", 0x9ded098bad6a4657L, 0xbfd948636cfe8bc3L, 0x465516cf87c705a3L); b.interface_(); b.origin("r:3b7ed80f-6cfd-45bc-b051-2f66c620dd27(jetbrains.mps.lang.traceable.structure)/5067982036267369891"); return b.create(); } private static ConceptDescriptor createDescriptorForUnitConcept() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.traceable", "UnitConcept", 0x9ded098bad6a4657L, 0xbfd948636cfe8bc3L, 0x465516cf87c705a4L); b.interface_(); b.origin("r:3b7ed80f-6cfd-45bc-b051-2f66c620dd27(jetbrains.mps.lang.traceable.structure)/5067982036267369892"); return b.create(); } }