package jetbrains.mps.baseLanguage.util.plugin.refactorings;
/*Generated by MPS */
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
public class InlineFieldAssignmentRefactoring extends InlineFieldRefactoring {
private SNode myVariable;
public InlineFieldAssignmentRefactoring(SNode node) {
this.myVariable = node;
}
@Override
public SNode doRefactoring() {
for (SNode reference : this.findAllReferences(this.myVariable)) {
SNodeOperations.replaceWithAnother(reference, SNodeOperations.copyNode(SLinkOperations.getTarget(this.myVariable, MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL, 0xf8c37f506eL, "initializer"))));
}
for (SNode reference : this.findAllReferenceOperations(this.myVariable)) {
SNodeOperations.replaceWithAnother(SNodeOperations.getNodeAncestor(reference, MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46a08c4L, "jetbrains.mps.baseLanguage.structure.DotExpression"), false, false), SNodeOperations.copyNode(SLinkOperations.getTarget(this.myVariable, MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL, 0xf8c37f506eL, "initializer"))));
}
this.optimizeDeclaration(this.myVariable);
return null;
}
}