package jetbrains.mps.baseLanguage.closures.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_AbstractFunctionType;
private ConceptPresentation props_ClosureArgReference;
private ConceptPresentation props_ClosureControlStatement;
private ConceptPresentation props_ClosureLiteral;
private ConceptPresentation props_ClosureLiteralType;
private ConceptPresentation props_CompactInvokeFunctionExpression;
private ConceptPresentation props_ControlAbstractionContainer;
private ConceptPresentation props_ControlAbstractionDeclaration;
private ConceptPresentation props_ControlClosureLiteral;
private ConceptPresentation props_FunctionMethodDeclaration;
private ConceptPresentation props_FunctionType;
private ConceptPresentation props_InvokeExpression;
private ConceptPresentation props_InvokeFunctionExpression;
private ConceptPresentation props_InvokeFunctionOperation;
private ConceptPresentation props_PairOfInts;
private ConceptPresentation props_StringPropertyHolder;
private ConceptPresentation props_UnboundClosureParameterDeclaration;
private ConceptPresentation props_UnrestrictedClosureLiteral;
private ConceptPresentation props_UnrestrictedFunctionType;
private ConceptPresentation props_YieldAllStatement;
private ConceptPresentation props_YieldStatement;
@Override
@Nullable
public ConceptPresentation getDescriptor(SAbstractConcept c) {
StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
switch (structureDescriptor.internalIndex(c)) {
case LanguageConceptSwitch.AbstractFunctionType:
if (props_AbstractFunctionType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.deprecated(true);
cpb.shortDesc("abstract function type");
props_AbstractFunctionType = cpb.create();
}
return props_AbstractFunctionType;
case LanguageConceptSwitch.ClosureArgReference:
if (props_ClosureArgReference == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ClosureArgReference = cpb.create();
}
return props_ClosureArgReference;
case LanguageConceptSwitch.ClosureControlStatement:
if (props_ClosureControlStatement == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ClosureControlStatement = cpb.create();
}
return props_ClosureControlStatement;
case LanguageConceptSwitch.ClosureLiteral:
if (props_ClosureLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("closure literal");
props_ClosureLiteral = cpb.create();
}
return props_ClosureLiteral;
case LanguageConceptSwitch.ClosureLiteralType:
if (props_ClosureLiteralType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ClosureLiteralType = cpb.create();
}
return props_ClosureLiteralType;
case LanguageConceptSwitch.CompactInvokeFunctionExpression:
if (props_CompactInvokeFunctionExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("invoke function");
props_CompactInvokeFunctionExpression = cpb.create();
}
return props_CompactInvokeFunctionExpression;
case LanguageConceptSwitch.ControlAbstractionContainer:
if (props_ControlAbstractionContainer == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ControlAbstractionContainer = cpb.create();
}
return props_ControlAbstractionContainer;
case LanguageConceptSwitch.ControlAbstractionDeclaration:
if (props_ControlAbstractionDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ControlAbstractionDeclaration = cpb.create();
}
return props_ControlAbstractionDeclaration;
case LanguageConceptSwitch.ControlClosureLiteral:
if (props_ControlClosureLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_ControlClosureLiteral = cpb.create();
}
return props_ControlClosureLiteral;
case LanguageConceptSwitch.FunctionMethodDeclaration:
if (props_FunctionMethodDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_FunctionMethodDeclaration = cpb.create();
}
return props_FunctionMethodDeclaration;
case LanguageConceptSwitch.FunctionType:
if (props_FunctionType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("function type");
props_FunctionType = cpb.create();
}
return props_FunctionType;
case LanguageConceptSwitch.InvokeExpression:
if (props_InvokeExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("this function invocation expression");
props_InvokeExpression = cpb.create();
}
return props_InvokeExpression;
case LanguageConceptSwitch.InvokeFunctionExpression:
if (props_InvokeFunctionExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.deprecated(true);
cpb.shortDesc("function invocation expression");
props_InvokeFunctionExpression = cpb.create();
}
return props_InvokeFunctionExpression;
case LanguageConceptSwitch.InvokeFunctionOperation:
if (props_InvokeFunctionOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("invoke function");
props_InvokeFunctionOperation = cpb.create();
}
return props_InvokeFunctionOperation;
case LanguageConceptSwitch.PairOfInts:
if (props_PairOfInts == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_PairOfInts = cpb.create();
}
return props_PairOfInts;
case LanguageConceptSwitch.StringPropertyHolder:
if (props_StringPropertyHolder == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_StringPropertyHolder = cpb.create();
}
return props_StringPropertyHolder;
case LanguageConceptSwitch.UnboundClosureParameterDeclaration:
if (props_UnboundClosureParameterDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("unbound closure parameter declaration");
props_UnboundClosureParameterDeclaration = cpb.create();
}
return props_UnboundClosureParameterDeclaration;
case LanguageConceptSwitch.UnrestrictedClosureLiteral:
if (props_UnrestrictedClosureLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("unrestricted closure literal");
props_UnrestrictedClosureLiteral = cpb.create();
}
return props_UnrestrictedClosureLiteral;
case LanguageConceptSwitch.UnrestrictedFunctionType:
if (props_UnrestrictedFunctionType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("unrestricted function type");
props_UnrestrictedFunctionType = cpb.create();
}
return props_UnrestrictedFunctionType;
case LanguageConceptSwitch.YieldAllStatement:
if (props_YieldAllStatement == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("yield all elements in a sequence");
props_YieldAllStatement = cpb.create();
}
return props_YieldAllStatement;
case LanguageConceptSwitch.YieldStatement:
if (props_YieldStatement == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("yield next element");
props_YieldStatement = cpb.create();
}
return props_YieldStatement;
}
return null;
}
}