improved PHP parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / JavaModel.java
index 489e3c6..e184748 100644 (file)
@@ -18,7 +18,10 @@ import java.util.Map;
 import net.sourceforge.phpdt.core.IJavaElement;
 import net.sourceforge.phpdt.core.IJavaModel;
 import net.sourceforge.phpdt.core.IJavaProject;
+import net.sourceforge.phpdt.core.IOpenable;
 import net.sourceforge.phpdt.core.JavaModelException;
+import net.sourceforge.phpdt.core.WorkingCopyOwner;
+import net.sourceforge.phpdt.internal.core.util.MementoTokenizer;
 import net.sourceforge.phpdt.internal.core.util.Util;
 
 import org.eclipse.core.resources.IContainer;
@@ -31,9 +34,6 @@ import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import net.sourceforge.phpdt.internal.core.JavaModelInfo;
-import net.sourceforge.phpdt.internal.core.JavaProject;
-import net.sourceforge.phpdt.internal.core.OpenableElementInfo;
 import org.eclipse.jface.util.Assert;
 
 
@@ -358,6 +358,20 @@ protected boolean generateInfos(
 //}
 
 
+/*
+ * @see JavaElement
+ */
+public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner) {
+       switch (token.charAt(0)) {
+               case JEM_COUNT:
+                       return getHandleUpdatingCountFromMemento(memento, owner);
+               case JEM_JAVAPROJECT:
+                       String projectName = memento.nextToken();
+                       JavaElement project = (JavaElement)getJavaProject(projectName);
+                       return project.getHandleFromMemento(memento, owner);
+       }
+       return null;
+}
 /**
  * @see JavaElement#getHandleMemento()
  */
@@ -372,6 +386,7 @@ protected char getHandleMementoDelimiter(){
        Assert.isTrue(false, "Should not be called"); //$NON-NLS-1$
        return 0;
 }
+
 /**
  * @see IJavaModel
  */