blob: 5b41995c7d0f30cf3206c5bef8ae1e832976762e [file] [log] [blame]
package test0579;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Iterator;
import java.util.List;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.eclipse.wst.jsdt.core.dom.AST;
import org.eclipse.wst.jsdt.core.dom.CompilationUnit;
import org.eclipse.wst.jsdt.core.dom.ImportDeclaration;
import org.eclipse.wst.jsdt.core.dom.MethodDeclaration;
import org.eclipse.wst.jsdt.core.dom.Name;
import org.eclipse.wst.jsdt.core.dom.PackageDeclaration;
import org.eclipse.wst.jsdt.core.dom.TypeDeclaration;
/**
*
*/
public class ParserTask extends Task {
public void doNothingMethod() {
//
int x = 0;
}
public void execute() throws BuildException {
try {
String line = null;
StringBuffer buffer = new StringBuffer();
/* Read in this source file */
BufferedReader bufferedReader = new BufferedReader(new FileReader(
"C:\\Projects5.1\\ParserTask\\src\\ParserTask.java"));
/* Put source file contents into a StringBuffer */
while ((line = bufferedReader.readLine()) != null) {
buffer.append(line);
}
/* Parse the source code */
CompilationUnit compUnit = AST.parseCompilationUnit(buffer
.toString().toCharArray());
System.out.println("\nPackage Declaration: ");
PackageDeclaration packageDecl = compUnit.getPackage();
System.out.println(packageDecl == null ? "(default)" : packageDecl
.getName().toString());
System.out.println("\nImports: ");
List importList = compUnit.imports();
Iterator itr = importList.iterator();
while (itr.hasNext()) {
ImportDeclaration importDecl = (ImportDeclaration) itr.next();
System.out.println(importDecl.getName());
}
List typeList = compUnit.types();
itr = typeList.iterator();
while (itr.hasNext()) {
TypeDeclaration typeDecl = (TypeDeclaration) itr.next();
System.out.println("\nClass: " + typeDecl.getName());
System.out.print("Superclass: ");
Name superClassName = typeDecl.getSuperclass();
System.out.println(superClassName == null ? "(none)"
: superClassName.toString());
MethodDeclaration[] methodDecls = typeDecl.getMethods();
System.out.println("Methods: ");
for (int i = 0; i < methodDecls.length; i++) {
System.out.println("\t\t"
+ methodDecls[i].getName().toString());
}
}
} catch (Exception e) {
throw new BuildException(e);
}
}
void anotherDoNothingMethod() {
int x = 0;
}
}