39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
import java.io.BufferedReader;
|
|
import java.io.BufferedWriter;
|
|
import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.io.Reader;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import dev.peerat.parser.Parser;
|
|
import dev.peerat.parser.TokenValidator;
|
|
import dev.peerat.parser.java.JavaElement;
|
|
import dev.peerat.parser.java.JavaFile;
|
|
import dev.peerat.parser.java.JavaParser;
|
|
|
|
public class SpecificCase{
|
|
|
|
@Test
|
|
void genericInMethod() throws Exception{
|
|
String clazz = "class Test{ <T> T testIt(){ return (T)null; } }";
|
|
Parser<JavaElement> parser = new JavaParser();
|
|
|
|
BufferedReader reader = new BufferedReader(new Reader() {
|
|
public int read(char[] cbuf, int off, int len) throws IOException {return 0;}
|
|
public void close() throws IOException {}
|
|
}){
|
|
String line = clazz;
|
|
@Override
|
|
public String readLine() throws IOException{
|
|
String value = line;
|
|
line = null;
|
|
return value;
|
|
}
|
|
};
|
|
TokenValidator validator = parser.parse(reader, new JavaFile());
|
|
parser.build(new BufferedWriter(new FileWriter(new File("/home/ParserV2.txt"))), validator);
|
|
}
|
|
|
|
}
|