public void setDocument(IDocument doc) { if (getDocument() instanceof IStructuredDocument) { RegionParser parser = ((IStructuredDocument) getDocument()).getParser(); if (parser instanceof StructuredDocumentRegionParser) { ((StructuredDocumentRegionParser) parser) .removeStructuredDocumentRegionHandler(fResetHandler); } } super.setDocument(doc); IReconcilingStrategy validatorStrategy = getValidatorStrategy(); if (validatorStrategy != null) { validatorStrategy.setDocument(doc); } if (fSemanticHighlightingStrategy != null) { fSemanticHighlightingStrategy.setDocument(doc); } fSpellcheckStrategy = null; if (fFoldingStrategy != null) { fFoldingStrategy.uninstall(); } fFoldingStrategy = null; if (getDocument() instanceof IStructuredDocument) { RegionParser parser = ((IStructuredDocument) doc).getParser(); if (parser instanceof StructuredDocumentRegionParser) { ((StructuredDocumentRegionParser) parser).addStructuredDocumentRegionHandler(fResetHandler); } } }
/** @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#uninstall() */ public void uninstall() { if (isInstalled()) { IReconcilingStrategy validatorStrategy = getValidatorStrategy(); if (validatorStrategy != null) { if (validatorStrategy instanceof IReleasable) ((IReleasable) validatorStrategy).release(); } if (fSpellcheckStrategy != null) { fSpellcheckStrategy.setDocument(null); fSpellcheckStrategy = null; } fReconcileListeners = new ISourceReconcilingListener[0]; if (getDocument() instanceof IStructuredDocument) { RegionParser parser = ((IStructuredDocument) getDocument()).getParser(); if (parser instanceof StructuredDocumentRegionParser) { ((StructuredDocumentRegionParser) parser) .removeStructuredDocumentRegionHandler(fResetHandler); } } } super.uninstall(); }