package jetbrains.mps.samples.readerConfigLanguage.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 myConceptField = createDescriptorForField();
/*package*/ final ConceptDescriptor myConceptMapping = createDescriptorForMapping();
/*package*/ final ConceptDescriptor myConceptReaderConfiguration = createDescriptorForReaderConfiguration();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptField, myConceptMapping, myConceptReaderConfiguration);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.Field:
return myConceptField;
case LanguageConceptSwitch.Mapping:
return myConceptMapping;
case LanguageConceptSwitch.ReaderConfiguration:
return myConceptReaderConfiguration;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForField() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.readerConfigLanguage", "Field", 0x89e26c5bfc34a60L, 0x9953f68169a4608aL, 0x103f6ab7909L);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590436(jetbrains.mps.samples.readerConfigLanguage.structure)/1116534962441");
b.prop("start", 0x103f6ac7723L, "1116535027491");
b.prop("end", 0x103f6ac8b77L, "1116535032695");
return b.create();
}
private static ConceptDescriptor createDescriptorForMapping() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.readerConfigLanguage", "Mapping", 0x89e26c5bfc34a60L, 0x9953f68169a4608aL, 0x103f6aabc30L);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590436(jetbrains.mps.samples.readerConfigLanguage.structure)/1116534914096");
b.prop("code", 0x103f6abdf46L, "1116534988614");
b.prop("targetClass", 0x103f6ac00e8L, "1116534997224");
b.aggregate("field", 0x103f6b56dcdL).target(0x89e26c5bfc34a60L, 0x9953f68169a4608aL, 0x103f6ab7909L).optional(true).ordered(true).multiple(true).origin("1116535614925").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForReaderConfiguration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.readerConfigLanguage", "ReaderConfiguration", 0x89e26c5bfc34a60L, 0x9953f68169a4608aL, 0x103f6aa11b7L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590436(jetbrains.mps.samples.readerConfigLanguage.structure)/1116534870455");
b.aggregate("mapping", 0x103f6af233bL).target(0x89e26c5bfc34a60L, 0x9953f68169a4608aL, 0x103f6aabc30L).optional(true).ordered(true).multiple(true).origin("1116535202619").done();
return b.create();
}
}