package jetbrains.mps.samples.complex.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 myConceptAbsExpression = createDescriptorForAbsExpression();
/*package*/ final ConceptDescriptor myConceptArgExpression = createDescriptorForArgExpression();
/*package*/ final ConceptDescriptor myConceptComplexType = createDescriptorForComplexType();
/*package*/ final ConceptDescriptor myConceptConjugateComplexExpression = createDescriptorForConjugateComplexExpression();
/*package*/ final ConceptDescriptor myConceptDegreeComplexExpression = createDescriptorForDegreeComplexExpression();
/*package*/ final ConceptDescriptor myConceptImExpression = createDescriptorForImExpression();
/*package*/ final ConceptDescriptor myConceptImaginaryUnit = createDescriptorForImaginaryUnit();
/*package*/ final ConceptDescriptor myConceptReExpression = createDescriptorForReExpression();
/*package*/ final ConceptDescriptor myConceptSingleComplexExpression = createDescriptorForSingleComplexExpression();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptAbsExpression, myConceptArgExpression, myConceptComplexType, myConceptConjugateComplexExpression, myConceptDegreeComplexExpression, myConceptImExpression, myConceptImaginaryUnit, myConceptReExpression, myConceptSingleComplexExpression);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.AbsExpression:
return myConceptAbsExpression;
case LanguageConceptSwitch.ArgExpression:
return myConceptArgExpression;
case LanguageConceptSwitch.ComplexType:
return myConceptComplexType;
case LanguageConceptSwitch.ConjugateComplexExpression:
return myConceptConjugateComplexExpression;
case LanguageConceptSwitch.DegreeComplexExpression:
return myConceptDegreeComplexExpression;
case LanguageConceptSwitch.ImExpression:
return myConceptImExpression;
case LanguageConceptSwitch.ImaginaryUnit:
return myConceptImaginaryUnit;
case LanguageConceptSwitch.ReExpression:
return myConceptReExpression;
case LanguageConceptSwitch.SingleComplexExpression:
return myConceptSingleComplexExpression;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForAbsExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "AbsExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686e48f9fL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196264034207");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("abs");
return b.create();
}
private static ConceptDescriptor createDescriptorForArgExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ArgExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686e1a51cL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196263843100");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("arg");
return b.create();
}
private static ConceptDescriptor createDescriptorForComplexType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ComplexType", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686a0422aL);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.PrimitiveType", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x10f0ad8bde4L);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196259557930");
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
b.alias("complex");
return b.create();
}
private static ConceptDescriptor createDescriptorForConjugateComplexExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ConjugateComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x116901f57f4L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196418881524");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("conj");
return b.create();
}
private static ConceptDescriptor createDescriptorForDegreeComplexExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "DegreeComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x116904e45f4L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196421957108");
b.aggregate("degree", 0x116904f9752L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x1129778b846L).optional(false).ordered(true).multiple(false).origin("1196422043474").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("deg");
return b.create();
}
private static ConceptDescriptor createDescriptorForImExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ImExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686c35f98L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196261859224");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("im");
return b.create();
}
private static ConceptDescriptor createDescriptorForImaginaryUnit() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ImaginaryUnit", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11691060ce1L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196434001121");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("i");
return b.create();
}
private static ConceptDescriptor createDescriptorForReExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "ReExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b25791L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.complex.structure.SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196260743057");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("re");
return b.create();
}
private static ConceptDescriptor createDescriptorForSingleComplexExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.complex", "SingleComplexExpression", 0xff24ab03965e4d15L, 0x9aed52dc276658f4L, 0x11686b3b49dL);
b.class_(false, true, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:00000000-0000-4000-0000-011c89590425(jetbrains.mps.samples.complex.structure)/1196260832413");
b.aggregate("complexExpression", 0x11686b4a081L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("1196260892801").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
}