package jetbrains.mps.lang.structure.scripts; /*Generated by MPS */ import jetbrains.mps.lang.script.runtime.BaseMigrationScript; import jetbrains.mps.lang.script.runtime.AbstractMigrationRefactoring; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import org.jetbrains.annotations.Nullable; import org.jetbrains.mps.openapi.model.SNodeReference; import org.jetbrains.mps.openapi.persistence.PersistenceFacade; public final class RemoveBackslashesFromIconPath_MigrationScript extends BaseMigrationScript { public RemoveBackslashesFromIconPath_MigrationScript() { super("Remove backslashes from macros in iconPath"); this.addRefactoring(new AbstractMigrationRefactoring() { @Override public String getName() { return "Remove backslashes from macros in iconPath"; } @Override public String getAdditionalInfo() { return "Remove backslashes from macros in iconPath"; } @Override public SAbstractConcept getApplicableConcept() { return MetaAdapterFactory.getConcept(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, "jetbrains.mps.lang.structure.structure.ConceptDeclaration"); } @Override public boolean isApplicableInstanceNode(SNode node) { String iconPath = SPropertyOperations.getString(node, MetaAdapterFactory.getProperty(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, 0x10e328118ddL, "iconPath")); return iconPath != null && iconPath.startsWith("${") && iconPath.indexOf('\\') != -1; } @Override public void doUpdateInstanceNode(SNode node) { SPropertyOperations.set(node, MetaAdapterFactory.getProperty(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, 0x10e328118ddL, "iconPath"), SPropertyOperations.getString(node, MetaAdapterFactory.getProperty(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, 0x10e328118ddL, "iconPath")).replace('\\', '/')); } @Override public boolean isShowAsIntention() { return true; } }); } @Nullable @Override public SNodeReference getScriptNode() { return PersistenceFacade.getInstance().createNodeReference("r:00000000-0000-4000-0000-011c89590291(jetbrains.mps.lang.structure.scripts)/4376713410984067201"); } }