package ca.uwaterloo.ece.qhanam.jrsrepair; import java.io.File; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.Document; import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; /** * Stores a Document/ASTRewrite pair so that we can synchronize changes to Documents * and ASTs. * @author qhanam * */ public class DocumentASTRewrite { public File backingFile; public IDocument document; public IDocument modifiedDocument; public ASTRewrite rewriter; private boolean modified; private boolean tainted; public DocumentASTRewrite(IDocument document, File backingFile, ASTRewrite rewriter){ this.backingFile = backingFile; this.document = document; this.rewriter = rewriter; this.tainted = false; this.modified = false; this.resetModifiedDocument(); } public void taintDocument(){ this.modified = true; this.tainted = true; } public void untaintDocument(){ this.tainted = false; } public boolean isDocumentTainted(){ return this.tainted; } public void resetModifiedDocument(){ this.modifiedDocument = new Document(document.get()); } public boolean isDocumentModified(){ return this.modified; } }