/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.lang.reflect.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static class ScheduledView<T> {}
static class WantedClass {}
static class SomeOtherClass {}
static ScheduledView<WantedClass> wantedField;
static ScheduledView<SomeOtherClass> someOtherField;
{
for (Field field
: Ideone.
class.
getDeclaredFields()) { Type type = field.getGenericType();
if (type instanceof ParameterizedType) {
ParameterizedType ptype = (ParameterizedType) type;
if (ptype.getRawType() == ScheduledView.class) {
if (ptype.getActualTypeArguments().length == 1
&& ptype.getActualTypeArguments()[0] == WantedClass.class) {
System.
out.
println(field.
getName()); }
}
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC4qOwppbXBvcnQgamF2YS5pby4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglzdGF0aWMgY2xhc3MgU2NoZWR1bGVkVmlldzxUPiB7fQoJc3RhdGljIGNsYXNzIFdhbnRlZENsYXNzIHt9CglzdGF0aWMgY2xhc3MgU29tZU90aGVyQ2xhc3Mge30KCQoJc3RhdGljIFNjaGVkdWxlZFZpZXc8V2FudGVkQ2xhc3M+IHdhbnRlZEZpZWxkOwoJc3RhdGljIFNjaGVkdWxlZFZpZXc8U29tZU90aGVyQ2xhc3M+IHNvbWVPdGhlckZpZWxkOwoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlmb3IgKEZpZWxkIGZpZWxkIDogSWRlb25lLmNsYXNzLmdldERlY2xhcmVkRmllbGRzKCkpIHsKCQkJVHlwZSB0eXBlID0gZmllbGQuZ2V0R2VuZXJpY1R5cGUoKTsKCQkJaWYgKHR5cGUgaW5zdGFuY2VvZiBQYXJhbWV0ZXJpemVkVHlwZSkgewoJCQkJUGFyYW1ldGVyaXplZFR5cGUgcHR5cGUgPSAoUGFyYW1ldGVyaXplZFR5cGUpIHR5cGU7CgkJCQlpZiAocHR5cGUuZ2V0UmF3VHlwZSgpID09IFNjaGVkdWxlZFZpZXcuY2xhc3MpIHsKCQkJCQlpZiAocHR5cGUuZ2V0QWN0dWFsVHlwZUFyZ3VtZW50cygpLmxlbmd0aCA9PSAxCgkJCQkJICAgICYmIHB0eXBlLmdldEFjdHVhbFR5cGVBcmd1bWVudHMoKVswXSA9PSBXYW50ZWRDbGFzcy5jbGFzcykgewoJCQkJCSAgU3lzdGVtLm91dC5wcmludGxuKGZpZWxkLmdldE5hbWUoKSk7ICAgIAkKCQkJCSAgICB9CgkJCQl9CgkJCX0KCQl9Cgl9Cn0=