package jetbrains.mps.baseLanguage.math.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_AbstractIndex;
private ConceptPresentation props_ArithmSymbol;
private ConceptPresentation props_BigComplexType;
private ConceptPresentation props_BigDecimalType;
private ConceptPresentation props_BigIntegerType;
private ConceptPresentation props_BigMaxExpression;
private ConceptPresentation props_BigMinExpression;
private ConceptPresentation props_BigProdExpression;
private ConceptPresentation props_BigSumExpression;
private ConceptPresentation props_ComplexLiteral;
private ConceptPresentation props_ComplexType;
private ConceptPresentation props_ConjugateOperation;
private ConceptPresentation props_CosineExpression;
private ConceptPresentation props_DecimalBinaryOperation;
private ConceptPresentation props_DecimalDivExpression;
private ConceptPresentation props_DecimalMinusExpression;
private ConceptPresentation props_DecimalMulExpression;
private ConceptPresentation props_DecimalPlusExpression;
private ConceptPresentation props_Determinant;
private ConceptPresentation props_DivExpressionFraction;
private ConceptPresentation props_ExponentExpression;
private ConceptPresentation props_ExponentialOperation;
private ConceptPresentation props_ExtrSymbol;
private ConceptPresentation props_InIntervalExpression;
private ConceptPresentation props_IntervalContainsExpression;
private ConceptPresentation props_IntervalLiteral;
private ConceptPresentation props_IntervalType;
private ConceptPresentation props_LinearSolveOperation;
private ConceptPresentation props_LiteralI;
private ConceptPresentation props_LogExpression;
private ConceptPresentation props_MathContext;
private ConceptPresentation props_MathFuncExpression;
private ConceptPresentation props_MathPrimitiveType;
private ConceptPresentation props_MathSymbol;
private ConceptPresentation props_MathSymbolFromToIndex;
private ConceptPresentation props_MathSymbolIndex;
private ConceptPresentation props_MathSymbolIndexReference;
private ConceptPresentation props_MathTypeCast;
private ConceptPresentation props_MatrixConstructor;
private ConceptPresentation props_MatrixElementAccessExpression;
private ConceptPresentation props_MatrixExponentialOperation;
private ConceptPresentation props_MatrixIndexWildcard;
private ConceptPresentation props_MatrixInitializer;
private ConceptPresentation props_MatrixInitializerIndex;
private ConceptPresentation props_MatrixInitializerIndexReference;
private ConceptPresentation props_MatrixInverseOperation;
private ConceptPresentation props_MatrixNorm;
private ConceptPresentation props_MatrixOrVectorInitializer;
private ConceptPresentation props_MatrixOrVectorType;
private ConceptPresentation props_MatrixType;
private ConceptPresentation props_MatrixUnit;
private ConceptPresentation props_MatrixZero;
private ConceptPresentation props_PowExpression;
private ConceptPresentation props_SineExpression;
private ConceptPresentation props_TangentExpression;
private ConceptPresentation props_TransposeOperation;
private ConceptPresentation props_VectorInitializer;
private ConceptPresentation props_VectorType;
@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();
cpb.shortDesc("Absolute value of a number");
props_AbsExpression = cpb.create();
}
return props_AbsExpression;
case LanguageConceptSwitch.AbstractIndex:
if (props_AbstractIndex == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_AbstractIndex = cpb.create();
}
return props_AbstractIndex;
case LanguageConceptSwitch.ArithmSymbol:
if (props_ArithmSymbol == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ArithmSymbol = cpb.create();
}
return props_ArithmSymbol;
case LanguageConceptSwitch.BigComplexType:
if (props_BigComplexType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Arbitrary precision complex number");
props_BigComplexType = cpb.create();
}
return props_BigComplexType;
case LanguageConceptSwitch.BigDecimalType:
if (props_BigDecimalType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Arbitrary precision signed decimal number");
props_BigDecimalType = cpb.create();
}
return props_BigDecimalType;
case LanguageConceptSwitch.BigIntegerType:
if (props_BigIntegerType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Arbitrary precision integer");
props_BigIntegerType = cpb.create();
}
return props_BigIntegerType;
case LanguageConceptSwitch.BigMaxExpression:
if (props_BigMaxExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Maximum of expressions");
props_BigMaxExpression = cpb.create();
}
return props_BigMaxExpression;
case LanguageConceptSwitch.BigMinExpression:
if (props_BigMinExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Minimum of expressions");
props_BigMinExpression = cpb.create();
}
return props_BigMinExpression;
case LanguageConceptSwitch.BigProdExpression:
if (props_BigProdExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Product of expressions");
props_BigProdExpression = cpb.create();
}
return props_BigProdExpression;
case LanguageConceptSwitch.BigSumExpression:
if (props_BigSumExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Sum of expressions");
props_BigSumExpression = cpb.create();
}
return props_BigSumExpression;
case LanguageConceptSwitch.ComplexLiteral:
if (props_ComplexLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ComplexLiteral = cpb.create();
}
return props_ComplexLiteral;
case LanguageConceptSwitch.ComplexType:
if (props_ComplexType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Double precision complex number");
props_ComplexType = cpb.create();
}
return props_ComplexType;
case LanguageConceptSwitch.ConjugateOperation:
if (props_ConjugateOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Matrix conjugate");
props_ConjugateOperation = cpb.create();
}
return props_ConjugateOperation;
case LanguageConceptSwitch.CosineExpression:
if (props_CosineExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Trigonometric cosine of a value");
props_CosineExpression = cpb.create();
}
return props_CosineExpression;
case LanguageConceptSwitch.DecimalBinaryOperation:
if (props_DecimalBinaryOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_DecimalBinaryOperation = cpb.create();
}
return props_DecimalBinaryOperation;
case LanguageConceptSwitch.DecimalDivExpression:
if (props_DecimalDivExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("divide operation for big decimal types");
props_DecimalDivExpression = cpb.create();
}
return props_DecimalDivExpression;
case LanguageConceptSwitch.DecimalMinusExpression:
if (props_DecimalMinusExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("minus operation for big decimal types");
props_DecimalMinusExpression = cpb.create();
}
return props_DecimalMinusExpression;
case LanguageConceptSwitch.DecimalMulExpression:
if (props_DecimalMulExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("multiplication operation for big decimal types");
props_DecimalMulExpression = cpb.create();
}
return props_DecimalMulExpression;
case LanguageConceptSwitch.DecimalPlusExpression:
if (props_DecimalPlusExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("plus operation for bigdecimal types");
props_DecimalPlusExpression = cpb.create();
}
return props_DecimalPlusExpression;
case LanguageConceptSwitch.Determinant:
if (props_Determinant == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Matrix determinant");
props_Determinant = cpb.create();
}
return props_Determinant;
case LanguageConceptSwitch.DivExpressionFraction:
if (props_DivExpressionFraction == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_DivExpressionFraction = cpb.create();
}
return props_DivExpressionFraction;
case LanguageConceptSwitch.ExponentExpression:
if (props_ExponentExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Exponent of a value");
props_ExponentExpression = cpb.create();
}
return props_ExponentExpression;
case LanguageConceptSwitch.ExponentialOperation:
if (props_ExponentialOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ExponentialOperation = cpb.create();
}
return props_ExponentialOperation;
case LanguageConceptSwitch.ExtrSymbol:
if (props_ExtrSymbol == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ExtrSymbol = cpb.create();
}
return props_ExtrSymbol;
case LanguageConceptSwitch.InIntervalExpression:
if (props_InIntervalExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("is in interval");
props_InIntervalExpression = cpb.create();
}
return props_InIntervalExpression;
case LanguageConceptSwitch.IntervalContainsExpression:
if (props_IntervalContainsExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("(?) interval contains");
props_IntervalContainsExpression = cpb.create();
}
return props_IntervalContainsExpression;
case LanguageConceptSwitch.IntervalLiteral:
if (props_IntervalLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Interval literal");
props_IntervalLiteral = cpb.create();
}
return props_IntervalLiteral;
case LanguageConceptSwitch.IntervalType:
if (props_IntervalType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Interval type");
props_IntervalType = cpb.create();
}
return props_IntervalType;
case LanguageConceptSwitch.LinearSolveOperation:
if (props_LinearSolveOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LinearSolveOperation = cpb.create();
}
return props_LinearSolveOperation;
case LanguageConceptSwitch.LiteralI:
if (props_LiteralI == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Imaginary unit");
props_LiteralI = cpb.create();
}
return props_LiteralI;
case LanguageConceptSwitch.LogExpression:
if (props_LogExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Natural logarithm of a value");
props_LogExpression = cpb.create();
}
return props_LogExpression;
case LanguageConceptSwitch.MathContext:
if (props_MathContext == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathContext = cpb.create();
}
return props_MathContext;
case LanguageConceptSwitch.MathFuncExpression:
if (props_MathFuncExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathFuncExpression = cpb.create();
}
return props_MathFuncExpression;
case LanguageConceptSwitch.MathPrimitiveType:
if (props_MathPrimitiveType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathPrimitiveType = cpb.create();
}
return props_MathPrimitiveType;
case LanguageConceptSwitch.MathSymbol:
if (props_MathSymbol == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathSymbol = cpb.create();
}
return props_MathSymbol;
case LanguageConceptSwitch.MathSymbolFromToIndex:
if (props_MathSymbolFromToIndex == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("iterate over interval of integers");
props_MathSymbolFromToIndex = cpb.create();
}
return props_MathSymbolFromToIndex;
case LanguageConceptSwitch.MathSymbolIndex:
if (props_MathSymbolIndex == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("iterate over arbitrary iterable class");
props_MathSymbolIndex = cpb.create();
}
return props_MathSymbolIndex;
case LanguageConceptSwitch.MathSymbolIndexReference:
if (props_MathSymbolIndexReference == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathSymbolIndexReference = cpb.create();
}
return props_MathSymbolIndexReference;
case LanguageConceptSwitch.MathTypeCast:
if (props_MathTypeCast == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MathTypeCast = cpb.create();
}
return props_MathTypeCast;
case LanguageConceptSwitch.MatrixConstructor:
if (props_MatrixConstructor == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Matrix row constructor");
props_MatrixConstructor = cpb.create();
}
return props_MatrixConstructor;
case LanguageConceptSwitch.MatrixElementAccessExpression:
if (props_MatrixElementAccessExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixElementAccessExpression = cpb.create();
}
return props_MatrixElementAccessExpression;
case LanguageConceptSwitch.MatrixExponentialOperation:
if (props_MatrixExponentialOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixExponentialOperation = cpb.create();
}
return props_MatrixExponentialOperation;
case LanguageConceptSwitch.MatrixIndexWildcard:
if (props_MatrixIndexWildcard == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Wildcard index");
props_MatrixIndexWildcard = cpb.create();
}
return props_MatrixIndexWildcard;
case LanguageConceptSwitch.MatrixInitializer:
if (props_MatrixInitializer == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Matrix initializer");
props_MatrixInitializer = cpb.create();
}
return props_MatrixInitializer;
case LanguageConceptSwitch.MatrixInitializerIndex:
if (props_MatrixInitializerIndex == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixInitializerIndex = cpb.create();
}
return props_MatrixInitializerIndex;
case LanguageConceptSwitch.MatrixInitializerIndexReference:
if (props_MatrixInitializerIndexReference == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixInitializerIndexReference = cpb.create();
}
return props_MatrixInitializerIndexReference;
case LanguageConceptSwitch.MatrixInverseOperation:
if (props_MatrixInverseOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Matrix inverse operation");
props_MatrixInverseOperation = cpb.create();
}
return props_MatrixInverseOperation;
case LanguageConceptSwitch.MatrixNorm:
if (props_MatrixNorm == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixNorm = cpb.create();
}
return props_MatrixNorm;
case LanguageConceptSwitch.MatrixOrVectorInitializer:
if (props_MatrixOrVectorInitializer == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixOrVectorInitializer = cpb.create();
}
return props_MatrixOrVectorInitializer;
case LanguageConceptSwitch.MatrixOrVectorType:
if (props_MatrixOrVectorType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixOrVectorType = cpb.create();
}
return props_MatrixOrVectorType;
case LanguageConceptSwitch.MatrixType:
if (props_MatrixType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MatrixType = cpb.create();
}
return props_MatrixType;
case LanguageConceptSwitch.MatrixUnit:
if (props_MatrixUnit == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Identity matrix");
props_MatrixUnit = cpb.create();
}
return props_MatrixUnit;
case LanguageConceptSwitch.MatrixZero:
if (props_MatrixZero == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Zero matrix");
props_MatrixZero = cpb.create();
}
return props_MatrixZero;
case LanguageConceptSwitch.PowExpression:
if (props_PowExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Power expression");
props_PowExpression = cpb.create();
}
return props_PowExpression;
case LanguageConceptSwitch.SineExpression:
if (props_SineExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Trigonometric sine of a value");
props_SineExpression = cpb.create();
}
return props_SineExpression;
case LanguageConceptSwitch.TangentExpression:
if (props_TangentExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Trigonometric tangent of a value");
props_TangentExpression = cpb.create();
}
return props_TangentExpression;
case LanguageConceptSwitch.TransposeOperation:
if (props_TransposeOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Transpose operation");
props_TransposeOperation = cpb.create();
}
return props_TransposeOperation;
case LanguageConceptSwitch.VectorInitializer:
if (props_VectorInitializer == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Vector initializer");
props_VectorInitializer = cpb.create();
}
return props_VectorInitializer;
case LanguageConceptSwitch.VectorType:
if (props_VectorType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_VectorType = cpb.create();
}
return props_VectorType;
}
return null;
}
}