feat: display all alternative Types

This commit is contained in:
Ruben 2024-12-12 22:03:27 +01:00
parent 32a7a6e015
commit 43ca14194b
2 changed files with 14 additions and 3 deletions

View File

@ -8,6 +8,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
/**
@ -74,7 +75,14 @@ public class TypeFinder {
for (var method : transferObj.getAst().getAllMethods()) {
if (method.name.equals(methodName)) {
if (method.getReturnType().toString().contains("TPH ")) {
return typeHashMap.get(method.getReturnType().toString()).getFirst();
StringBuilder possibleTypes = new StringBuilder();
for(var type : typeHashMap.get(method.getReturnType().toString())){
possibleTypes.append(" | ").append(type);
}
return possibleTypes.toString().substring(3);
}else{
return method.getReturnType().toString();
}

View File

@ -28,9 +28,12 @@ public class CompilerInterfaceTest {
@Test
public void testTypeFinder() throws IOException, ClassNotFoundException {
TypeFinder typeFinder = new TypeFinder();
var inferedMethods = typeFinder.infereMethodType("import java.lang.Integer;" +
var inferedMethods = typeFinder.infereMethodType("import java.lang.Integer; import java.lang.String;" +
"public class test{"+
"public main(test){"+
"public main(test){" +
"if(0>1){" +
"return \"w\";" +
"}"+
"Integer i = 0;"+
"return i;"+
"}"+