package jetbrains.mps.baseLanguage.extensionMethods.editor;
/*Generated by MPS */
import jetbrains.mps.nodeEditor.EditorAspectDescriptorBase;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import jetbrains.mps.openapi.editor.descriptor.ConceptEditor;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import java.util.Collections;
import jetbrains.mps.openapi.editor.descriptor.SubstituteMenu;
import jetbrains.mps.openapi.editor.descriptor.NamedMenuId;
import java.util.Arrays;
import jetbrains.mps.lang.smodel.ConceptSwitchIndex;
import jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
public class EditorAspectDescriptorImpl extends EditorAspectDescriptorBase {
@NotNull
public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) {
SAbstractConcept cncpt_a0a = ((SAbstractConcept) concept);
switch (index_xbvbvu_a0a.index(cncpt_a0a)) {
case 0:
return Collections.<ConceptEditor>singletonList(new ExtensionMethodCall_Editor());
case 1:
return Collections.<ConceptEditor>singletonList(new ExtensionMethodDeclaration_Editor());
case 2:
return Collections.<ConceptEditor>singletonList(new ExtensionStaticFieldDeclaration_Editor());
case 3:
return Collections.<ConceptEditor>singletonList(new ExtensionStaticFieldReference_Editor());
case 4:
return Collections.<ConceptEditor>singletonList(new LocalExtendedMethodCall_Editor());
case 5:
return Collections.<ConceptEditor>singletonList(new SimpleExtensionMethodsContainer_Editor());
case 6:
return Collections.<ConceptEditor>singletonList(new ThisExtensionExpression_Editor());
case 7:
return Collections.<ConceptEditor>singletonList(new TypeExtension_Editor());
default:
}
return Collections.<ConceptEditor>emptyList();
}
@NotNull
@Override
public Collection<SubstituteMenu> getDeclaredDefaultSubstituteMenus(SAbstractConcept concept) {
SAbstractConcept cncpt_a0d = concept;
switch (index_xbvbvu_a0d.index(cncpt_a0d)) {
case 0:
return Collections.<SubstituteMenu>singletonList(new Expression_Contribution());
default:
}
return Collections.<SubstituteMenu>emptyList();
}
@NotNull
@Override
public Collection<SubstituteMenu> getDeclaredNamedSubstituteMenus(NamedMenuId menuId) {
SAbstractConcept cncpt_a0e = (SAbstractConcept) menuId.getConcept();
switch (index_xbvbvu_a0e.index(cncpt_a0e)) {
case 0:
if (true) {
switch (Arrays.binarySearch(stringSwitchCases_xbvbvu_a0a0a0a1a4, menuId.getFqName())) {
case 0:
return Arrays.asList(new SubstituteMenu[]{new InstanceMethodCallSubstitute()});
case 1:
return Arrays.asList(new SubstituteMenu[]{new ThisExtensionMethodSubstitute()});
default:
}
}
break;
default:
}
return Collections.<SubstituteMenu>emptyList();
}
private static final ConceptSwitchIndex index_xbvbvu_a0a = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1583d1b63359483bL), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1583d1b63365e7f9L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1b622d944bc0aff7L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1b622d944bbdfbc7L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6aa7ca55518b9170L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6f5433076532f593L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x2e076d2695911333L), MetaIdFactory.conceptId(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1a4abaca2a94ce10L)).seal();
private static final ConceptSwitchIndex index_xbvbvu_a0d = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL)).seal();
private static final ConceptSwitchIndex index_xbvbvu_a0e = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL)).seal();
private static String[] stringSwitchCases_xbvbvu_a0a0a0a1a4 = new String[]{"jetbrains.mps.baseLanguage.extensionMethods.editor.InstanceMethodCallSubstitute", "jetbrains.mps.baseLanguage.extensionMethods.editor.ThisExtensionMethodSubstitute"};
}