package jetbrains.mps.lang.smodelTests.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 myConceptChildSubConcept = createDescriptorForChildSubConcept(); /*package*/ final ConceptDescriptor myConceptGrandChild = createDescriptorForGrandChild(); /*package*/ final ConceptDescriptor myConceptReferenceContainer = createDescriptorForReferenceContainer(); /*package*/ final ConceptDescriptor myConceptReferenceContainerSubConcept = createDescriptorForReferenceContainerSubConcept(); /*package*/ final ConceptDescriptor myConceptRoot = createDescriptorForRoot(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptChild, myConceptChildSubConcept, myConceptGrandChild, myConceptReferenceContainer, myConceptReferenceContainerSubConcept, myConceptRoot); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.Child: return myConceptChild; case LanguageConceptSwitch.ChildSubConcept: return myConceptChildSubConcept; case LanguageConceptSwitch.GrandChild: return myConceptGrandChild; case LanguageConceptSwitch.ReferenceContainer: return myConceptReferenceContainer; case LanguageConceptSwitch.ReferenceContainerSubConcept: return myConceptReferenceContainerSubConcept; 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("jetbrains.mps.lang.smodelTests", "Child", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL); b.class_(false, false, false); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/278471160714141631"); b.aggregate("grandChild_0_1", 0x3dd540b968e9fc0L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc4L).optional(true).ordered(true).multiple(false).origin("278471160714141632").done(); b.aggregate("grandChild_1", 0x3dd540b968e9fc1L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc4L).optional(false).ordered(true).multiple(false).origin("278471160714141633").done(); b.aggregate("grandChild_0_n", 0x3dd540b968e9fc2L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc4L).optional(true).ordered(true).multiple(true).origin("278471160714141634").done(); b.aggregate("grandChild_1_n", 0x3dd540b968e9fc3L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc4L).optional(false).ordered(true).multiple(true).origin("278471160714141635").done(); return b.create(); } private static ConceptDescriptor createDescriptorForChildSubConcept() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.smodelTests", "ChildSubConcept", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x7a02788de4ab4dL); b.class_(false, false, false); b.super_("jetbrains.mps.lang.smodelTests.structure.Child", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/34342663958604621"); return b.create(); } private static ConceptDescriptor createDescriptorForGrandChild() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.smodelTests", "GrandChild", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc4L); b.class_(false, false, false); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/278471160714141636"); return b.create(); } private static ConceptDescriptor createDescriptorForReferenceContainer() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.smodelTests", "ReferenceContainer", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x798c0d67da965ac6L); b.class_(false, false, false); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f42L); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/8758390115028851398"); b.associate("root", 0x798c0d67da965ac7L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc5L).optional(false).origin("8758390115028851399").done(); b.associate("leftChild", 0x798c0d67da965ac8L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL).optional(true).origin("8758390115028851400").done(); b.associate("rightChild", 0x798c0d67da965ac9L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL).optional(true).origin("8758390115028851401").done(); return b.create(); } private static ConceptDescriptor createDescriptorForReferenceContainerSubConcept() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.smodelTests", "ReferenceContainerSubConcept", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x279bb63b8ca8b7feL); b.class_(false, false, false); b.super_("jetbrains.mps.lang.smodelTests.structure.ReferenceContainer", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x798c0d67da965ac6L); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/2854075155748534270"); return b.create(); } private static ConceptDescriptor createDescriptorForRoot() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.smodelTests", "Root", 0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fc5L); b.class_(false, false, false); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f42L); b.origin("r:43b4d418-d4ca-4d97-ab07-31e4f3ddb3e5(jetbrains.mps.lang.smodelTests.structure)/278471160714141637"); b.aggregate("child_0_n", 0x3dd540b968e9fc6L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL).optional(true).ordered(true).multiple(true).origin("278471160714141638").done(); b.aggregate("child_1_n", 0x3dd540b968e9fc7L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x3dd540b968e9fbfL).optional(false).ordered(true).multiple(true).origin("278471160714141639").done(); b.aggregate("childSubConcept_0_n", 0x7a02788de4ab50L).target(0xb02ae39f4c164545L, 0x8dfa88df16804e7eL, 0x7a02788de4ab4dL).optional(true).ordered(true).multiple(true).origin("34342663958604624").done(); return b.create(); } }