1) Fixed issue #872.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ISourceElementRequestor.java
index 58c2541..2d1e256 100644 (file)
@@ -13,115 +13,116 @@ package net.sourceforge.phpdt.internal.compiler;
 import net.sourceforge.phpdt.core.compiler.IProblem;
 
 /*
- * Part of the source element parser responsible for building the output.
- * It gets notified of structural information as they are detected, relying
- * on the requestor to assemble them together, based on the notifications it got.
- *
- * The structural investigation includes:
- * - package statement
- * - import statements
- * - top-level types: package member, member types (member types of member types...)
- * - fields
- * - methods
- *
+ * Part of the source element parser responsible for building the output. It
+ * gets notified of structural information as they are detected, relying on the
+ * requestor to assemble them together, based on the notifications it got.
+ * 
+ * The structural investigation includes: - package statement - import
+ * statements - top-level types: package member, member types (member types of
+ * member types...) - fields - methods
+ * 
  * If reference information is requested, then all source constructs are
  * investigated and type, field & method references are provided as well.
- *
+ * 
  * Any (parsing) problem encountered is also provided.
- *
+ * 
  * All positions are relative to the exact source fed to the parser.
- *
- * Elements which are complex are notified in two steps:
- * - enter<Element> : once the element header has been identified
- * - exit<Element> : once the element has been fully consumed
- *
- * other simpler elements (package, import) are read all at once:
- * - accept<Element>
+ * 
+ * Elements which are complex are notified in two steps: - enter<Element> :
+ * once the element header has been identified - exit<Element> : once the
+ * element has been fully consumed
+ * 
+ * other simpler elements (package, import) are read all at once: - accept<Element>
  */
 
 public interface ISourceElementRequestor {
-  void acceptConstructorReference(char[] typeName, int argCount, int sourcePosition);
-  //void acceptFieldReference(char[] fieldName, int sourcePosition);
-  /**
-   * @param declarationStart This is the position of the first character of the
-   *                                              import keyword.
-   * @param declarationEnd This is the position of the ';' ending the import statement
-   *                                            or the end of the comment following the import.
-   * @param name This is the name of the import like specified in the source including the dots. The '.*'
-   *             is never included in the name.
-   * @param onDemand set to true if the import is an import on demand (e.g. import java.io.*). False otherwise.
-   */
-  void acceptImport(
-       int declarationStart,
-       int declarationEnd,
-       char[] name,
-       boolean onDemand);
-  /*
-   * Table of line separator position. This table is passed once at the end
-   * of the parse action, so as to allow computation of normalized ranges.
-   *
-   * A line separator might corresponds to several characters in the source,
-   * 
-   */
-  void acceptLineSeparatorPositions(int[] positions);
-  void acceptMethodReference(char[] methodName, int argCount, int sourcePosition);
-  //void acceptPackage(
-  //   int declarationStart,
-  //   int declarationEnd,
-  //   char[] name);
-  void acceptProblem(IProblem problem);
-  void acceptTypeReference(char[][] typeName, int sourceStart, int sourceEnd);
-  void acceptTypeReference(char[] typeName, int sourcePosition);
-  void acceptUnknownReference(char[][] name, int sourceStart, int sourceEnd);
-  void acceptUnknownReference(char[] name, int sourcePosition);
-  void enterClass(
-    int declarationStart,
-    int modifiers,
-    char[] name,
-    int nameSourceStart,
-    int nameSourceEnd,
-    char[] superclass,
-    char[][] superinterfaces);
-  void enterCompilationUnit();
-  void enterConstructor(
-    int declarationStart,
-    int modifiers,
-    char[] name,
-    int nameSourceStart,
-    int nameSourceEnd,
-    char[][] parameterTypes,
-    char[][] parameterNames,
-    char[][] exceptionTypes);
-  void enterField(int declarationStart, int modifiers, char[] type, char[] name, int nameSourceStart, int nameSourceEnd);
-  //void enterInitializer(
-  //   int declarationStart,
-  //   int modifiers);
-  void enterInterface(
-    int declarationStart,
-    int modifiers,
-    char[] name,
-    int nameSourceStart,
-    int nameSourceEnd,
-    char[][] superinterfaces);
-  void enterMethod(
-    int declarationStart,
-    int modifiers,
-    char[] returnType,
-    char[] name,
-    int nameSourceStart,
-    int nameSourceEnd,
-    char[][] parameterTypes,
-    char[][] parameterNames,
-    char[][] exceptionTypes);
-  void exitClass(int declarationEnd);
-  void exitCompilationUnit(int declarationEnd);
-  void exitConstructor(int declarationEnd);
-  /*
-   * initializationStart denotes the source start of the expression used for initializing
-   * the field if any (-1 if no initialization).
-   */
-  void exitField(int initializationStart, int declarationEnd, int declarationSourceEnd);
-  void exitInitializer(int declarationEnd);
-  void exitInterface(int declarationEnd);
-  void exitMethod(int declarationEnd);
+       void acceptConstructorReference(char[] typeName, int argCount,
+                       int sourcePosition);
+
+       // void acceptFieldReference(char[] fieldName, int sourcePosition);
+       /**
+        * @param declarationStart
+        *            This is the position of the first character of the import
+        *            keyword.
+        * @param declarationEnd
+        *            This is the position of the ';' ending the import statement or
+        *            the end of the comment following the import.
+        * @param name
+        *            This is the name of the import like specified in the source
+        *            including the dots. The '.*' is never included in the name.
+        * @param onDemand
+        *            set to true if the import is an import on demand (e.g. import
+        *            java.io.*). False otherwise.
+        */
+       void acceptImport(int declarationStart, int declarationEnd, char[] name,
+                       boolean onDemand);
+
+       /*
+        * Table of line separator position. This table is passed once at the end of
+        * the parse action, so as to allow computation of normalized ranges.
+        * 
+        * A line separator might corresponds to several characters in the source,
+        * 
+        */
+       void acceptLineSeparatorPositions(int[] positions);
+
+       void acceptMethodReference(char[] methodName, int argCount,
+                       int sourcePosition);
+
+       // void acceptPackage(
+       // int declarationStart,
+       // int declarationEnd,
+       // char[] name);
+       void acceptProblem(IProblem problem);
+
+       void acceptTypeReference(char[][] typeName, int sourceStart, int sourceEnd);
+
+       void acceptTypeReference(char[] typeName, int sourcePosition);
+
+       void acceptUnknownReference(char[][] name, int sourceStart, int sourceEnd);
+
+       void acceptUnknownReference(char[] name, int sourcePosition);
+
+       void enterClass(int declarationStart, int modifiers, char[] name,
+                       int nameSourceStart, int nameSourceEnd, char[] superclass,
+                       char[][] superinterfaces);
+
+       void enterCompilationUnit();
+
+       void enterConstructor(int declarationStart, int modifiers, char[] name,
+                       int nameSourceStart, int nameSourceEnd, char[][] parameterTypes,
+                       char[][] parameterNames, char[][] exceptionTypes);
+
+       void enterField(int declarationStart, int modifiers, char[] type,
+                       char[] name, int nameSourceStart, int nameSourceEnd);
+
+       // void enterInitializer(
+       // int declarationStart,
+       // int modifiers);
+       void enterInterface(int declarationStart, int modifiers, char[] name,
+                       int nameSourceStart, int nameSourceEnd, char[][] superinterfaces);
+
+       void enterMethod(int declarationStart, int modifiers, char[] returnType,
+                       char[] name, int nameSourceStart, int nameSourceEnd,
+                       char[][] parameterTypes, char[][] parameterNames,
+                       char[][] exceptionTypes);
+
+       void exitClass(int declarationEnd);
+
+       void exitCompilationUnit(int declarationEnd);
+
+       void exitConstructor(int declarationEnd);
+
+       /*
+        * initializationStart denotes the source start of the expression used for
+        * initializing the field if any (-1 if no initialization).
+        */
+       void exitField(int initializationStart, int declarationEnd,
+                       int declarationSourceEnd);
+
+       void exitInitializer(int declarationEnd);
+
+       void exitInterface(int declarationEnd);
+
+       void exitMethod(int declarationEnd);
 }