package jetbrains.mps.lang.smodel.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 org.jetbrains.mps.openapi.model.SReference;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
import jetbrains.mps.util.NameUtil;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.mps.openapi.model.SNodeReference;
import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
public final class ShowAdapterUsages_MigrationScript extends BaseMigrationScript {
public ShowAdapterUsages_MigrationScript() {
super("Show Adapter Usages");
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "find java util refrences";
}
@Override
public String getAdditionalInfo() {
return "find java util refrences";
}
@Override
public SAbstractConcept getApplicableConcept() {
return MetaAdapterFactory.getConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL, "jetbrains.mps.lang.core.structure.BaseConcept");
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
for (SReference ref : node.getReferences()) {
String targetModelFQName = ref.getTargetSModelReference().getModelName();
if (targetModelFQName.endsWith(".structure@java_stub")) {
return true;
}
}
return false;
}
@Override
public void doUpdateInstanceNode(SNode node) {
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "find adapter class usages";
}
@Override
public String getAdditionalInfo() {
return "find adapter class usages";
}
@Override
public SAbstractConcept getApplicableConcept() {
return MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, "jetbrains.mps.baseLanguage.structure.ClassifierType");
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
if ((SLinkOperations.getTarget(node, MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier")) == null)) {
return false;
}
String className = NameUtil.nodeFQName(SLinkOperations.getTarget(node, MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier")));
String namespace = NameUtil.namespaceFromLongName(className);
return namespace.endsWith(".structure");
}
@Override
public void doUpdateInstanceNode(SNode node) {
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
}
@Nullable
@Override
public SNodeReference getScriptNode() {
return PersistenceFacade.getInstance().createNodeReference("r:00000000-0000-4000-0000-011c89590300(jetbrains.mps.lang.smodel.scripts)/1240143495251");
}
}