package jetbrains.mps.lang.pattern.testLang.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;
import jetbrains.mps.smodel.runtime.ConceptKind;
import jetbrains.mps.smodel.runtime.StaticScope;
public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
/*package*/ final ConceptDescriptor myConceptListValue = createDescriptorForListValue();
/*package*/ final ConceptDescriptor myConceptPatternTest = createDescriptorForPatternTest();
/*package*/ final ConceptDescriptor myConceptPropertyValue = createDescriptorForPropertyValue();
/*package*/ final ConceptDescriptor myConceptTestListReference = createDescriptorForTestListReference();
/*package*/ final ConceptDescriptor myConceptTestPropertyVariableReference = createDescriptorForTestPropertyVariableReference();
/*package*/ final ConceptDescriptor myConceptTestVariableReference = createDescriptorForTestVariableReference();
/*package*/ final ConceptDescriptor myConceptVariableValue = createDescriptorForVariableValue();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptListValue, myConceptPatternTest, myConceptPropertyValue, myConceptTestListReference, myConceptTestPropertyVariableReference, myConceptTestVariableReference, myConceptVariableValue);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.ListValue:
return myConceptListValue;
case LanguageConceptSwitch.PatternTest:
return myConceptPatternTest;
case LanguageConceptSwitch.PropertyValue:
return myConceptPropertyValue;
case LanguageConceptSwitch.TestListReference:
return myConceptTestListReference;
case LanguageConceptSwitch.TestPropertyVariableReference:
return myConceptTestPropertyVariableReference;
case LanguageConceptSwitch.TestVariableReference:
return myConceptTestVariableReference;
case LanguageConceptSwitch.VariableValue:
return myConceptVariableValue;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForListValue() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "ListValue", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d0614aL);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/1563914226484928842");
b.aggregate("variable", 0x15b423b3f8d0614cL).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d0614bL).optional(false).ordered(true).multiple(false).origin("1563914226484928844").done();
b.aggregate("value", 0x15b423b3f8d0614dL).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(true).ordered(true).multiple(true).origin("1563914226484928845").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForPatternTest() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "PatternTest", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x78d6da5e3799eb08L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.parent(0xf61473f9130f42f6L, 0xb98d6c438812c2f6L, 0x11b2709bd56L);
b.parent(0xf61473f9130f42f6L, 0xb98d6c438812c2f6L, 0x11b27438a3dL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f43L);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/8707387027762047752");
b.aggregate("nodeToMatch", 0x78d6da5e3799eb09L).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(false).ordered(true).multiple(false).origin("8707387027762047753").done();
b.aggregate("pattern", 0x78d6da5e3799eb0aL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4791L).optional(false).ordered(true).multiple(false).origin("8707387027762047754").done();
b.aggregate("matches", 0x78d6da5e3799eb0bL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b201L).optional(false).ordered(true).multiple(false).origin("8707387027762047755").done();
b.aggregate("variable", 0x33c840a2af5d6e6cL).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x78d6da5e3799eb0eL).optional(true).ordered(true).multiple(true).origin("3731303358747471468").done();
b.aggregate("property", 0x15b423b3f8d042dbL).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d042b6L).optional(true).ordered(true).multiple(true).origin("1563914226484921051").done();
b.aggregate("list", 0x15b423b3f8d06233L).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d0614aL).optional(true).ordered(true).multiple(true).origin("1563914226484929075").done();
b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
return b.create();
}
private static ConceptDescriptor createDescriptorForPropertyValue() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "PropertyValue", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d042b6L);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/1563914226484921014");
b.aggregate("variable", 0x15b423b3f8d042b7L).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8cfebb8L).optional(false).ordered(true).multiple(false).origin("1563914226484921015").done();
b.aggregate("value", 0x15b423b3f8d042b8L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93d565d10L).optional(false).ordered(true).multiple(false).origin("1563914226484921016").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForTestListReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "TestListReference", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8d0614bL);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/1563914226484928843");
b.associate("listPattern", 0x15b423b3f8d06220L).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108aa36731aL).optional(false).origin("1563914226484929056").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForTestPropertyVariableReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "TestPropertyVariableReference", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x15b423b3f8cfebb8L);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/1563914226484898744");
b.associate("declaration", 0x15b423b3f8cfebbeL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4795L).optional(false).origin("1563914226484898750").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForTestVariableReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "TestVariableReference", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x78d6da5e3799eb11L);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/8707387027762047761");
b.associate("declaration", 0x78d6da5e3799eb12L).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L).optional(false).origin("8707387027762047762").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForVariableValue() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern.testLang", "VariableValue", 0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x78d6da5e3799eb0eL);
b.class_(false, false, false);
b.origin("r:7336929d-3d95-43d0-b2df-fd38af21ae45(jetbrains.mps.lang.pattern.testLang.structure)/8707387027762047758");
b.aggregate("value", 0x33c840a2af5d6e69L).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(false).ordered(true).multiple(false).origin("3731303358747471465").done();
b.aggregate("variable", 0x78d6da5e3799eb0fL).target(0x5206c8887c5d4275L, 0xbc0a7c4da12f46e8L, 0x78d6da5e3799eb11L).optional(false).ordered(true).multiple(false).origin("8707387027762047759").done();
return b.create();
}
}