package jetbrains.mps.ide.editor.util.renderer;
/*Generated by MPS */
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.module.SRepository;
import jetbrains.mps.ide.navigation.NodeNavigatable;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
public class DefaultMethodRenderer extends DefaultNodeRenderer {
public DefaultMethodRenderer(@NotNull SRepository repository) {
super(repository);
}
@Override
protected String getElementText(final NodeNavigatable element) {
SNode labelNode = getLabelNode(element);
if (SNodeOperations.isInstanceOf(labelNode, MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc367388b3L, "jetbrains.mps.baseLanguage.structure.EnumConstantDeclaration"))) {
if (SNodeOperations.isInstanceOf(SNodeOperations.getParent(labelNode), MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc367070a5L, "jetbrains.mps.baseLanguage.structure.EnumClass"))) {
return "Enum constant '" + labelNode.getName() + "' in " + SNodeOperations.getParent(labelNode).getPresentation();
}
}
return (labelNode == null ? "null" : labelNode.getPresentation());
}
@Override
protected SNode getLabelNode(NodeNavigatable element) {
SNode node = element.getNodePointer().resolve(myRepository);
return SNodeOperations.getParent(node);
}
}