package jetbrains.mps.baseLanguage.tuples.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_IndexedTupleLiteral;
private ConceptPresentation props_IndexedTupleMemberAccessExpression;
private ConceptPresentation props_IndexedTupleType;
private ConceptPresentation props_NamedTupleComponentAccessOperation;
private ConceptPresentation props_NamedTupleComponentDeclaration;
private ConceptPresentation props_NamedTupleComponentReference;
private ConceptPresentation props_NamedTupleDeclaration;
private ConceptPresentation props_NamedTupleLiteral;
private ConceptPresentation props_NamedTupleType;
@Override
@Nullable
public ConceptPresentation getDescriptor(SAbstractConcept c) {
StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
switch (structureDescriptor.internalIndex(c)) {
case LanguageConceptSwitch.IndexedTupleLiteral:
if (props_IndexedTupleLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("indexed tuple");
props_IndexedTupleLiteral = cpb.create();
}
return props_IndexedTupleLiteral;
case LanguageConceptSwitch.IndexedTupleMemberAccessExpression:
if (props_IndexedTupleMemberAccessExpression == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("access tuple member by index");
props_IndexedTupleMemberAccessExpression = cpb.create();
}
return props_IndexedTupleMemberAccessExpression;
case LanguageConceptSwitch.IndexedTupleType:
if (props_IndexedTupleType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("indexed tuple type");
props_IndexedTupleType = cpb.create();
}
return props_IndexedTupleType;
case LanguageConceptSwitch.NamedTupleComponentAccessOperation:
if (props_NamedTupleComponentAccessOperation == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_NamedTupleComponentAccessOperation = cpb.create();
}
return props_NamedTupleComponentAccessOperation;
case LanguageConceptSwitch.NamedTupleComponentDeclaration:
if (props_NamedTupleComponentDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_NamedTupleComponentDeclaration = cpb.create();
}
return props_NamedTupleComponentDeclaration;
case LanguageConceptSwitch.NamedTupleComponentReference:
if (props_NamedTupleComponentReference == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_NamedTupleComponentReference = cpb.create();
}
return props_NamedTupleComponentReference;
case LanguageConceptSwitch.NamedTupleDeclaration:
if (props_NamedTupleDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Named tuple declaration");
cpb.icon(IconContainer.RESOURCE_a0a2a0a6b0k);
props_NamedTupleDeclaration = cpb.create();
}
return props_NamedTupleDeclaration;
case LanguageConceptSwitch.NamedTupleLiteral:
if (props_NamedTupleLiteral == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("tuple literal");
props_NamedTupleLiteral = cpb.create();
}
return props_NamedTupleLiteral;
case LanguageConceptSwitch.NamedTupleType:
if (props_NamedTupleType == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("reference to named tuple declaration");
props_NamedTupleType = cpb.create();
}
return props_NamedTupleType;
}
return null;
}
}