package MultiTarget.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 myConceptContainer = createDescriptorForContainer(); /*package*/ final ConceptDescriptor myConceptMember = createDescriptorForMember(); /*package*/ final ConceptDescriptor myConceptNumericValue = createDescriptorForNumericValue(); /*package*/ final ConceptDescriptor myConceptStringValue = createDescriptorForStringValue(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptContainer, myConceptMember, myConceptNumericValue, myConceptStringValue); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.Container: return myConceptContainer; case LanguageConceptSwitch.Member: return myConceptMember; case LanguageConceptSwitch.NumericValue: return myConceptNumericValue; case LanguageConceptSwitch.StringValue: return myConceptStringValue; default: return null; } } /*package*/ int internalIndex(SAbstractConcept c) { return myConceptIndex.index(c); } private static ConceptDescriptor createDescriptorForContainer() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("MultiTarget", "Container", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf1dL); b.class_(false, false, true); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L); b.origin("r:9f12744a-a702-440b-b5fb-61597de1c627(MultiTarget.structure)/852022627621592861"); b.aggregate("members", 0xbd2fe10cbfadf21L).target(0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf20L).optional(true).ordered(true).multiple(true).origin("852022627621592865").done(); b.alias("container"); return b.create(); } private static ConceptDescriptor createDescriptorForMember() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("MultiTarget", "Member", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf20L); b.class_(false, true, false); b.origin("r:9f12744a-a702-440b-b5fb-61597de1c627(MultiTarget.structure)/852022627621592864"); return b.create(); } private static ConceptDescriptor createDescriptorForNumericValue() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("MultiTarget", "NumericValue", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf8dL); b.class_(false, false, false); b.super_("MultiTarget.structure.Member", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf20L); b.origin("r:9f12744a-a702-440b-b5fb-61597de1c627(MultiTarget.structure)/852022627621592973"); b.prop("value", 0xbd2fe10cbfadf8eL, "852022627621592974"); b.alias("numeric value"); return b.create(); } private static ConceptDescriptor createDescriptorForStringValue() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("MultiTarget", "StringValue", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf5fL); b.class_(false, false, false); b.super_("MultiTarget.structure.Member", 0x42cb30372cd244e7L, 0x8fe7254f0c50f311L, 0xbd2fe10cbfadf20L); b.origin("r:9f12744a-a702-440b-b5fb-61597de1c627(MultiTarget.structure)/852022627621592927"); b.prop("value", 0xbd2fe10cbfadf60L, "852022627621592928"); b.alias("string value"); return b.create(); } }