package system;
import java.lang.reflect.Constructor;
/**
* This test class represents a class in the system set for the VM. These classes cannot have their reflective calls directly
* intercepted because we cannot introduce dependencies on types in a lower classloader, so we have to call the reflective
* interceptor reflectively!
*/
public class Seven {
public Seven() {
}
public Seven(String s) {
}
public String runIt() throws Exception {
StringBuilder data = new StringBuilder();
Constructor<?> ctor = m();
data.append("defaultctor?" + ctor + " ");
ctor = m(String.class);
data.append("stringctor?" + ctor + " ");
try {
m(Integer.class);
data.append("unexpectedly_didn't_fail");
} catch (NoSuchMethodException nsme) {
data.append("nsme");
}
return "complete:" + data.toString().trim();
}
public Constructor<?> m(Class<?>... params) throws NoSuchMethodException {
return this.getClass().getDeclaredConstructor(params);
}
}