package jetbrains.mps.lang.generator.plan.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_ApplyGenerators;
private ConceptPresentation props_Checkpoint;
private ConceptPresentation props_CheckpointDeclaration;
private ConceptPresentation props_CheckpointSpecification;
private ConceptPresentation props_CheckpointSynchronization;
private ConceptPresentation props_DeclaredCheckpointSpec;
private ConceptPresentation props_InPlaceCheckpointRefSpec;
private ConceptPresentation props_InPlaceCheckpointSpec;
private ConceptPresentation props_Plan;
private ConceptPresentation props_Step;
private ConceptPresentation props_Transform;
@Override
@Nullable
public ConceptPresentation getDescriptor(SAbstractConcept c) {
StructureAspectDescriptor structureDescriptor = (StructureAspectDescriptor) myLanguageRuntime.getAspect(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.class);
switch (structureDescriptor.internalIndex(c)) {
case LanguageConceptSwitch.ApplyGenerators:
if (props_ApplyGenerators == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Collection of generators to apply directly");
props_ApplyGenerators = cpb.create();
}
return props_ApplyGenerators;
case LanguageConceptSwitch.Checkpoint:
if (props_Checkpoint == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Synchronization point of a generation plan");
props_Checkpoint = cpb.create();
}
return props_Checkpoint;
case LanguageConceptSwitch.CheckpointDeclaration:
if (props_CheckpointDeclaration == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Declaration of a checkpoint suitable for reuse, with no persistence/synchronization semantics attached.");
props_CheckpointDeclaration = cpb.create();
}
return props_CheckpointDeclaration;
case LanguageConceptSwitch.CheckpointSpecification:
if (props_CheckpointSpecification == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_CheckpointSpecification = cpb.create();
}
return props_CheckpointSpecification;
case LanguageConceptSwitch.CheckpointSynchronization:
if (props_CheckpointSynchronization == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Take external references associated with the given checkpoint");
props_CheckpointSynchronization = cpb.create();
}
return props_CheckpointSynchronization;
case LanguageConceptSwitch.DeclaredCheckpointSpec:
if (props_DeclaredCheckpointSpec == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("use a pure checkpoint declared elsewhere");
props_DeclaredCheckpointSpec = cpb.create();
}
return props_DeclaredCheckpointSpec;
case LanguageConceptSwitch.InPlaceCheckpointRefSpec:
if (props_InPlaceCheckpointRefSpec == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("reference another checkpoint step with in-place declaration");
props_InPlaceCheckpointRefSpec = cpb.create();
}
return props_InPlaceCheckpointRefSpec;
case LanguageConceptSwitch.InPlaceCheckpointSpec:
if (props_InPlaceCheckpointSpec == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("define checkpoint right here");
props_InPlaceCheckpointSpec = cpb.create();
}
return props_InPlaceCheckpointSpec;
case LanguageConceptSwitch.Plan:
if (props_Plan == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Sequence of transformation steps");
props_Plan = cpb.create();
}
return props_Plan;
case LanguageConceptSwitch.Step:
if (props_Step == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
props_Step = cpb.create();
}
return props_Step;
case LanguageConceptSwitch.Transform:
if (props_Transform == null) {
ConceptPresentationBuilder cpb = new ConceptPresentationBuilder();
cpb.shortDesc("Collection of languages to reduce (iow, generators to apply)");
props_Transform = cpb.create();
}
return props_Transform;
}
return null;
}
}