package jetbrains.mps.baseLanguage.javadoc.intentions;
/*Generated by MPS */
import jetbrains.mps.intentions.AbstractIntentionAspectDescriptor;
import jetbrains.mps.openapi.intentions.IntentionFactory;
import java.util.Map;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import java.util.HashMap;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import jetbrains.mps.lang.smodel.ConceptSwitchIndex;
import jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
public final class IntentionsDescriptor extends AbstractIntentionAspectDescriptor {
private static final IntentionFactory[] EMPTY_ARRAY = new IntentionFactory[0];
private Map<SAbstractConcept, IntentionFactory[]> myCached = new HashMap<SAbstractConcept, IntentionFactory[]>();
public IntentionsDescriptor() {
}
@Nullable
public Collection<IntentionFactory> getIntentions(@NotNull SAbstractConcept concept) {
if (myCached.containsKey(concept)) {
return Arrays.asList(myCached.get(concept));
}
IntentionFactory[] intentions = EMPTY_ARRAY;
SAbstractConcept cncpt_d0f = concept;
switch (index_hphjzv_d0f.index(cncpt_d0f)) {
case 0:
if (true) {
// Concept: BaseDocComment
intentions = new IntentionFactory[6];
intentions[0] = new AddAuthorBlockDocTag_Intention();
intentions[1] = new AddSinceBlockDocTag_Intention();
intentions[2] = new AddVersionBlockTagDoc_Intention();
intentions[3] = new AddSeeBlockTag_Intention();
intentions[4] = new AddDeprecatedBlockDocTag_Intention();
intentions[5] = new OrganizeTags_Intention();
}
break;
case 1:
if (true) {
// Concept: BaseMethodDeclaration
intentions = new IntentionFactory[1];
intentions[0] = new AddMethodDocComment_Intention();
}
break;
case 2:
if (true) {
// Concept: Classifier
intentions = new IntentionFactory[1];
intentions[0] = new AddClassifierDocComment_Intention();
}
break;
case 3:
if (true) {
// Concept: FieldDeclaration
intentions = new IntentionFactory[1];
intentions[0] = new AddFieldDocComment_Intention();
}
break;
case 4:
if (true) {
// Concept: HTMLElement
intentions = new IntentionFactory[1];
intentions[0] = new FoldHTMLElement_Intention();
}
break;
case 5:
if (true) {
// Concept: MethodDocComment
intentions = new IntentionFactory[3];
intentions[0] = new AddParameterBlockDocTag_Intention();
intentions[1] = new AddReturnBlockTag_Intention();
intentions[2] = new AddThrowBlockDocTag_Intention();
}
break;
case 6:
if (true) {
// Concept: StaticFieldDeclaration
intentions = new IntentionFactory[1];
intentions[0] = new AddStaticFieldDocComment_Intention();
}
break;
default:
}
myCached.put(concept, intentions);
return Arrays.asList(intentions);
}
@NotNull
@Override
public Collection<IntentionFactory> getAllIntentions() {
IntentionFactory[] rv = new IntentionFactory[14];
rv[0] = new AddMethodDocComment_Intention();
rv[1] = new AddAuthorBlockDocTag_Intention();
rv[2] = new AddSinceBlockDocTag_Intention();
rv[3] = new AddVersionBlockTagDoc_Intention();
rv[4] = new AddParameterBlockDocTag_Intention();
rv[5] = new AddReturnBlockTag_Intention();
rv[6] = new AddFieldDocComment_Intention();
rv[7] = new AddClassifierDocComment_Intention();
rv[8] = new AddSeeBlockTag_Intention();
rv[9] = new AddStaticFieldDocComment_Intention();
rv[10] = new FoldHTMLElement_Intention();
rv[11] = new AddThrowBlockDocTag_Intention();
rv[12] = new AddDeprecatedBlockDocTag_Intention();
rv[13] = new OrganizeTags_Intention();
return Arrays.asList(rv);
}
private static final ConceptSwitchIndex index_hphjzv_d0f = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x4a3c146b7fae70d3L), MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b1fcL), MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101d9d3ca30L), MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca68L), MetaIdFactory.conceptId(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x5bc4aa08e154b399L), MetaIdFactory.conceptId(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x4a3c146b7faeeb34L), MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93c84351fL)).seal();
}