* IBM Corporation - initial API and implementation
*******************************************************************************/
package net.sourceforge.phpeclipse.internal.compiler.ast;
-
import java.util.ArrayList;
import net.sourceforge.phpdt.core.compiler.CharOperation;
+import net.sourceforge.phpdt.internal.compiler.ASTVisitor;
import net.sourceforge.phpdt.internal.compiler.CompilationResult;
-import net.sourceforge.phpdt.internal.compiler.IAbstractSyntaxTreeVisitor;
import net.sourceforge.phpdt.internal.compiler.impl.ReferenceContext;
import net.sourceforge.phpdt.internal.compiler.lookup.CompilationUnitScope;
-import net.sourceforge.phpdt.internal.compiler.lookup.ImportBinding;
import net.sourceforge.phpdt.internal.compiler.lookup.LocalTypeBinding;
import net.sourceforge.phpdt.internal.compiler.problem.AbortCompilationUnit;
import net.sourceforge.phpdt.internal.compiler.problem.AbortMethod;
import net.sourceforge.phpdt.internal.compiler.problem.ProblemReporter;
import net.sourceforge.phpdt.internal.compiler.problem.ProblemSeverities;
-public class CompilationUnitDeclaration extends AstNode implements ProblemSeverities, ReferenceContext {
+public class CompilationUnitDeclaration extends ASTNode implements ProblemSeverities, ReferenceContext {
public ImportReference currentPackage;
public ImportReference[] imports;
// public TypeDeclaration[] types;
public ArrayList types;
+
//public char[][] name;
public int[][] comments;
//by definition of a compilation unit....
sourceStart = 0;
sourceEnd = sourceLength - 1;
-
}
/*
}
}
- public void checkUnusedImports() {
-
- if (this.scope.imports != null) {
- for (int i = 0, max = this.scope.imports.length; i < max; i++) {
- ImportBinding importBinding = this.scope.imports[i];
- ImportReference importReference = importBinding.reference;
- if (importReference != null && !importReference.used) {
- scope.problemReporter().unusedImport(importReference);
- }
- }
- }
- }
+// public void checkUnusedImports() {
+//
+// if (this.scope.imports != null) {
+// for (int i = 0, max = this.scope.imports.length; i < max; i++) {
+// ImportBinding importBinding = this.scope.imports[i];
+// ImportReference importReference = importBinding.reference;
+// if (importReference != null && !importReference.used) {
+// scope.problemReporter().unusedImport(importReference);
+// }
+// }
+// }
+// }
public CompilationResult compilationResult() {
return compilationResult;
public boolean hasErrors() {
return this.ignoreFurtherInvestigation;
}
-
+ public StringBuffer print(int indent, StringBuffer output) {
+
+ if (currentPackage != null) {
+ printIndent(indent, output).append("package "); //$NON-NLS-1$
+ currentPackage.print(0, output, false).append(";\n"); //$NON-NLS-1$
+ }
+ if (imports != null)
+ for (int i = 0; i < imports.length; i++) {
+ printIndent(indent, output).append("import "); //$NON-NLS-1$
+ imports[i].print(0, output).append(";\n"); //$NON-NLS-1$
+ }
+
+ if (types != null) {
+ for (int i = 0; i < types.size(); i++) {
+ ((ASTNode)types.get(i)).print(indent, output).append("\n"); //$NON-NLS-1$
+ }
+ }
+ return output;
+ }
+
/*
* Force inner local types to update their innerclass emulation
*/
if (imports != null)
for (int i = 0; i < imports.length; i++) {
- s += tabString(tab) + "import " + imports[i].toString() + ";\n"; //$NON-NLS-1$ //$NON-NLS-2$
+ s += tabString(tab) + "include " + imports[i].toString() + ";\n"; //$NON-NLS-1$ //$NON-NLS-2$
};
if (types != null)
for (int i = 0; i < types.size(); i++) {
- s += ((AstNode) types.get(i)).toString(tab) + "\n"; //$NON-NLS-1$
+ s += ((ASTNode) types.get(i)).toString(tab) + "\n"; //$NON-NLS-1$
}
return s;
}
- public void traverse(IAbstractSyntaxTreeVisitor visitor, CompilationUnitScope scope) {
+ public void traverse(ASTVisitor visitor, CompilationUnitScope scope) {
if (ignoreFurtherInvestigation)
return;