Only generate models for local supertypes

Avoid generating models for classes
implementing external SPI (e.g. `FileFilter`).
Keep `toString` models intact as they're
commonly used as taint-propagation method
(e.g. see `Joiner`).
This commit is contained in:
Benjamin Muskalla
2021-10-21 10:59:55 +02:00
parent 157f56f48a
commit 0e9fcc6c39
6 changed files with 51 additions and 11 deletions

View File

@@ -0,0 +1,13 @@
package p;
import java.io.File;
import java.io.FileFilter;
public abstract class AbstractImplOfExternalSPI implements FileFilter {
@Override
public boolean accept(File pathname) {
return false;
}
}

View File

@@ -0,0 +1,19 @@
package p;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
public class ImplOfExternalSPI extends AbstractImplOfExternalSPI {
@Override
public boolean accept(File pathname) {
try {
Files.createFile(pathname.toPath());
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}

View File

@@ -1,9 +1,13 @@
package p;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.concurrent.Callable;
public class MultipleImpls {
public static interface Strategy {
String doSomething(String value);
}
@@ -22,7 +26,7 @@ public class MultipleImpls {
return null;
}
}
}
public static class Strat2 implements Strategy {
private String foo;