使用Javaparser解析块/方法

时间:2020-03-11 12:15:31

标签: java javaparser

尝试解析

1. A Java method with // some sample comment in the function, and
2. Get method invocations in the function.

由于该方法具有// //我使用以下内容。方法

代码:

import com.github.javaparser.ast.body.*;
import com.github.javaparser.*;
import java.io.*;
import java.util.*;
import com.github.javaparser.ast.comments.BlockComment;
import com.github.javaparser.ast.expr.MethodCallExpr;
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import com.github.javaparser.ast.stmt.BlockStmt;

//Parsing the function
String snippet = "//this is a sample comment public void testFunction() //getting inputs 
{String String = new TestLayout(LAYOUT_TEXT, mTextPaint, mWidth, mAlign, mSpacingMult, 
mSpacingAdd);}";

String block = "{"+snippet+"}";

BlockStmt bs = StaticJavaParser.parseBlock(block);

//getting method invocations within the function
List<MethodCallExpr> mces = new ArrayList<>();
bs.walk(MethodCallExpr.class, mce-> mces.add(mce) );

错误:

    Exception in thread "main" com.github.javaparser.ParseProblemException: (line 1,col 1) Parse error. Found <EOF>, expected "}"
Problem stacktrace : 
  com.github.javaparser.GeneratedJavaParser.generateParseException(GeneratedJavaParser.java:10667)
  com.github.javaparser.GeneratedJavaParser.jj_consume_token(GeneratedJavaParser.java:10526)
  com.github.javaparser.GeneratedJavaParser.Block(GeneratedJavaParser.java:3872)
  com.github.javaparser.GeneratedJavaParser.BlockParseStart(GeneratedJavaParser.java:5748)
  com.github.javaparser.JavaParser.parse(JavaParser.java:123)
  com.github.javaparser.JavaParser.parseBlock(JavaParser.java:317)
  com.github.javaparser.StaticJavaParser.parseBlock(StaticJavaParser.java:241)
  com.example.helloworld.TestClass.main(TestClass.java:32)

    at com.github.javaparser.StaticJavaParser.handleResult(StaticJavaParser.java:260)
    at com.github.javaparser.StaticJavaParser.parseBlock(StaticJavaParser.java:241)
    at com.example.helloworld.TestClass.main(TestClass.java:32)

Process finished with exit code 1

任何有关该错误的建议都很好。

0 个答案:

没有答案
相关问题