package jetbrains.mps.samples.lambdaCalculus.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_AbstractionVarRef;
private ConceptPresentation props_AbstractionVariable;
private ConceptPresentation props_AddOperation;
private ConceptPresentation props_BinaryNumericOperation;
private ConceptPresentation props_BinaryOperation;
private ConceptPresentation props_BinaryStringOperation;
private ConceptPresentation props_ConcatenateOperation;
private ConceptPresentation props_DivideOperation;
private ConceptPresentation props_FunctionType;
private ConceptPresentation props_LambdaAbstraction;
private ConceptPresentation props_LambdaApplication;
private ConceptPresentation props_LambdaExpression;
private ConceptPresentation props_LambdaType;
private ConceptPresentation props_LetExpression;
private ConceptPresentation props_LetRef;
private ConceptPresentation props_LetVariable;
private ConceptPresentation props_MultipleExpression;
private ConceptPresentation props_MultiplyOperation;
private ConceptPresentation props_NumberType;
private ConceptPresentation props_NumericConstant;
private ConceptPresentation props_ParenthesisExpression;
private ConceptPresentation props_Program;
private ConceptPresentation props_StringConstant;
private ConceptPresentation props_StringType;
private ConceptPresentation props_SubtractOperation;
private ConceptPresentation props_Variable;
private ConceptPresentation props_VariableOwner;
private ConceptPresentation props_VariableReference;
@Override
@Nullable
public ConceptPresentation getDescriptor(SAbstractConcept c) {
StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
switch (structureDescriptor.internalIndex(c)) {
case LanguageConceptSwitch.AbstractionVarRef:
if (props_AbstractionVarRef == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_AbstractionVarRef = cpb.create();
}
return props_AbstractionVarRef;
case LanguageConceptSwitch.AbstractionVariable:
if (props_AbstractionVariable == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_AbstractionVariable = cpb.create();
}
return props_AbstractionVariable;
case LanguageConceptSwitch.AddOperation:
if (props_AddOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_AddOperation = cpb.create();
}
return props_AddOperation;
case LanguageConceptSwitch.BinaryNumericOperation:
if (props_BinaryNumericOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_BinaryNumericOperation = cpb.create();
}
return props_BinaryNumericOperation;
case LanguageConceptSwitch.BinaryOperation:
if (props_BinaryOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_BinaryOperation = cpb.create();
}
return props_BinaryOperation;
case LanguageConceptSwitch.BinaryStringOperation:
if (props_BinaryStringOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_BinaryStringOperation = cpb.create();
}
return props_BinaryStringOperation;
case LanguageConceptSwitch.ConcatenateOperation:
if (props_ConcatenateOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ConcatenateOperation = cpb.create();
}
return props_ConcatenateOperation;
case LanguageConceptSwitch.DivideOperation:
if (props_DivideOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_DivideOperation = cpb.create();
}
return props_DivideOperation;
case LanguageConceptSwitch.FunctionType:
if (props_FunctionType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_FunctionType = cpb.create();
}
return props_FunctionType;
case LanguageConceptSwitch.LambdaAbstraction:
if (props_LambdaAbstraction == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LambdaAbstraction = cpb.create();
}
return props_LambdaAbstraction;
case LanguageConceptSwitch.LambdaApplication:
if (props_LambdaApplication == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LambdaApplication = cpb.create();
}
return props_LambdaApplication;
case LanguageConceptSwitch.LambdaExpression:
if (props_LambdaExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LambdaExpression = cpb.create();
}
return props_LambdaExpression;
case LanguageConceptSwitch.LambdaType:
if (props_LambdaType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LambdaType = cpb.create();
}
return props_LambdaType;
case LanguageConceptSwitch.LetExpression:
if (props_LetExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LetExpression = cpb.create();
}
return props_LetExpression;
case LanguageConceptSwitch.LetRef:
if (props_LetRef == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LetRef = cpb.create();
}
return props_LetRef;
case LanguageConceptSwitch.LetVariable:
if (props_LetVariable == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_LetVariable = cpb.create();
}
return props_LetVariable;
case LanguageConceptSwitch.MultipleExpression:
if (props_MultipleExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MultipleExpression = cpb.create();
}
return props_MultipleExpression;
case LanguageConceptSwitch.MultiplyOperation:
if (props_MultiplyOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_MultiplyOperation = cpb.create();
}
return props_MultiplyOperation;
case LanguageConceptSwitch.NumberType:
if (props_NumberType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_NumberType = cpb.create();
}
return props_NumberType;
case LanguageConceptSwitch.NumericConstant:
if (props_NumericConstant == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_NumericConstant = cpb.create();
}
return props_NumericConstant;
case LanguageConceptSwitch.ParenthesisExpression:
if (props_ParenthesisExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ParenthesisExpression = cpb.create();
}
return props_ParenthesisExpression;
case LanguageConceptSwitch.Program:
if (props_Program == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_Program = cpb.create();
}
return props_Program;
case LanguageConceptSwitch.StringConstant:
if (props_StringConstant == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_StringConstant = cpb.create();
}
return props_StringConstant;
case LanguageConceptSwitch.StringType:
if (props_StringType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_StringType = cpb.create();
}
return props_StringType;
case LanguageConceptSwitch.SubtractOperation:
if (props_SubtractOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_SubtractOperation = cpb.create();
}
return props_SubtractOperation;
case LanguageConceptSwitch.Variable:
if (props_Variable == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_Variable = cpb.create();
}
return props_Variable;
case LanguageConceptSwitch.VariableOwner:
if (props_VariableOwner == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_VariableOwner = cpb.create();
}
return props_VariableOwner;
case LanguageConceptSwitch.VariableReference:
if (props_VariableReference == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_VariableReference = cpb.create();
}
return props_VariableReference;
}
return null;
}
}