A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / jdom / SimpleDOMBuilder.java
index a308317..90bcd3d 100644 (file)
@@ -25,220 +25,257 @@ import net.sourceforge.phpdt.internal.core.util.CharArrayOps;
 /**
  * A DOM builder that uses the SourceElementParser
  */
-public class SimpleDOMBuilder extends AbstractDOMBuilder implements ISourceElementRequestor {
-
-  public void acceptImport(int declarationStart, int declarationEnd, char[] name, boolean onDemand) {
-    int[] sourceRange = { declarationStart, declarationEnd };
-    String importName = new String(name);
-    /** name is set to contain the '*' */
-    if (onDemand) {
-      importName += ".*"; //$NON-NLS-1$
-    }
-    fNode = new DOMImport(fDocument, sourceRange, importName, onDemand);
-    addChild(fNode);
-  }
-
-  public void acceptPackage(int declarationStart, int declarationEnd, char[] name) {
-    int[] sourceRange = new int[] { declarationStart, declarationEnd };
-    fNode = new DOMPackage(fDocument, sourceRange, CharArrayOps.charToString(name));
-    addChild(fNode);
-  }
-
-  /**
-   * @see IDOMFactory#createCompilationUnit(String, String)
-   */
-  public IDOMCompilationUnit createCompilationUnit(String sourceCode, String name) {
-    return createCompilationUnit(sourceCode.toCharArray(), name.toCharArray());
-  }
-
-  /**
-   * @see IDOMFactory#createCompilationUnit(String, String)
-   */
-  public IDOMCompilationUnit createCompilationUnit(ICompilationUnit compilationUnit) {
-    initializeBuild(compilationUnit.getContents(), true, true);
-    getParser(JavaCore.getOptions()).parseCompilationUnit(compilationUnit, false);
-    return super.createCompilationUnit(compilationUnit);
-  }
-
-  /**
-   * Creates a new DOMMethod and inizializes.
-   * 
-   * @param declarationStart -
-   *          a source position corresponding to the first character of this constructor declaration
-   * @param modifiers -
-   *          the modifiers for this constructor converted to a flag
-   * @param returnType -
-   *          the name of the return type
-   * @param name -
-   *          the name of this constructor
-   * @param nameStart -
-   *          a source position corresponding to the first character of the name
-   * @param nameEnd -
-   *          a source position corresponding to the last character of the name
-   * @param parameterTypes -
-   *          a list of parameter type names
-   * @param parameterNames -
-   *          a list of the names of the parameters
-   * @param exceptionTypes -
-   *          a list of the exception types
-   */
-  protected void enterAbstractMethod(int declarationStart, int modifiers, char[] returnType, char[] name, int nameStart,
-      int nameEnd, char[][] parameterTypes, char[][] parameterNames, char[][] exceptionTypes, boolean isConstructor) {
-
-    int[] sourceRange = { declarationStart, -1 }; // will be fixed up on exit
-    int[] nameRange = { nameStart, nameEnd };
-    fNode = new DOMMethod(fDocument, sourceRange, CharArrayOps.charToString(name), nameRange, modifiers, isConstructor,
-        CharArrayOps.charToString(returnType), CharArrayOps.charcharToString(parameterTypes), CharArrayOps
-            .charcharToString(parameterNames), CharArrayOps.charcharToString(exceptionTypes));
-    addChild(fNode);
-    fStack.push(fNode);
-  }
-
-  /**
-   */
-  public void enterClass(int declarationStart, int modifiers, char[] name, int nameStart, int nameEnd, char[] superclass,
-      char[][] superinterfaces) {
-    enterType(declarationStart, modifiers, name, nameStart, nameEnd, superclass, superinterfaces, true);
-  }
-
-  /**
-   */
-  public void enterConstructor(int declarationStart, int modifiers, char[] name, int nameStart, int nameEnd,
-      char[][] parameterTypes, char[][] parameterNames, char[][] exceptionTypes) {
-    /* see 1FVIIQZ */
-    String nameString = new String(fDocument, nameStart, nameEnd - nameStart);
-    int openParenPosition = nameString.indexOf('(');
-    if (openParenPosition > -1)
-      nameEnd = nameStart + openParenPosition - 1;
-
-    enterAbstractMethod(declarationStart, modifiers, null, name, nameStart, nameEnd, parameterTypes, parameterNames,
-        exceptionTypes, true);
-  }
-
-  /**
-   */
-  public void enterField(int declarationStart, int modifiers, char[] type, char[] name, int nameStart, int nameEnd) {
-
-    int[] sourceRange = { declarationStart, -1 };
-    int[] nameRange = { nameStart, nameEnd };
-    boolean isSecondary = false;
-    if (fNode instanceof DOMField) {
-      isSecondary = declarationStart == fNode.fSourceRange[0];
-    }
-    fNode = new DOMField(fDocument, sourceRange, CharArrayOps.charToString(name), nameRange, modifiers, CharArrayOps
-        .charToString(type), isSecondary);
-    addChild(fNode);
-    fStack.push(fNode);
-  }
-
-  /**
-   *  
-   */
-  public void enterInitializer(int declarationSourceStart, int modifiers) {
-    int[] sourceRange = { declarationSourceStart, -1 };
-    fNode = new DOMInitializer(fDocument, sourceRange, modifiers);
-    addChild(fNode);
-    fStack.push(fNode);
-  }
-
-  /**
-   */
-  public void enterInterface(int declarationStart, int modifiers, char[] name, int nameStart, int nameEnd, char[][] superinterfaces) {
-    enterType(declarationStart, modifiers, name, nameStart, nameEnd, null, superinterfaces, false);
-  }
-
-  /**
-   */
-  public void enterMethod(int declarationStart, int modifiers, char[] returnType, char[] name, int nameStart, int nameEnd,
-      char[][] parameterTypes, char[][] parameterNames, char[][] exceptionTypes) {
-    enterAbstractMethod(declarationStart, modifiers, returnType, name, nameStart, nameEnd, parameterTypes, parameterNames,
-        exceptionTypes, false);
-  }
-
-  /**
-   */
-  protected void enterType(int declarationStart, int modifiers, char[] name, int nameStart, int nameEnd, char[] superclass,
-      char[][] superinterfaces, boolean isClass) {
-    if (fBuildingType) {
-      int[] sourceRange = { declarationStart, -1 }; // will be fixed in the exit
-      int[] nameRange = new int[] { nameStart, nameEnd };
-      fNode = new DOMType(fDocument, sourceRange, new String(name), nameRange, modifiers, CharArrayOps
-          .charcharToString(superinterfaces), isClass);
-      addChild(fNode);
-      fStack.push(fNode);
-    }
-  }
-
-  /**
-   * Finishes the configuration of the class DOM object which was created by a previous enterClass call.
-   * 
-   * @see ISourceElementRequestor#exitClass(int)
-   */
-  public void exitClass(int declarationEnd) {
-    exitType(declarationEnd);
-  }
-
-  /**
-   * Finishes the configuration of the method DOM object which was created by a previous enterConstructor call.
-   * 
-   * @see ISourceElementRequestor#exitConstructor(int)
-   */
-  public void exitConstructor(int declarationEnd) {
-    exitMember(declarationEnd);
-  }
-
-  /**
-   */
-  public void exitField(int initializationStart, int declarationEnd, int declarationSourceEnd) {
-    exitMember(declarationEnd);
-  }
-
-  /**
-   */
-  public void exitInitializer(int declarationEnd) {
-    exitMember(declarationEnd);
-  }
-
-  /**
-   */
-  public void exitInterface(int declarationEnd) {
-    exitType(declarationEnd);
-  }
-
-  /**
-   * Finishes the configuration of the member.
-   * 
-   * @param declarationEnd -
-   *          a source position corresponding to the end of the method declaration. This can include whitespace and comments
-   *          following the closing bracket.
-   */
-  protected void exitMember(int declarationEnd) {
-    DOMMember m = (DOMMember) fStack.pop();
-    m.setSourceRangeEnd(declarationEnd);
-    fNode = m;
-  }
-
-  /**
-   */
-  public void exitMethod(int declarationEnd) {
-    exitMember(declarationEnd);
-  }
-
-  /**
-   * @see AbstractDOMBuilder#exitType
-   * 
-   * @param declarationEnd -
-   *          a source position corresponding to the end of the class declaration. This can include whitespace and comments
-   *          following the closing bracket.
-   */
-  protected void exitType(int declarationEnd) {
-    exitType(declarationEnd, declarationEnd);
-  }
-
-  /**
-   * Creates a new parser.
-   */
-  protected SourceElementParser getParser(Map settings) {
-    return new SourceElementParser(this, new DefaultProblemFactory(), new CompilerOptions(settings));
-  }
+public class SimpleDOMBuilder extends AbstractDOMBuilder implements
+               ISourceElementRequestor {
+
+       public void acceptImport(int declarationStart, int declarationEnd,
+                       char[] name, boolean onDemand) {
+               int[] sourceRange = { declarationStart, declarationEnd };
+               String importName = new String(name);
+               /** name is set to contain the '*' */
+               if (onDemand) {
+                       importName += ".*"; //$NON-NLS-1$
+               }
+               fNode = new DOMImport(fDocument, sourceRange, importName, onDemand);
+               addChild(fNode);
+       }
+
+       public void acceptPackage(int declarationStart, int declarationEnd,
+                       char[] name) {
+               int[] sourceRange = new int[] { declarationStart, declarationEnd };
+               fNode = new DOMPackage(fDocument, sourceRange, CharArrayOps
+                               .charToString(name));
+               addChild(fNode);
+       }
+
+       /**
+        * @see IDOMFactory#createCompilationUnit(String, String)
+        */
+       public IDOMCompilationUnit createCompilationUnit(String sourceCode,
+                       String name) {
+               return createCompilationUnit(sourceCode.toCharArray(), name
+                               .toCharArray());
+       }
+
+       /**
+        * @see IDOMFactory#createCompilationUnit(String, String)
+        */
+       public IDOMCompilationUnit createCompilationUnit(
+                       ICompilationUnit compilationUnit) {
+               initializeBuild(compilationUnit.getContents(), true, true);
+               getParser(JavaCore.getOptions()).parseCompilationUnit(compilationUnit,
+                               false);
+               return super.createCompilationUnit(compilationUnit);
+       }
+
+       /**
+        * Creates a new DOMMethod and inizializes.
+        * 
+        * @param declarationStart -
+        *            a source position corresponding to the first character of this
+        *            constructor declaration
+        * @param modifiers -
+        *            the modifiers for this constructor converted to a flag
+        * @param returnType -
+        *            the name of the return type
+        * @param name -
+        *            the name of this constructor
+        * @param nameStart -
+        *            a source position corresponding to the first character of the
+        *            name
+        * @param nameEnd -
+        *            a source position corresponding to the last character of the
+        *            name
+        * @param parameterTypes -
+        *            a list of parameter type names
+        * @param parameterNames -
+        *            a list of the names of the parameters
+        * @param exceptionTypes -
+        *            a list of the exception types
+        */
+       protected void enterAbstractMethod(int declarationStart, int modifiers,
+                       char[] returnType, char[] name, int nameStart, int nameEnd,
+                       char[][] parameterTypes, char[][] parameterNames,
+                       char[][] exceptionTypes, boolean isConstructor) {
+
+               int[] sourceRange = { declarationStart, -1 }; // will be fixed up on
+                                                                                                               // exit
+               int[] nameRange = { nameStart, nameEnd };
+               fNode = new DOMMethod(fDocument, sourceRange, CharArrayOps
+                               .charToString(name), nameRange, modifiers, isConstructor,
+                               CharArrayOps.charToString(returnType), CharArrayOps
+                                               .charcharToString(parameterTypes), CharArrayOps
+                                               .charcharToString(parameterNames), CharArrayOps
+                                               .charcharToString(exceptionTypes));
+               addChild(fNode);
+               fStack.push(fNode);
+       }
+
+       /**
+        */
+       public void enterClass(int declarationStart, int modifiers, char[] name,
+                       int nameStart, int nameEnd, char[] superclass,
+                       char[][] superinterfaces) {
+               enterType(declarationStart, modifiers, name, nameStart, nameEnd,
+                               superclass, superinterfaces, true);
+       }
+
+       /**
+        */
+       public void enterConstructor(int declarationStart, int modifiers,
+                       char[] name, int nameStart, int nameEnd, char[][] parameterTypes,
+                       char[][] parameterNames, char[][] exceptionTypes) {
+               /* see 1FVIIQZ */
+               String nameString = new String(fDocument, nameStart, nameEnd
+                               - nameStart);
+               int openParenPosition = nameString.indexOf('(');
+               if (openParenPosition > -1)
+                       nameEnd = nameStart + openParenPosition - 1;
+
+               enterAbstractMethod(declarationStart, modifiers, null, name, nameStart,
+                               nameEnd, parameterTypes, parameterNames, exceptionTypes, true);
+       }
+
+       /**
+        */
+       public void enterField(int declarationStart, int modifiers, char[] type,
+                       char[] name, int nameStart, int nameEnd) {
+
+               int[] sourceRange = { declarationStart, -1 };
+               int[] nameRange = { nameStart, nameEnd };
+               boolean isSecondary = false;
+               if (fNode instanceof DOMField) {
+                       isSecondary = declarationStart == fNode.fSourceRange[0];
+               }
+               fNode = new DOMField(fDocument, sourceRange, CharArrayOps
+                               .charToString(name), nameRange, modifiers, CharArrayOps
+                               .charToString(type), isSecondary);
+               addChild(fNode);
+               fStack.push(fNode);
+       }
+
+       /**
+        * 
+        */
+       public void enterInitializer(int declarationSourceStart, int modifiers) {
+               int[] sourceRange = { declarationSourceStart, -1 };
+               fNode = new DOMInitializer(fDocument, sourceRange, modifiers);
+               addChild(fNode);
+               fStack.push(fNode);
+       }
+
+       /**
+        */
+       public void enterInterface(int declarationStart, int modifiers,
+                       char[] name, int nameStart, int nameEnd, char[][] superinterfaces) {
+               enterType(declarationStart, modifiers, name, nameStart, nameEnd, null,
+                               superinterfaces, false);
+       }
+
+       /**
+        */
+       public void enterMethod(int declarationStart, int modifiers,
+                       char[] returnType, char[] name, int nameStart, int nameEnd,
+                       char[][] parameterTypes, char[][] parameterNames,
+                       char[][] exceptionTypes) {
+               enterAbstractMethod(declarationStart, modifiers, returnType, name,
+                               nameStart, nameEnd, parameterTypes, parameterNames,
+                               exceptionTypes, false);
+       }
+
+       /**
+        */
+       protected void enterType(int declarationStart, int modifiers, char[] name,
+                       int nameStart, int nameEnd, char[] superclass,
+                       char[][] superinterfaces, boolean isClass) {
+               if (fBuildingType) {
+                       int[] sourceRange = { declarationStart, -1 }; // will be fixed in
+                                                                                                                       // the exit
+                       int[] nameRange = new int[] { nameStart, nameEnd };
+                       fNode = new DOMType(fDocument, sourceRange, new String(name),
+                                       nameRange, modifiers, CharArrayOps
+                                                       .charcharToString(superinterfaces), isClass);
+                       addChild(fNode);
+                       fStack.push(fNode);
+               }
+       }
+
+       /**
+        * Finishes the configuration of the class DOM object which was created by a
+        * previous enterClass call.
+        * 
+        * @see ISourceElementRequestor#exitClass(int)
+        */
+       public void exitClass(int declarationEnd) {
+               exitType(declarationEnd);
+       }
+
+       /**
+        * Finishes the configuration of the method DOM object which was created by
+        * a previous enterConstructor call.
+        * 
+        * @see ISourceElementRequestor#exitConstructor(int)
+        */
+       public void exitConstructor(int declarationEnd) {
+               exitMember(declarationEnd);
+       }
+
+       /**
+        */
+       public void exitField(int initializationStart, int declarationEnd,
+                       int declarationSourceEnd) {
+               exitMember(declarationEnd);
+       }
+
+       /**
+        */
+       public void exitInitializer(int declarationEnd) {
+               exitMember(declarationEnd);
+       }
+
+       /**
+        */
+       public void exitInterface(int declarationEnd) {
+               exitType(declarationEnd);
+       }
+
+       /**
+        * Finishes the configuration of the member.
+        * 
+        * @param declarationEnd -
+        *            a source position corresponding to the end of the method
+        *            declaration. This can include whitespace and comments
+        *            following the closing bracket.
+        */
+       protected void exitMember(int declarationEnd) {
+               DOMMember m = (DOMMember) fStack.pop();
+               m.setSourceRangeEnd(declarationEnd);
+               fNode = m;
+       }
+
+       /**
+        */
+       public void exitMethod(int declarationEnd) {
+               exitMember(declarationEnd);
+       }
+
+       /**
+        * @see AbstractDOMBuilder#exitType
+        * 
+        * @param declarationEnd -
+        *            a source position corresponding to the end of the class
+        *            declaration. This can include whitespace and comments
+        *            following the closing bracket.
+        */
+       protected void exitType(int declarationEnd) {
+               exitType(declarationEnd, declarationEnd);
+       }
+
+       /**
+        * Creates a new parser.
+        */
+       protected SourceElementParser getParser(Map settings) {
+               return new SourceElementParser(this, new DefaultProblemFactory(),
+                               new CompilerOptions(settings));
+       }
 }
\ No newline at end of file