1 package net.sourceforge.phpdt.internal.compiler.ast;
3 import org.eclipse.jface.text.Position;
4 import org.eclipse.jface.resource.ImageDescriptor;
5 import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
6 import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage;
7 import net.sourceforge.phpdt.internal.ui.PHPUiImages;
10 import java.util.ArrayList;
14 * define(expression,expression)
15 * @author Matthieu Casanova
17 public class Define extends Statement implements Outlineable {
19 public Expression defineName,defineValue;
21 private Object parent;
22 private Position position;
24 public Define(final Object parent,
25 final Expression defineName,
26 final Expression defineValue,
27 final int sourceStart,
28 final int sourceEnd) {
29 super(sourceStart, sourceEnd);
31 this.defineName = defineName;
32 this.defineValue = defineValue;
33 position = new Position(sourceStart, sourceEnd);
36 public String toString(final int tab) {
37 final StringBuffer buff = new StringBuffer(tabString(tab));
38 buff.append("define(");
39 buff.append(defineName.toStringExpression());
41 buff.append(defineValue.toStringExpression());
43 return buff.toString();
46 public String toString() {
47 final StringBuffer buff = new StringBuffer(defineName.toStringExpression());
49 buff.append(defineValue.toStringExpression());
50 return buff.toString();
53 public ImageDescriptor getImage() {
54 return PHPUiImages.DESC_VAR;
57 public Object getParent() {
61 public Position getPosition() {
66 * Get the variables from outside (parameters, globals ...)
68 public void getOutsideVariable(final List list) {
69 list.add(new VariableUsage(defineName.toStringExpression(),sourceStart));//todo: someday : evaluate the defineName
73 * get the modified variables.
75 public void getModifiedVariable(final List list) {
79 * Get the variables used.
81 public void getUsedVariable(final List list) {