package jetbrains.mps.samples.lambdaCalculus.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 myConceptAbstractionVarRef = createDescriptorForAbstractionVarRef();
/*package*/ final ConceptDescriptor myConceptAbstractionVariable = createDescriptorForAbstractionVariable();
/*package*/ final ConceptDescriptor myConceptAddOperation = createDescriptorForAddOperation();
/*package*/ final ConceptDescriptor myConceptBinaryNumericOperation = createDescriptorForBinaryNumericOperation();
/*package*/ final ConceptDescriptor myConceptBinaryOperation = createDescriptorForBinaryOperation();
/*package*/ final ConceptDescriptor myConceptBinaryStringOperation = createDescriptorForBinaryStringOperation();
/*package*/ final ConceptDescriptor myConceptConcatenateOperation = createDescriptorForConcatenateOperation();
/*package*/ final ConceptDescriptor myConceptDivideOperation = createDescriptorForDivideOperation();
/*package*/ final ConceptDescriptor myConceptFunctionType = createDescriptorForFunctionType();
/*package*/ final ConceptDescriptor myConceptLambdaAbstraction = createDescriptorForLambdaAbstraction();
/*package*/ final ConceptDescriptor myConceptLambdaApplication = createDescriptorForLambdaApplication();
/*package*/ final ConceptDescriptor myConceptLambdaExpression = createDescriptorForLambdaExpression();
/*package*/ final ConceptDescriptor myConceptLambdaType = createDescriptorForLambdaType();
/*package*/ final ConceptDescriptor myConceptLetExpression = createDescriptorForLetExpression();
/*package*/ final ConceptDescriptor myConceptLetRef = createDescriptorForLetRef();
/*package*/ final ConceptDescriptor myConceptLetVariable = createDescriptorForLetVariable();
/*package*/ final ConceptDescriptor myConceptMultipleExpression = createDescriptorForMultipleExpression();
/*package*/ final ConceptDescriptor myConceptMultiplyOperation = createDescriptorForMultiplyOperation();
/*package*/ final ConceptDescriptor myConceptNumberType = createDescriptorForNumberType();
/*package*/ final ConceptDescriptor myConceptNumericConstant = createDescriptorForNumericConstant();
/*package*/ final ConceptDescriptor myConceptParenthesisExpression = createDescriptorForParenthesisExpression();
/*package*/ final ConceptDescriptor myConceptProgram = createDescriptorForProgram();
/*package*/ final ConceptDescriptor myConceptStringConstant = createDescriptorForStringConstant();
/*package*/ final ConceptDescriptor myConceptStringType = createDescriptorForStringType();
/*package*/ final ConceptDescriptor myConceptSubtractOperation = createDescriptorForSubtractOperation();
/*package*/ final ConceptDescriptor myConceptVariable = createDescriptorForVariable();
/*package*/ final ConceptDescriptor myConceptVariableOwner = createDescriptorForVariableOwner();
/*package*/ final ConceptDescriptor myConceptVariableReference = createDescriptorForVariableReference();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptAbstractionVarRef, myConceptAbstractionVariable, myConceptAddOperation, myConceptBinaryNumericOperation, myConceptBinaryOperation, myConceptBinaryStringOperation, myConceptConcatenateOperation, myConceptDivideOperation, myConceptFunctionType, myConceptLambdaAbstraction, myConceptLambdaApplication, myConceptLambdaExpression, myConceptLambdaType, myConceptLetExpression, myConceptLetRef, myConceptLetVariable, myConceptMultipleExpression, myConceptMultiplyOperation, myConceptNumberType, myConceptNumericConstant, myConceptParenthesisExpression, myConceptProgram, myConceptStringConstant, myConceptStringType, myConceptSubtractOperation, myConceptVariable, myConceptVariableOwner, myConceptVariableReference);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.AbstractionVarRef:
return myConceptAbstractionVarRef;
case LanguageConceptSwitch.AbstractionVariable:
return myConceptAbstractionVariable;
case LanguageConceptSwitch.AddOperation:
return myConceptAddOperation;
case LanguageConceptSwitch.BinaryNumericOperation:
return myConceptBinaryNumericOperation;
case LanguageConceptSwitch.BinaryOperation:
return myConceptBinaryOperation;
case LanguageConceptSwitch.BinaryStringOperation:
return myConceptBinaryStringOperation;
case LanguageConceptSwitch.ConcatenateOperation:
return myConceptConcatenateOperation;
case LanguageConceptSwitch.DivideOperation:
return myConceptDivideOperation;
case LanguageConceptSwitch.FunctionType:
return myConceptFunctionType;
case LanguageConceptSwitch.LambdaAbstraction:
return myConceptLambdaAbstraction;
case LanguageConceptSwitch.LambdaApplication:
return myConceptLambdaApplication;
case LanguageConceptSwitch.LambdaExpression:
return myConceptLambdaExpression;
case LanguageConceptSwitch.LambdaType:
return myConceptLambdaType;
case LanguageConceptSwitch.LetExpression:
return myConceptLetExpression;
case LanguageConceptSwitch.LetRef:
return myConceptLetRef;
case LanguageConceptSwitch.LetVariable:
return myConceptLetVariable;
case LanguageConceptSwitch.MultipleExpression:
return myConceptMultipleExpression;
case LanguageConceptSwitch.MultiplyOperation:
return myConceptMultiplyOperation;
case LanguageConceptSwitch.NumberType:
return myConceptNumberType;
case LanguageConceptSwitch.NumericConstant:
return myConceptNumericConstant;
case LanguageConceptSwitch.ParenthesisExpression:
return myConceptParenthesisExpression;
case LanguageConceptSwitch.Program:
return myConceptProgram;
case LanguageConceptSwitch.StringConstant:
return myConceptStringConstant;
case LanguageConceptSwitch.StringType:
return myConceptStringType;
case LanguageConceptSwitch.SubtractOperation:
return myConceptSubtractOperation;
case LanguageConceptSwitch.Variable:
return myConceptVariable;
case LanguageConceptSwitch.VariableOwner:
return myConceptVariableOwner;
case LanguageConceptSwitch.VariableReference:
return myConceptVariableReference;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForAbstractionVarRef() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "AbstractionVarRef", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7fe548fL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.VariableReference", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b08L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349915821199");
return b.create();
}
private static ConceptDescriptor createDescriptorForAbstractionVariable() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "AbstractionVariable", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7eccf81L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.Variable", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b12L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914673025");
return b.create();
}
private static ConceptDescriptor createDescriptorForAddOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "AddOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1ad829a6925a0969L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryNumericOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1934341835352312169");
b.alias("+");
return b.create();
}
private static ConceptDescriptor createDescriptorForBinaryNumericOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "BinaryNumericOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb4L);
b.class_(false, true, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1ad829a6925a095bL);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1888188276221754548");
return b.create();
}
private static ConceptDescriptor createDescriptorForBinaryOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "BinaryOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1ad829a6925a095bL);
b.class_(false, true, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1934341835352312155");
b.aggregate("left", 0x1ad829a6925a095cL).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("1934341835352312156").done();
b.aggregate("right", 0x1ad829a6925a095dL).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("1934341835352312157").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForBinaryStringOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "BinaryStringOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb6L);
b.class_(false, true, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1ad829a6925a095bL);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1888188276221754550");
return b.create();
}
private static ConceptDescriptor createDescriptorForConcatenateOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "ConcatenateOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb8L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryStringOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb6L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1888188276221754552");
b.alias("+");
return b.create();
}
private static ConceptDescriptor createDescriptorForDivideOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "DivideOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x5c3aaf5269584eeeL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryNumericOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/6645816968628162286");
b.alias("/");
return b.create();
}
private static ConceptDescriptor createDescriptorForFunctionType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "FunctionType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afae8L);
b.class_(false, false, false);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4530871765544139496");
b.aggregate("domain", 0x3ee0e3dd7c1afae9L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afad8L).optional(false).ordered(true).multiple(false).origin("4530871765544139497").done();
b.aggregate("range", 0x3ee0e3dd7c1afaeaL).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afad8L).optional(false).ordered(true).multiple(false).origin("4530871765544139498").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForLambdaAbstraction() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LambdaAbstraction", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7eccf80L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.parent(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496a4fL);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914673024");
b.aggregate("variable", 0x37d11ba7d7ee2db9L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7eccf81L).optional(false).ordered(true).multiple(true).origin("4022026349914762681").done();
b.aggregate("body", 0x37d11ba7d7ee2dc5L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("4022026349914762693").done();
b.alias("\\");
return b.create();
}
private static ConceptDescriptor createDescriptorForLambdaApplication() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LambdaApplication", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ee2dddL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914762717");
b.aggregate("function", 0x37d11ba7d7ee2de0L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("4022026349914762720").done();
b.aggregate("argument", 0x37d11ba7d7ee2de1L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(true).origin("4022026349914762721").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForLambdaExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.class_(false, true, false);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914659049");
return b.create();
}
private static ConceptDescriptor createDescriptorForLambdaType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LambdaType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afad8L);
b.class_(false, true, false);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4530871765544139480");
return b.create();
}
private static ConceptDescriptor createDescriptorForLetExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LetExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x448ba254edbfc79fL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.parent(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496a4fL);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4939219901991602079");
b.aggregate("value", 0x448ba254edbfc7a0L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("4939219901991602080").done();
b.aggregate("expression", 0x448ba254edbfc7a1L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("4939219901991602081").done();
b.aggregate("variable", 0x74076973acb5af30L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x74076973acb52e68L).optional(false).ordered(true).multiple(false).origin("8360767178776358704").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForLetRef() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LetRef", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x448ba254edc7216cL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.VariableReference", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b08L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4939219901992083820");
return b.create();
}
private static ConceptDescriptor createDescriptorForLetVariable() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "LetVariable", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x74076973acb52e68L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.Variable", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b12L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/8360767178776325736");
return b.create();
}
private static ConceptDescriptor createDescriptorForMultipleExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "MultipleExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x15b75b54f176d1a3L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/1564819815921013155");
b.aggregate("expressions", 0x15b75b54f176d1a4L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(true).origin("1564819815921013156").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForMultiplyOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "MultiplyOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x5c3aaf5269584eeaL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryNumericOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/6645816968628162282");
b.alias("*");
return b.create();
}
private static ConceptDescriptor createDescriptorForNumberType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "NumberType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afadaL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afad8L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4530871765544139482");
b.alias("number");
return b.create();
}
private static ConceptDescriptor createDescriptorForNumericConstant() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "NumericConstant", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ee2dd5L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914762709");
b.prop("value", 0x37d11ba7d7ee2dd6L, "4022026349914762710");
return b.create();
}
private static ConceptDescriptor createDescriptorForParenthesisExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "ParenthesisExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3735fdad52687b59L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/3978364766705449817");
b.aggregate("expression", 0x3735fdad52687b5aL).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("3978364766705449818").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForProgram() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "Program", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7fc0389L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.parent(0x4caf0310491e41f5L, 0x8a9b2006b3a94898L, 0x40c1a7cb987d20d5L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349915669385");
b.aggregate("expression", 0x37d11ba7d7fc038aL).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L).optional(false).ordered(true).multiple(false).origin("4022026349915669386").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForStringConstant() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "StringConstant", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ee2dc8L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4022026349914762696");
b.prop("value", 0x37d11ba7d7ee2dc9L, "4022026349914762697");
return b.create();
}
private static ConceptDescriptor createDescriptorForStringType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "StringType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afae1L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaType", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x3ee0e3dd7c1afad8L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/4530871765544139489");
b.alias("string");
return b.create();
}
private static ConceptDescriptor createDescriptorForSubtractOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "SubtractOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x5c3aaf5269584eecL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.BinaryNumericOperation", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x1a34313bb1413cb4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/6645816968628162284");
b.alias("-");
return b.create();
}
private static ConceptDescriptor createDescriptorForVariable() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "Variable", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b12L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/5249919352014727954");
return b.create();
}
private static ConceptDescriptor createDescriptorForVariableOwner() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "VariableOwner", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496a4fL);
b.interface_();
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/5249919352014727759");
return b.create();
}
private static ConceptDescriptor createDescriptorForVariableReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.lambdaCalculus", "VariableReference", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b08L);
b.class_(false, true, false);
b.super_("jetbrains.mps.samples.lambdaCalculus.structure.LambdaExpression", 0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x37d11ba7d7ec98e9L);
b.origin("r:d30b7004-00fd-4d3e-bdd6-6ae5346d9b86(jetbrains.mps.samples.lambdaCalculus.structure)/5249919352014727944");
b.associate("variable", 0x48db75d5dc497af4L).target(0x7c9e280794ad4afcL, 0xadf0aaee45eb2895L, 0x48db75d5dc496b12L).optional(false).origin("5249919352014732020").done();
return b.create();
}
}