ASTFuzzer.java
package ossfuzz;
import com.code_intelligence.jazzer.api.FuzzedDataProvider;
import java.util.HashMap;
import org.aspectj.org.eclipse.jdt.core.dom.AST;
import org.aspectj.org.eclipse.jdt.core.dom.ASTParser;
import org.aspectj.org.eclipse.jdt.core.dom.CompilationUnit;
public class ASTFuzzer {
public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataProvider) {
try {
int astlevel = fuzzedDataProvider.consumeInt();
String source = fuzzedDataProvider.consumeRemainingAsString();
ASTParser parser = ASTParser.newParser(astlevel);
parser.setSource(source.toCharArray());
parser.setCompilerOptions(new HashMap());
CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.getAST();
} catch (IllegalArgumentException ex) {
/* ignore */
}
}
}