fixed update conflict and outline update bug
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / CompilationUnit.java
index 95511d9..feeabcc 100644 (file)
@@ -219,7 +219,8 @@ protected boolean buildStructure(OpenableElementInfo info, final IProgressMonito
  * @see IWorkingCopy#commit(boolean, IProgressMonitor)
  */
 public void commit(boolean force, IProgressMonitor monitor) throws JavaModelException {
-       throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.INVALID_ELEMENT_TYPES, this));
+  commitWorkingCopy(force, monitor);
+//     throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.INVALID_ELEMENT_TYPES, this));
 }
 /**
  * @see ICompilationUnit#commitWorkingCopy(boolean, IProgressMonitor)
@@ -440,31 +441,31 @@ public ICompilationUnit findWorkingCopy(WorkingCopyOwner workingCopyOwner) {
                }
        }
 }
-protected boolean generateInfos(OpenableElementInfo info, IProgressMonitor pm, Map newElements, IResource underlyingResource) throws JavaModelException {
-
-//     if (getParent() instanceof JarPackageFragment) {
-//             // ignore .java files in jar
-//             throw newNotPresentException();
-//     } else {
-               // put the info now, because getting the contents requires it
-               JavaModelManager.getJavaModelManager().putInfo(this, info);
-               CompilationUnitElementInfo unitInfo = (CompilationUnitElementInfo) info;
-
-               // generate structure
-               CompilationUnitStructureRequestor requestor = new CompilationUnitStructureRequestor(this, unitInfo, newElements);
-               IProblemFactory factory = new DefaultProblemFactory();
-               SourceElementParser parser = new SourceElementParser(requestor, factory, new CompilerOptions(getJavaProject().getOptions(true)));
-//       SourceElementParser parser = new SourceElementParser(requestor, factory);
-               requestor.parser = parser;
-               parser.parseCompilationUnit(this, false);
-               if (isWorkingCopy()) {
-                       CompilationUnit original = (CompilationUnit) getOriginalElement();
-                       // might be IResource.NULL_STAMP if original does not exist
-                       unitInfo.timestamp = ((IFile) original.getResource()).getModificationStamp();
-               }
-               return unitInfo.isStructureKnown();
-//     }
-}
+//protected boolean generateInfos(OpenableElementInfo info, IProgressMonitor pm, Map newElements, IResource underlyingResource) throws JavaModelException {
+//
+////   if (getParent() instanceof JarPackageFragment) {
+////           // ignore .java files in jar
+////           throw newNotPresentException();
+////   } else {
+//             // put the info now, because getting the contents requires it
+//             JavaModelManager.getJavaModelManager().putInfo(this, info);
+//             CompilationUnitElementInfo unitInfo = (CompilationUnitElementInfo) info;
+//
+//             // generate structure
+//             CompilationUnitStructureRequestor requestor = new CompilationUnitStructureRequestor(this, unitInfo, newElements);
+//             IProblemFactory factory = new DefaultProblemFactory();
+//             SourceElementParser parser = new SourceElementParser(requestor, factory, new CompilerOptions(getJavaProject().getOptions(true)));
+////     SourceElementParser parser = new SourceElementParser(requestor, factory);
+//             requestor.parser = parser;
+//             parser.parseCompilationUnit(this, false);
+//             if (isWorkingCopy()) {
+//                     CompilationUnit original = (CompilationUnit) getOriginalElement();
+//                     // might be IResource.NULL_STAMP if original does not exist
+//                     unitInfo.timestamp = ((IFile) original.getResource()).getModificationStamp();
+//             }
+//             return unitInfo.isStructureKnown();
+////   }
+//}
 /**
  * @see ICompilationUnit#getAllTypes()
  */
@@ -1111,12 +1112,20 @@ public void rename(String name, boolean force, IProgressMonitor monitor) throws
        String[] renamings= new String[] {name};
        getJavaModel().rename(elements, dests, renamings, force, monitor);
 }
-/**
- * Does nothing - this is not a working copy.
- *
- * @see IWorkingCopy#restore()
+
+/*
+ * @see ICompilationUnit
  */
 public void restore () throws JavaModelException {
+
+       if (!isWorkingCopy()) return;
+
+       CompilationUnit original = (CompilationUnit) getOriginalElement();
+       IBuffer buffer = this.getBuffer();
+       if (buffer == null) return;
+       buffer.setContents(original.getContents());
+       updateTimeStamp(original);
+       makeConsistent(null);
 }
 /**
  * @see ICodeAssist#codeComplete(int, ICodeCompletionRequestor)
@@ -1196,6 +1205,7 @@ public void restore () throws JavaModelException {
 //                     (IPackageFragment)((JavaElement)parent).rootedAt(project), 
 //                     name);
 //}
+
 /*
  * Assume that this is a working copy
  */