package testCustomAnalyzer.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 myConceptChild = createDescriptorForChild(); /*package*/ final ConceptDescriptor myConceptOtherChild = createDescriptorForOtherChild(); /*package*/ final ConceptDescriptor myConceptOtherRoot = createDescriptorForOtherRoot(); /*package*/ final ConceptDescriptor myConceptOtherSubChild = createDescriptorForOtherSubChild(); /*package*/ final ConceptDescriptor myConceptRoot = createDescriptorForRoot(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptChild, myConceptOtherChild, myConceptOtherRoot, myConceptOtherSubChild, myConceptRoot); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.Child: return myConceptChild; case LanguageConceptSwitch.OtherChild: return myConceptOtherChild; case LanguageConceptSwitch.OtherRoot: return myConceptOtherRoot; case LanguageConceptSwitch.OtherSubChild: return myConceptOtherSubChild; case LanguageConceptSwitch.Root: return myConceptRoot; default: return null; } } /*package*/ int internalIndex(SAbstractConcept c) { return myConceptIndex.index(c); } private static ConceptDescriptor createDescriptorForChild() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testCustomAnalyzer", "Child", 0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x73a316f7f5468ed5L); b.class_(false, false, false); b.origin("r:c1c38648-eb71-424b-8ade-f463a1eb273d(testCustomAnalyzer.structure)/8332528989793324757"); return b.create(); } private static ConceptDescriptor createDescriptorForOtherChild() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testCustomAnalyzer", "OtherChild", 0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x623d57b40400d6bbL); b.class_(false, false, false); b.origin("r:c1c38648-eb71-424b-8ade-f463a1eb273d(testCustomAnalyzer.structure)/7078910619969181371"); b.aggregate("child", 0x623d57b40400d6faL).target(0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x623d57b40400d6bcL).optional(true).ordered(true).multiple(false).origin("7078910619969181434").done(); return b.create(); } private static ConceptDescriptor createDescriptorForOtherRoot() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testCustomAnalyzer", "OtherRoot", 0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x623d57b40400d6baL); b.class_(false, false, true); b.origin("r:c1c38648-eb71-424b-8ade-f463a1eb273d(testCustomAnalyzer.structure)/7078910619969181370"); b.aggregate("child", 0x623d57b40400d6bdL).target(0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x623d57b40400d6bbL).optional(true).ordered(true).multiple(true).origin("7078910619969181373").done(); return b.create(); } private static ConceptDescriptor createDescriptorForOtherSubChild() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testCustomAnalyzer", "OtherSubChild", 0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x623d57b40400d6bcL); b.class_(false, false, false); b.origin("r:c1c38648-eb71-424b-8ade-f463a1eb273d(testCustomAnalyzer.structure)/7078910619969181372"); return b.create(); } private static ConceptDescriptor createDescriptorForRoot() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testCustomAnalyzer", "Root", 0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x73a316f7f5468ed4L); b.class_(false, false, true); b.origin("r:c1c38648-eb71-424b-8ade-f463a1eb273d(testCustomAnalyzer.structure)/8332528989793324756"); b.prop("maxChildCount", 0x73a316f7f548c73dL, "8332528989793470269"); b.prop("initialCounter", 0x73a316f7f548c742L, "8332528989793470274"); b.aggregate("child", 0x73a316f7f5468ed6L).target(0xb124c25e1e164432L, 0xad5e0ac0ecae98f5L, 0x73a316f7f5468ed5L).optional(true).ordered(true).multiple(true).origin("8332528989793324758").done(); return b.create(); } }