package jetbrains.mps.lang.pattern.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 myConceptActionAsPattern = createDescriptorForActionAsPattern();
/*package*/ final ConceptDescriptor myConceptActionStatement = createDescriptorForActionStatement();
/*package*/ final ConceptDescriptor myConceptAsPattern = createDescriptorForAsPattern();
/*package*/ final ConceptDescriptor myConceptGeneratorInternal_ChildDescriptor = createDescriptorForGeneratorInternal_ChildDescriptor();
/*package*/ final ConceptDescriptor myConceptGeneratorInternal_PropertyDescriptor = createDescriptorForGeneratorInternal_PropertyDescriptor();
/*package*/ final ConceptDescriptor myConceptGeneratorInternal_ReferenceDescriptor = createDescriptorForGeneratorInternal_ReferenceDescriptor();
/*package*/ final ConceptDescriptor myConceptInsertAfterPosition = createDescriptorForInsertAfterPosition();
/*package*/ final ConceptDescriptor myConceptInsertBeforePosition = createDescriptorForInsertBeforePosition();
/*package*/ final ConceptDescriptor myConceptInsertPosition = createDescriptorForInsertPosition();
/*package*/ final ConceptDescriptor myConceptLinkPatternVariableDeclaration = createDescriptorForLinkPatternVariableDeclaration();
/*package*/ final ConceptDescriptor myConceptListPattern = createDescriptorForListPattern();
/*package*/ final ConceptDescriptor myConceptOrPattern = createDescriptorForOrPattern();
/*package*/ final ConceptDescriptor myConceptOrPatternClause = createDescriptorForOrPatternClause();
/*package*/ final ConceptDescriptor myConceptOrPatternVariableReference = createDescriptorForOrPatternVariableReference();
/*package*/ final ConceptDescriptor myConceptPattern = createDescriptorForPattern();
/*package*/ final ConceptDescriptor myConceptPatternExpression = createDescriptorForPatternExpression();
/*package*/ final ConceptDescriptor myConceptPatternVariableDeclaration = createDescriptorForPatternVariableDeclaration();
/*package*/ final ConceptDescriptor myConceptPatternVariableReference = createDescriptorForPatternVariableReference();
/*package*/ final ConceptDescriptor myConceptPropertyPatternVariableDeclaration = createDescriptorForPropertyPatternVariableDeclaration();
/*package*/ final ConceptDescriptor myConceptWildcardPattern = createDescriptorForWildcardPattern();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptActionAsPattern, myConceptActionStatement, myConceptAsPattern, myConceptGeneratorInternal_ChildDescriptor, myConceptGeneratorInternal_PropertyDescriptor, myConceptGeneratorInternal_ReferenceDescriptor, myConceptInsertAfterPosition, myConceptInsertBeforePosition, myConceptInsertPosition, myConceptLinkPatternVariableDeclaration, myConceptListPattern, myConceptOrPattern, myConceptOrPatternClause, myConceptOrPatternVariableReference, myConceptPattern, myConceptPatternExpression, myConceptPatternVariableDeclaration, myConceptPatternVariableReference, myConceptPropertyPatternVariableDeclaration, myConceptWildcardPattern);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.ActionAsPattern:
return myConceptActionAsPattern;
case LanguageConceptSwitch.ActionStatement:
return myConceptActionStatement;
case LanguageConceptSwitch.AsPattern:
return myConceptAsPattern;
case LanguageConceptSwitch.GeneratorInternal_ChildDescriptor:
return myConceptGeneratorInternal_ChildDescriptor;
case LanguageConceptSwitch.GeneratorInternal_PropertyDescriptor:
return myConceptGeneratorInternal_PropertyDescriptor;
case LanguageConceptSwitch.GeneratorInternal_ReferenceDescriptor:
return myConceptGeneratorInternal_ReferenceDescriptor;
case LanguageConceptSwitch.InsertAfterPosition:
return myConceptInsertAfterPosition;
case LanguageConceptSwitch.InsertBeforePosition:
return myConceptInsertBeforePosition;
case LanguageConceptSwitch.InsertPosition:
return myConceptInsertPosition;
case LanguageConceptSwitch.LinkPatternVariableDeclaration:
return myConceptLinkPatternVariableDeclaration;
case LanguageConceptSwitch.ListPattern:
return myConceptListPattern;
case LanguageConceptSwitch.OrPattern:
return myConceptOrPattern;
case LanguageConceptSwitch.OrPatternClause:
return myConceptOrPatternClause;
case LanguageConceptSwitch.OrPatternVariableReference:
return myConceptOrPatternVariableReference;
case LanguageConceptSwitch.Pattern:
return myConceptPattern;
case LanguageConceptSwitch.PatternExpression:
return myConceptPatternExpression;
case LanguageConceptSwitch.PatternVariableDeclaration:
return myConceptPatternVariableDeclaration;
case LanguageConceptSwitch.PatternVariableReference:
return myConceptPatternVariableReference;
case LanguageConceptSwitch.PropertyPatternVariableDeclaration:
return myConceptPropertyPatternVariableDeclaration;
case LanguageConceptSwitch.WildcardPattern:
return myConceptWildcardPattern;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForActionAsPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "ActionAsPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x3d3ef1fc1814cb54L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.AsPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478dL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/4413230749907733332");
b.aggregate("position", 0x7cc3195fc1d254beL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd3cL).optional(false).ordered(true).multiple(false).origin("8990057180226016446").done();
b.aggregate("action", 0x3d3ef1fc1814cb59L).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x3d3ef1fc1815d960L).optional(false).ordered(true).multiple(false).origin("4413230749907733337").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForActionStatement() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "ActionStatement", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x3d3ef1fc1815d960L);
b.class_(false, true, false);
b.super_("jetbrains.mps.baseLanguage.structure.Statement", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/4413230749907802464");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForAsPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "AsPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478dL);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.PatternVariableDeclaration", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037773");
b.alias("@");
return b.create();
}
private static ConceptDescriptor createDescriptorForGeneratorInternal_ChildDescriptor() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "GeneratorInternal_ChildDescriptor", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x7e881d31a4196e17L);
b.class_(false, false, false);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/9117569544655302167");
b.associate("childLinkDeclaration", 0x7e881d31a41979c5L).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979bd086aL).optional(false).origin("9117569544655305157").done();
b.associate("mainNode", 0x7e881d31a4197b70L).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(false).origin("9117569544655305584").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForGeneratorInternal_PropertyDescriptor() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "GeneratorInternal_PropertyDescriptor", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x7e881d31a4198f6eL);
b.class_(false, false, false);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/9117569544655310702");
b.prop("value", 0x7e881d31a4198f77L, "9117569544655310711");
b.associate("property", 0x746e600f0bda9e9bL).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979bd086bL).optional(false).origin("8389748773577465499").done();
b.associate("mainNode", 0x7e881d31a4198f6fL).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(false).origin("9117569544655310703").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForGeneratorInternal_ReferenceDescriptor() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "GeneratorInternal_ReferenceDescriptor", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x7e881d31a4198b56L);
b.class_(false, false, false);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/9117569544655309654");
b.prop("id", 0x7e881d31a419916dL, "9117569544655311213");
b.prop("model", 0x7e881d31a419916eL, "9117569544655311214");
b.associate("referenceLinkDeclaration", 0x79ac26fe422b8688L).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979bd086aL).optional(false).origin("8767425448057210504").done();
b.associate("mainNode", 0x7e881d31a4198b58L).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(false).origin("9117569544655309656").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForInsertAfterPosition() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "InsertAfterPosition", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd38L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.InsertPosition", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd3cL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1649655856141352248");
b.alias("after");
return b.create();
}
private static ConceptDescriptor createDescriptorForInsertBeforePosition() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "InsertBeforePosition", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd3aL);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.InsertPosition", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd3cL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1649655856141352250");
b.alias("before");
return b.create();
}
private static ConceptDescriptor createDescriptorForInsertPosition() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "InsertPosition", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x16e4c142caf2bd3cL);
b.class_(false, true, false);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1649655856141352252");
return b.create();
}
private static ConceptDescriptor createDescriptorForLinkPatternVariableDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "LinkPatternVariableDeclaration", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108d36d955aL);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.core.structure.LinkAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da51L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1137418540378");
b.prop("varName", 0x108d36e0ea4L, "1137418571428");
return b.create();
}
private static ConceptDescriptor createDescriptorForListPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "ListPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108aa36731aL);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.AsPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478dL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136727061274");
b.alias("*");
return b.create();
}
private static ConceptDescriptor createDescriptorForOrPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "OrPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x27f758f8bc6aaa84L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.Pattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478fL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f43L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/2879868312062962308");
b.aggregate("clause", 0x27f758f8bc6acaceL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x4363a36537b0b250L).optional(false).ordered(true).multiple(true).origin("2879868312062970574").done();
b.aggregate("variable", 0x3b2f5e7b070d317eL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L).optional(true).ordered(true).multiple(true).origin("4264731254635442558").done();
b.alias("[|]");
return b.create();
}
private static ConceptDescriptor createDescriptorForOrPatternClause() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "OrPatternClause", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x4363a36537b0b250L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.PatternExpression", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4791L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/4855904478356877904");
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForOrPatternVariableReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "OrPatternVariableReference", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x3b2f5e7b070d317cL);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/4264731254635442556");
b.associate("declaration", 0x3b2f5e7b070d317dL).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L).optional(false).origin("4264731254635442557").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "Pattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478fL);
b.class_(false, true, false);
b.super_("jetbrains.mps.lang.core.structure.NodeAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da54L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037775");
return b.create();
}
private static ConceptDescriptor createDescriptorForPatternExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "PatternExpression", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4791L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f43L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa98f128L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037777");
b.aggregate("patternNode", 0x108a9cb4792L).target(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL).optional(true).ordered(true).multiple(false).origin("1136720037778").done();
b.aggregate("pattern", 0x7d8b4408504314cdL).target(0x3a13115c633c4c5cL, 0xbbcc75c4219e9555L, 0x1168c104659L).optional(false).ordered(true).multiple(false).origin("9046399079000773837").done();
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
b.alias(">pattern<");
return b.create();
}
private static ConceptDescriptor createDescriptorForPatternVariableDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "PatternVariableDeclaration", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.Pattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478fL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037779");
b.prop("varName", 0x108a9cb4794L, "1136720037780");
return b.create();
}
private static ConceptDescriptor createDescriptorForPatternVariableReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "PatternVariableReference", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x2b7df577ffbb6a85L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/3133930811460119173");
b.associate("variable", 0x2b7df577ffbb6a86L).target(0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4793L).optional(false).origin("3133930811460119174").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForPropertyPatternVariableDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "PropertyPatternVariableDeclaration", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4795L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.core.structure.PropertyAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da56L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037781");
b.prop("varName", 0x108a9cb4796L, "1136720037782");
return b.create();
}
private static ConceptDescriptor createDescriptorForWildcardPattern() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.pattern", "WildcardPattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb4797L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.pattern.structure.Pattern", 0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x108a9cb478fL);
b.origin("r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)/1136720037783");
b.alias("_");
return b.create();
}
}