package jetbrains.mps.samples.complex.structure;
/*Generated by MPS */
import jetbrains.mps.smodel.runtime.ConceptPresentationAspectBase;
import jetbrains.mps.smodel.runtime.ConceptPresentation;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.runtime.ConceptPresentationBuilder;
public class ConceptPresentationAspectImpl extends ConceptPresentationAspectBase {
private ConceptPresentation props_AbsExpression;
private ConceptPresentation props_ArgExpression;
private ConceptPresentation props_ComplexType;
private ConceptPresentation props_ConjugateComplexExpression;
private ConceptPresentation props_DegreeComplexExpression;
private ConceptPresentation props_ImExpression;
private ConceptPresentation props_ImaginaryUnit;
private ConceptPresentation props_ReExpression;
private ConceptPresentation props_SingleComplexExpression;
@Override
@Nullable
public ConceptPresentation getDescriptor(SAbstractConcept c) {
StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
switch (structureDescriptor.internalIndex(c)) {
case LanguageConceptSwitch.AbsExpression:
if (props_AbsExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_AbsExpression = cpb.create();
}
return props_AbsExpression;
case LanguageConceptSwitch.ArgExpression:
if (props_ArgExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ArgExpression = cpb.create();
}
return props_ArgExpression;
case LanguageConceptSwitch.ComplexType:
if (props_ComplexType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ComplexType = cpb.create();
}
return props_ComplexType;
case LanguageConceptSwitch.ConjugateComplexExpression:
if (props_ConjugateComplexExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ConjugateComplexExpression = cpb.create();
}
return props_ConjugateComplexExpression;
case LanguageConceptSwitch.DegreeComplexExpression:
if (props_DegreeComplexExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_DegreeComplexExpression = cpb.create();
}
return props_DegreeComplexExpression;
case LanguageConceptSwitch.ImExpression:
if (props_ImExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ImExpression = cpb.create();
}
return props_ImExpression;
case LanguageConceptSwitch.ImaginaryUnit:
if (props_ImaginaryUnit == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("complex imaginary unit");
props_ImaginaryUnit = cpb.create();
}
return props_ImaginaryUnit;
case LanguageConceptSwitch.ReExpression:
if (props_ReExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ReExpression = cpb.create();
}
return props_ReExpression;
case LanguageConceptSwitch.SingleComplexExpression:
if (props_SingleComplexExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_SingleComplexExpression = cpb.create();
}
return props_SingleComplexExpression;
}
return null;
}
}