package jetbrains.mps.lang.structure.pluginSolution.plugin; /*Generated by MPS */ import jetbrains.mps.refactoring.participant.MoveNodeRefactoringParticipant; import jetbrains.mps.baseLanguage.tuples.runtime.Tuples; import org.jetbrains.mps.openapi.model.SNodeReference; import org.jetbrains.mps.openapi.model.SNode; import java.util.List; import jetbrains.mps.refactoring.participant.RefactoringParticipant; import org.jetbrains.mps.openapi.module.SRepository; import jetbrains.mps.util.annotation.ToRemove; public abstract class StructureSpecializationBase<T> implements StructureSpecialization<T, T>, MoveNodeRefactoringParticipant.MoveNodeRefactoringDataCollector<Tuples._2<T, SNodeReference>, Tuples._2<T, SNodeReference>> { public Tuples._2<T, SNodeReference> beforeMove(SNode nodeToMove) { return fetchState(nodeToMove); } public Tuples._2<T, SNodeReference> afterMove(SNode movedNode) { return fetchState(movedNode); } public abstract Tuples._2<T, SNodeReference> fetchState(SNode movingNode); public void confirm(List<RefactoringParticipant.Option> selectedOptions, Tuples._2<T, SNodeReference> initialState, Tuples._2<T, SNodeReference> finalState, SRepository repository, LanguageStructureMigrationParticipant.MigrationBuilder migrationBuilder, boolean updateModuleDependencies) { confirm(initialState, finalState, repository, migrationBuilder); } @Deprecated @ToRemove(version = 3.5) public void confirm(Tuples._2<T, SNodeReference> initialState, Tuples._2<T, SNodeReference> finalState, SRepository repository, LanguageStructureMigrationParticipant.MigrationBuilder migrationBuilder) { throw new UnsupportedOperationException(); } }