package jetbrains.mps.samples.highlevel.simpleStructure.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 myConceptCDHolder_GeneratorInternal = createDescriptorForCDHolder_GeneratorInternal();
/*package*/ final ConceptDescriptor myConceptSimpleConceptDeclaration = createDescriptorForSimpleConceptDeclaration();
/*package*/ final ConceptDescriptor myConceptSimplePropertyDeclaration = createDescriptorForSimplePropertyDeclaration();
/*package*/ final ConceptDescriptor myConceptStructureAspectDeclaration = createDescriptorForStructureAspectDeclaration();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptCDHolder_GeneratorInternal, myConceptSimpleConceptDeclaration, myConceptSimplePropertyDeclaration, myConceptStructureAspectDeclaration);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.CDHolder_GeneratorInternal:
return myConceptCDHolder_GeneratorInternal;
case LanguageConceptSwitch.SimpleConceptDeclaration:
return myConceptSimpleConceptDeclaration;
case LanguageConceptSwitch.SimplePropertyDeclaration:
return myConceptSimplePropertyDeclaration;
case LanguageConceptSwitch.StructureAspectDeclaration:
return myConceptStructureAspectDeclaration;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForCDHolder_GeneratorInternal() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.highlevel.simpleStructure", "CDHolder_GeneratorInternal", 0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x346ead2c08cdebd8L);
b.class_(false, false, false);
b.origin("r:e5107c9a-a05a-456e-bf48-05faadc7a98c(jetbrains.mps.samples.highlevel.simpleStructure.structure)/3778147542048304088");
b.aggregate("c", 0x346ead2c08cdebe5L).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L).optional(false).ordered(true).multiple(false).origin("3778147542048304101").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForSimpleConceptDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.highlevel.simpleStructure", "SimpleConceptDeclaration", 0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x460f3ddb176b0a3cL);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:e5107c9a-a05a-456e-bf48-05faadc7a98c(jetbrains.mps.samples.highlevel.simpleStructure.structure)/5048321718505638460");
b.aggregate("properties", 0x346ead2c08cc8029L).target(0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x346ead2c08cc7faeL).optional(true).ordered(true).multiple(true).origin("3778147542048210985").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForSimplePropertyDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.highlevel.simpleStructure", "SimplePropertyDeclaration", 0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x346ead2c08cc7faeL);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:e5107c9a-a05a-456e-bf48-05faadc7a98c(jetbrains.mps.samples.highlevel.simpleStructure.structure)/3778147542048210862");
return b.create();
}
private static ConceptDescriptor createDescriptorForStructureAspectDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.highlevel.simpleStructure", "StructureAspectDeclaration", 0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x346ead2c08cc7fc8L);
b.class_(false, false, true);
b.origin("r:e5107c9a-a05a-456e-bf48-05faadc7a98c(jetbrains.mps.samples.highlevel.simpleStructure.structure)/3778147542048210888");
b.aggregate("concepts", 0x346ead2c08cc7fd5L).target(0xbaa9238b36da4ccbL, 0xa76b8ad70e222183L, 0x460f3ddb176b0a3cL).optional(true).ordered(true).multiple(true).origin("3778147542048210901").done();
return b.create();
}
}