improved PHP parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / core / IJavaElement.java
index a4160bb..cea7b63 100644 (file)
@@ -13,6 +13,7 @@ package net.sourceforge.phpdt.core;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
 
 /**
  * Common protocol for all elements provided by the Java model.
@@ -111,6 +112,12 @@ public interface IJavaElement extends IAdaptable {
        int IMPORT_DECLARATION = 13;
 
        /**
+        * Constant representing a local variable declaration.
+        * A Java element with this type can be safely cast to <code>ILocalVariable</code>.
+        * @since 3.0
+        */
+       int LOCAL_VARIABLE = 14;
+       /**
         * Returns whether this Java element exists in the model.
         * <p>
         * Java elements are handle objects that may or may not be backed by an
@@ -197,7 +204,7 @@ public interface IJavaElement extends IAdaptable {
         *
         * @return the Java model
         */
-       // IJavaModel getJavaModel();
+        IJavaModel getJavaModel();
 
        /**
         * Returns the Java project this element is contained in,
@@ -209,7 +216,7 @@ public interface IJavaElement extends IAdaptable {
         * @return the containing Java project, or <code>null</code> if this element is
         *   not contained in a Java project
         */
-//     IJavaProject getJavaProject();
+       IJavaProject getJavaProject();
 
        /**
         * Returns the first openable parent. If this element is openable, the element
@@ -245,7 +252,18 @@ public interface IJavaElement extends IAdaptable {
         * @since 2.0
         */
        IPath getPath();
-
+       /**
+        * Returns the primary element (whose compilation unit is the primary compilation unit)
+        * this working copy element was created from, or this element if it is a descendant of a
+        * primary compilation unit or if it is not a descendant of a working copy (e.g. it is a
+        * binary member).
+        * The returned element may or may not exist.
+        * 
+        * @return the primary element this working copy element was created from, or this
+        *                      element.
+        * @since 3.0
+        */
+       IJavaElement getPrimaryElement();
        /**
         * Returns the innermost resource enclosing this element. 
         * If this element is included in an archive and this archive is not external, 
@@ -260,7 +278,14 @@ public interface IJavaElement extends IAdaptable {
         * @since 2.0
         */
        IResource getResource();
-
+       /**
+        * Returns the scheduling rule associated with this Java element.
+        * This is a handle-only method.
+        * 
+        * @return the scheduling rule associated with this Java element
+        * @since 3.0
+        */
+       ISchedulingRule getSchedulingRule();
        /**
         * Returns the smallest underlying resource that contains
         * this element, or <code>null</code> if this element is not contained