Files
DynamicC/languages/dynamicc/source_gen/dynamicc/editor/FunctionParameter_SubstituteMenu.java
2019-12-19 00:49:58 +01:00

98 lines
4.5 KiB
Java

package dynamicc.editor;
/*Generated by MPS */
import jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import jetbrains.mps.lang.editor.menus.MenuPart;
import jetbrains.mps.openapi.editor.menus.substitute.SubstituteMenuItem;
import jetbrains.mps.openapi.editor.menus.substitute.SubstituteMenuContext;
import java.util.ArrayList;
import jetbrains.mps.lang.editor.menus.substitute.ConstraintsFilteringSubstituteMenuPartDecorator;
import jetbrains.mps.lang.editor.menus.EditorMenuDescriptorBase;
import jetbrains.mps.smodel.SNodePointer;
import jetbrains.mps.lang.editor.menus.substitute.ReferenceScopeSubstituteMenuPart;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.lang.editor.menus.ConceptMenusPart;
import java.util.Collection;
import jetbrains.mps.smodel.ConceptDescendantsCache;
import jetbrains.mps.lang.editor.menus.substitute.DefaultSubstituteMenuLookup;
import jetbrains.mps.smodel.language.LanguageRegistry;
import org.jetbrains.mps.openapi.language.SConcept;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import org.jetbrains.mps.openapi.language.SReferenceLink;
public class FunctionParameter_SubstituteMenu extends SubstituteMenuBase {
@NotNull
@Override
protected List<MenuPart<SubstituteMenuItem, SubstituteMenuContext>> getParts(final SubstituteMenuContext _context) {
List<MenuPart<SubstituteMenuItem, SubstituteMenuContext>> result = new ArrayList<MenuPart<SubstituteMenuItem, SubstituteMenuContext>>();
result.add(new ConstraintsFilteringSubstituteMenuPartDecorator(new SMP_ReferenceScope_w5syfn_a(), CONCEPTS.FunctionParameter$AW));
result.add(new SMP_Subconcepts_w5syfn_b());
return result;
}
@NotNull
@Override
public List<SubstituteMenuItem> createMenuItems(@NotNull SubstituteMenuContext context) {
context.getEditorMenuTrace().pushTraceInfo();
context.getEditorMenuTrace().setDescriptor(new EditorMenuDescriptorBase("default substitute menu for FunctionParameter. Generated from implicit smart reference attribute.", new SNodePointer("r:0137df68-fadf-4334-b96f-dbc443ca6ded(dynamicc.structure)", "2804056819677594602")));
try {
return super.createMenuItems(context);
} finally {
context.getEditorMenuTrace().popTraceInfo();
}
}
public class SMP_ReferenceScope_w5syfn_a extends ReferenceScopeSubstituteMenuPart {
public SMP_ReferenceScope_w5syfn_a() {
// that cast is needed for prevent the users from https://youtrack.jetbrains.com/issue/MPS-29051
super((SAbstractConcept) CONCEPTS.FunctionParameter$AW, LINKS.type$YYfM);
}
@NotNull
@Override
public List<SubstituteMenuItem> createItems(SubstituteMenuContext context) {
context.getEditorMenuTrace().pushTraceInfo();
context.getEditorMenuTrace().setDescriptor(new EditorMenuDescriptorBase("reference scope substitute menu part", null));
try {
return super.createItems(context);
} finally {
context.getEditorMenuTrace().popTraceInfo();
}
}
}
public class SMP_Subconcepts_w5syfn_b extends ConceptMenusPart<SubstituteMenuItem, SubstituteMenuContext> {
protected Collection getConcepts(final SubstituteMenuContext _context) {
return ConceptDescendantsCache.getInstance().getDirectDescendants(CONCEPTS.FunctionParameter$AW);
}
@NotNull
@Override
public List<SubstituteMenuItem> createItems(SubstituteMenuContext context) {
context.getEditorMenuTrace().pushTraceInfo();
context.getEditorMenuTrace().setDescriptor(new EditorMenuDescriptorBase("include menus for all the direct subconcepts of " + "FunctionParameter", null));
try {
return super.createItems(context);
} finally {
context.getEditorMenuTrace().popTraceInfo();
}
}
@Override
protected Collection<SubstituteMenuItem> createItemsForConcept(SubstituteMenuContext context, SAbstractConcept concept) {
return context.createItems(new DefaultSubstituteMenuLookup(LanguageRegistry.getInstance(context.getEditorContext().getRepository()), concept));
}
}
private static final class CONCEPTS {
/*package*/ static final SConcept FunctionParameter$AW = MetaAdapterFactory.getConcept(0xa6d9727f49824bf8L, 0xabdd083fea5126abL, 0x26ea02d22ae503eaL, "dynamicc.structure.FunctionParameter");
}
private static final class LINKS {
/*package*/ static final SReferenceLink type$YYfM = MetaAdapterFactory.getReferenceLink(0xa6d9727f49824bf8L, 0xabdd083fea5126abL, 0x3a6fd2de0c335c2eL, 0x3a6fd2de0c345a7cL, "type");
}
}