-/*******************************************************************************
- * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
package net.sourceforge.phpdt.internal.compiler.ast;
-public abstract class AbstractVariableDeclaration extends Statement {
- public int modifiers;
- public TypeReference type;
- public Expression initialization;
+/**
+ * An abstract variable declaration.
+ * @author Matthieu Casanova
+ */
+public abstract class AbstractVariableDeclaration extends Expression {
+ /** The name of the variable. */
+ public char[] name;
- public char[] name;
- public int declarationEnd;
- public int declarationSourceStart;
- public int declarationSourceEnd;
- public int modifiersSourceStart;
- public AbstractVariableDeclaration() {
- }
- public abstract String name();
-
- public String toString(int tab) {
+ /**
+ * Create a node giving starting and ending offset
+ * @param sourceStart starting offset
+ * @param sourceEnd ending offset
+ * @param name the name of the variable
+ */
+ public AbstractVariableDeclaration(char[] name, int sourceStart, int sourceEnd) {
+ super(sourceStart, sourceEnd);
+ this.name = name;
+ }
- String s = tabString(tab);
- if (modifiers != AccDefault) {
- s += modifiersString(modifiers);
- }
- s += type.toString(0) + " " + new String(name()); //$NON-NLS-1$
- if (initialization != null)
- s += " = " + initialization.toStringExpression(tab); //$NON-NLS-1$
- return s;
- }
-}
\ No newline at end of file
+ /**
+ * Get the name of the field as String.
+ * @return the name of the String
+ */
+ public String name() {
+ return new String(name);
+ }
+}