本文整理汇总了Java中japa.parser.ParseException类的典型用法代码示例。如果您正苦于以下问题:Java ParseException类的具体用法?Java ParseException怎么用?Java ParseException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ParseException类属于japa.parser包,在下文中一共展示了ParseException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: main
import japa.parser.ParseException; //导入依赖的package包/类
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws ParseException, IOException {
if (args.length != 3) {
System.out.println("usage: inputFile (.java) fragmentFile (.json) outputFile");
System.exit(1);
}
String inputFile = args[0];
String fragmentFile = args[1];
String ouputFile = args[2];
fragment = gson.fromJson(new JsonReader(new FileReader(fragmentFile)), Fragment.class);
parse(inputFile);
String methodName = fragment.getMethod();
if (fragment.isOverloaded())
methodName += fragment.getOverload();
writeOutput(ouputFile, gson.toJson(methods.get(methodName)));
}
示例2: parseSourceCode
import japa.parser.ParseException; //导入依赖的package包/类
/**
* Cette méthode permet d'appliquer le
* parser de l'API IA au code source
* de cet agent.
*
* @throws IOException
* Problème lors de l'accès aux fichiers.
* @throws ParseException
* Problème lors de l'analyse du code source.
*/
protected void parseSourceCode() throws ParseException, IOException
{ Class<?> clazz = getAi().getClass();
// on construit le chemin vers le code source
String path = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");
String pckg = clazz.getPackage().getName();
String temp[] = pckg.split("\\"+ClassTools.CLASS_SEPARATOR);
for(String t: temp)
decodedPath = decodedPath + "/" + t;
// on applique le parser à ce chemin
AiParser.IGNORED_PACKAGES.clear();
File folder = new File(decodedPath);
AiParser.parseAi(folder);
}
示例3: parseFolder
import japa.parser.ParseException; //导入依赖的package包/类
/**
*
* @param folder
* ?
* @param level
* ?
* @throws ParseException
* ?
* @throws IOException
* ?
*/
private static void parseFolder(File folder, int level) throws ParseException, IOException
{ if(IGNORED_PACKAGES.contains(folder.getName()))
System.out.println("Paquetage "+folder.getPath()+" ignoré");
else
{ System.out.println("Analyse du paquetage "+folder.getPath());
File[] files = folder.listFiles();
for(File file: files)
{ if(file.isDirectory())
parseFolder(file,level+1);
else
{ String filename = file.getName();
if(filename.endsWith(FileNames.EXTENSION_JAVA))
parseFile(file,level+1);
else if(verbose)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Le fichier "+file.getPath()+" n'a pas été reconnu comme un source Java");
}
}
}
}
}
示例4: parseFolder
import japa.parser.ParseException; //导入依赖的package包/类
/**
* Analyse le contenu d'un dossier
* Le traitement est récursif si le dossier
* contient lui-même d'autres dossiers.
*
* @param folder
* ?
* @param level
* Objet représentant le dossier source à analyser.
*
* @throws ParseException
* Erreur en analysant un des fichiers source.
* @throws IOException
* Erreur en ouvrant un des fichiers source.
*/
private static void parseFolder(File folder, int level) throws ParseException, IOException
{ if(IGNORED_PACKAGES.contains(folder.getName()))
System.out.println("Paquetage "+folder.getPath()+" ignoré");
else
{ System.out.println("Analyse du paquetage "+folder.getPath());
File[] files = folder.listFiles();
for(File file: files)
{ if(file.isDirectory())
parseFolder(file,level+1);
else
{ String filename = file.getName();
if(filename.endsWith(FileNames.EXTENSION_JAVA))
parseFile(file,level+1);
else if(verbose)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Le fichier "+file.getPath()+" n'a pas été reconnu comme un source Java");
}
}
}
}
}
示例5: parseType
import japa.parser.ParseException; //导入依赖的package包/类
private JType parseType(String type, JCodeModel codeModel) {
final String text = "public class Ignored extends " + type + " {}";
try {
CompilationUnit compilationUnit = JavaParser.parse(
new ByteArrayInputStream(text.getBytes("UTF-8")), "UTF-8");
final List<TypeDeclaration> typeDeclarations = compilationUnit
.getTypes();
final TypeDeclaration typeDeclaration = typeDeclarations.get(0);
final ClassOrInterfaceDeclaration classDeclaration = (ClassOrInterfaceDeclaration) typeDeclaration;
final List<ClassOrInterfaceType> _extended = classDeclaration
.getExtends();
final ClassOrInterfaceType classOrInterfaceType = _extended.get(0);
return classOrInterfaceType.accept(
this.typeToJTypeConvertingVisitor, codeModel);
} catch (ParseException pex) {
throw new IllegalArgumentException(
"Could not parse the type definition [" + type + "].", pex);
} catch (UnsupportedEncodingException uex) {
throw new UnsupportedOperationException(uex);
}
}
示例6: resolveType
import japa.parser.ParseException; //导入依赖的package包/类
public static JClass resolveType(JClassContainer _package, String typeDefinition) {
try {
FieldDeclaration fieldDeclaration = (FieldDeclaration) JavaParser.parseBodyDeclaration(typeDefinition + " foo;");
ClassOrInterfaceType c = (ClassOrInterfaceType) ((ReferenceType) fieldDeclaration.getType()).getType();
return buildClass(_package, c, 0);
} catch (ParseException e) {
throw new GenerationException(e);
}
}
示例7: createCompilationUnitFromFile
import japa.parser.ParseException; //导入依赖的package包/类
private CompilationUnit createCompilationUnitFromFile(File aFile) throws IOException {
FileInputStream theStream = null;
try {
theStream = new FileInputStream(aFile);
return JavaParser.parse(theStream);
} catch (ParseException e) {
throw new IOException(e);
} finally {
if (theStream != null) {
theStream.close();
}
}
}
示例8: getJavaType
import japa.parser.ParseException; //导入依赖的package包/类
public final JavaType getJavaType(final String fileIdentifier) {
Validate.notBlank(fileIdentifier, "Compilation unit path required");
Validate.isTrue(new File(fileIdentifier).exists(),
"The file doesn't exist");
Validate.isTrue(new File(fileIdentifier).isFile(),
"The identifier doesn't represent a file");
try {
final File file = new File(fileIdentifier);
String typeContents = "";
try {
typeContents = FileUtils.readFileToString(file);
}
catch (IOException ignored) {
}
if (StringUtils.isBlank(typeContents)) {
return null;
}
final CompilationUnit compilationUnit = JavaParser
.parse(new ByteArrayInputStream(typeContents.getBytes()));
final String typeName = fileIdentifier.substring(
fileIdentifier.lastIndexOf(File.separator) + 1,
fileIdentifier.lastIndexOf("."));
for (final TypeDeclaration typeDeclaration : compilationUnit
.getTypes()) {
if (typeName.equals(typeDeclaration.getName())) {
return new JavaType(compilationUnit.getPackage().getName()
.getName()
+ "." + typeDeclaration.getName());
}
}
return null;
}
catch (final ParseException e) {
throw new IllegalStateException("Failed to parse " + fileIdentifier
+ " : " + e.getMessage());
}
}
示例9: getPackage
import japa.parser.ParseException; //导入依赖的package包/类
public final JavaPackage getPackage(final String fileIdentifier) {
Validate.notBlank(fileIdentifier, "Compilation unit path required");
Validate.isTrue(new File(fileIdentifier).exists(),
"The file doesn't exist");
Validate.isTrue(new File(fileIdentifier).isFile(),
"The identifier doesn't represent a file");
try {
final File file = new File(fileIdentifier);
String typeContents = "";
try {
typeContents = FileUtils.readFileToString(file);
}
catch (final IOException ignored) {
}
if (StringUtils.isBlank(typeContents)) {
return null;
}
final CompilationUnit compilationUnit = JavaParser
.parse(new ByteArrayInputStream(typeContents.getBytes()));
if (compilationUnit == null || compilationUnit.getPackage() == null) {
return null;
}
return new JavaPackage(compilationUnit.getPackage().getName()
.toString());
}
catch (final ParseException e) {
throw new IllegalStateException("Failed to parse " + fileIdentifier
+ " : " + e.getMessage());
}
}
示例10: getTypeFromString
import japa.parser.ParseException; //导入依赖的package包/类
public ClassOrInterfaceTypeDetails getTypeFromString(
final String fileContents, final String declaredByMetadataId,
final JavaType typeName) {
if (StringUtils.isBlank(fileContents)) {
return null;
}
Validate.notBlank(declaredByMetadataId,
"Declaring metadata ID required");
Validate.notNull(typeName, "Java type to locate required");
try {
final CompilationUnit compilationUnit = JavaParser
.parse(new ByteArrayInputStream(fileContents.getBytes()));
final TypeDeclaration typeDeclaration = JavaParserUtils
.locateTypeDeclaration(compilationUnit, typeName);
if (typeDeclaration == null) {
return null;
}
return JavaParserClassOrInterfaceTypeDetailsBuilder.getInstance(
compilationUnit, null, typeDeclaration,
declaredByMetadataId, typeName, metadataService,
typeLocationService).build();
}
catch (final ParseException e) {
throw new IllegalStateException("Failed to parse " + typeName
+ " : " + e.getMessage());
}
}
示例11: parseFile
import japa.parser.ParseException; //导入依赖的package包/类
/**
*
* @param file
* ?
* @param level
* ?
* @throws ParseException
* ?
* @throws IOException
* ?
*/
private static void parseFile(File file, int level) throws ParseException, IOException
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Analyse de la classe "+file.getPath());
// creates an input stream for the file to be parsed
FileInputStream in = new FileInputStream(file);
CompilationUnit cu;
try
{ // parse the file
cu = JavaParser.parse(in);
}
finally
{ in.close();
}
// display trace
AiVisitor visitor = new AiVisitor(level);
visitor.visit(cu,null);
int errorCount = visitor.getErrorCount();
if(errorCount>0)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println(" total : "+errorCount);
}
}
示例12: parseFile
import japa.parser.ParseException; //导入依赖的package包/类
/**
* Analyse un fichier source.
*
* @param file
* Objet représentant le fichier source à analyser.
* @param level
* Niveau hiérarchique dans l'arbre d'appels.
*
* @throws ParseException
* Erreur en analysant un des fichiers source.
* @throws IOException
* Erreur en ouvrant un des fichiers source.
*/
private static void parseFile(File file, int level) throws ParseException, IOException
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Analyse de la classe "+file.getPath());
// creates an input stream for the file to be parsed
FileInputStream in = new FileInputStream(file);
CompilationUnit cu;
try
{ // parse the file
cu = JavaParser.parse(in);
}
finally
{ in.close();
}
// display trace
AiVisitor visitor = new AiVisitor(level);
visitor.visit(cu,null);
int errorCount = visitor.getErrorCount();
if(errorCount>0)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println(" total : "+errorCount);
}
}
示例13: parseFile
import japa.parser.ParseException; //导入依赖的package包/类
/**
* Analyse un fichier source.
*
* @param file
* Objet représentant le fichier source à analyser.
* @param level
* Niveau hiérarchique dans l'arbre d'appels.
* @return
* Le nombre d'erreurs pour le fichier traité.
*
* @throws ParseException
* Erreur en analysant un des fichiers source.
* @throws IOException
* Erreur en ouvrant un des fichiers source.
*/
private static int parseFile(File file, int level) throws ParseException, IOException
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Analyse du fichier "+file.getPath());
// creates an input stream for the file to be parsed
FileInputStream in = new FileInputStream(file);
CompilationUnit cu;
try
{ // parse the file
cu = JavaParser.parse(in);
}
finally
{ in.close();
}
// display trace
AiVisitor visitor = new AiVisitor(level);
visitor.visit(cu,null);
int result = visitor.getErrorCount();
if(result>0)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println(" total pour le fichier "+file.getName()+" : "+result);
}
return result;
}
示例14: parseFolder
import japa.parser.ParseException; //导入依赖的package包/类
/**
* Analyse le contenu d'un dossier
* Le traitement est récursif si le dossier
* contient lui-même d'autres dossiers.
*
* @param folder
* Dossier à traiter.
* @param level
* Objet représentant le dossier source à analyser.
* @return
* Le nombre d'erreurs pour le fichier dossier.
*
* @throws ParseException
* Erreur en analysant un des fichiers source.
* @throws IOException
* Erreur en ouvrant un des fichiers source.
*/
private static int parseFolder(File folder, int level) throws ParseException, IOException
{ int result = 0;
if(IGNORED_PACKAGES.contains(folder.getName()))
System.out.println("Paquetage "+folder.getPath()+" ignoré");
else
{ System.out.println("Analyse du paquetage "+folder.getPath());
File[] files = folder.listFiles();
for(File file: files)
{ if(file.isDirectory())
result = result + parseFolder(file,level+1);
else
{ String filename = file.getName();
if(filename.endsWith(FileNames.EXTENSION_JAVA))
result = result + parseFile(file,level+1);
else if(verbose)
{ for(int i=0;i<level;i++)
System.out.print("..");
System.out.println("Le fichier "+file.getPath()+" n'a pas été reconnu comme un fichier source Java");
}
}
}
}
System.out.println("total pour le paquetage "+folder.getName()+" : "+result);
return result;
}
示例15: feed
import japa.parser.ParseException; //导入依赖的package包/类
public void feed(Helper helper) throws IOException {
try {
TypeDeclaration type = getMainType();
feedHelperClass(type, helper);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}