*** empty log message ***
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / MethodDeclaration.java
index af701a8..e08010d 100644 (file)
@@ -1,10 +1,10 @@
 package net.sourceforge.phpdt.internal.compiler.ast;
 
-import net.sourceforge.phpdt.internal.compiler.ast.Block;
 import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
 import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
 import net.sourceforge.phpdt.internal.ui.PHPUiImages;
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.text.Position;
 
 import java.util.Hashtable;
 import java.util.Enumeration;
@@ -26,12 +26,17 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
   public int bodyEnd = -1;
   /** Tell if the method is a class constructor. */
   public boolean isConstructor;
+
+  /** The parent object. */
   private Object parent;
   /** The outlineable children (those will be in the node array too. */
   private ArrayList children = new ArrayList();
 
+  /** Tell if the method returns a reference. */
   public boolean reference;
 
+  private Position position;
+
   public MethodDeclaration(Object parent,
                            char[] name,
                            Hashtable arguments,
@@ -43,6 +48,7 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
     this.arguments = arguments;
     this.parent = parent;
     this.reference = reference;
+    position = new Position(sourceStart, sourceEnd);
   }
 
   /**
@@ -52,6 +58,13 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
    */
   public String toString(int tab) {
     StringBuffer buff = new StringBuffer(tabString(tab));
+    buff.append(toStringHeader());
+    buff.append(toStringStatements(tab + 1));
+    return buff.toString();
+  }
+
+  public String toStringHeader() {
+    StringBuffer buff = new StringBuffer();
     buff.append("function ");//$NON-NLS-1$
     if (reference) {
       buff.append('&');//$NON-NLS-1$
@@ -71,8 +84,6 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
       }
     }
     buff.append(")"); //$NON-NLS-1$
-
-   buff.append(toStringStatements(tab + 1));
     return buff.toString();
   }
 
@@ -103,6 +114,10 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
     return PHPUiImages.DESC_FUN;
   }
 
+  public void setParent(Object parent) {
+    this.parent = parent;
+  }
+
   public Object getParent() {
     return parent;
   }
@@ -118,4 +133,12 @@ public class MethodDeclaration extends Statement implements OutlineableWithChild
   public int size() {
     return children.size();
   }
+
+  public String toString() {
+    return toStringHeader();
+  }
+
+  public Position getPosition() {
+    return position;
+  }
 }