import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
import net.sourceforge.phpdt.internal.ui.PHPUiImages;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.text.Position;
import java.util.ArrayList;
-import java.util.Enumeration;
+import java.util.List;
/**
/** The outlineable children (those will be in the node array too. */
private ArrayList children = new ArrayList();
+ private Position position;
/**
* Create a class giving starting and ending offset
* @param sourceStart starting offset
this.parent = parent;
this.name = name;
this.superclass = superclass;
+ position = new Position(sourceStart, name.length);
}
/**
super(sourceStart, sourceEnd);
this.parent = parent;
this.name = name;
+ position = new Position(sourceStart, name.length);
}
public void addMethod(MethodDeclaration method) {
methods.add(method);
- children.add(method);
+ add(method);
if (method.name.equals(name)) {
constructor = method;
}
}
- public void addVariable(FieldDeclaration var) {
+ public void addField(FieldDeclaration var) {
for (int i = 0; i < var.vars.length; i++) {
VariableDeclaration c = var.vars[i];
children.add(c);
fields.add(var);
}
+ public boolean add(Outlineable o) {
+ return children.add(o);
+ }
+
/**
* Tell if the class has a constructor.
* @return a boolean
}
/**
- * Return the body of the class as String
+ * Return the body of the class as String.
* @param tab how many tabs before the body of the class
* @return the body as String
*/
return parent;
}
- public boolean add(Outlineable o) {
- return children.add(o);
- }
-
public Outlineable get(int index) {
return (Outlineable) children.get(index);
}
public int size() {
return children.size();
}
+
+ public String toString() {
+ final StringBuffer buff = new StringBuffer(new String(name));
+ if (superclass != null) {
+ buff.append(":"); //$NON-NLS-1$
+ buff.append(superclass);
+ }
+ return buff.toString();
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+
+ public List getList() {
+ return children;
+ }
}