package jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.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 myConceptOtherSubconceptOfChild = createDescriptorForOtherSubconceptOfChild();
/*package*/ final ConceptDescriptor myConceptParent = createDescriptorForParent();
/*package*/ final ConceptDescriptor myConceptSubconceptOfChild = createDescriptorForSubconceptOfChild();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptChild, myConceptOtherSubconceptOfChild, myConceptParent, myConceptSubconceptOfChild);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.Child:
return myConceptChild;
case LanguageConceptSwitch.OtherSubconceptOfChild:
return myConceptOtherSubconceptOfChild;
case LanguageConceptSwitch.Parent:
return myConceptParent;
case LanguageConceptSwitch.SubconceptOfChild:
return myConceptSubconceptOfChild;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForChild() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage", "Child", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x4d6a8b533e60aa32L);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:965ddf1f-d8c1-4f52-b6c1-9bbaf0a8af5b(jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure)/5578424278096849458");
b.alias("child");
return b.create();
}
private static ConceptDescriptor createDescriptorForOtherSubconceptOfChild() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage", "OtherSubconceptOfChild", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x7d40c2eb5957a904L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure.Child", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x4d6a8b533e60aa32L);
b.origin("r:965ddf1f-d8c1-4f52-b6c1-9bbaf0a8af5b(jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure)/9025427969322494212");
return b.create();
}
private static ConceptDescriptor createDescriptorForParent() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage", "Parent", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x4d6a8b533e60aa4dL);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:965ddf1f-d8c1-4f52-b6c1-9bbaf0a8af5b(jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure)/5578424278096849485");
b.aggregate("children", 0x4d6a8b533e60aa58L).target(0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x4d6a8b533e60aa32L).optional(true).ordered(true).multiple(true).origin("5578424278096849496").done();
b.alias("parent");
return b.create();
}
private static ConceptDescriptor createDescriptorForSubconceptOfChild() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage", "SubconceptOfChild", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x1b49c84ee1cc743bL);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure.Child", 0x9a629f9aabc94c29L, 0xb1b8db7f349f7fbcL, 0x4d6a8b533e60aa32L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:965ddf1f-d8c1-4f52-b6c1-9bbaf0a8af5b(jetbrains.mps.lang.editor.menus.contextAssistant.testLanguage.structure)/1966322953445209147");
return b.create();
}
}