blob: c4b0ac213b7121010773e942946428107787a9d0 [file] [log] [blame]
// test case for issue 20: https://github.com/kelloggm/object-construction-checker/issues/20
import java.util.Map;
public class Issue20<E> {
private boolean enableProtoAnnotations;
@SuppressWarnings({"unchecked"})
private <T, O extends Message, E extends ProtoElement> T getProtoExtension(
E element, GeneratedExtension<O, T> extension) {
// Use this method as the chokepoint for all field annotations processing, so we can
// toggle on/off annotations processing in one place.
if (!enableProtoAnnotations) {
return null;
}
return (T) element.getOptionFields().get(extension.getDescriptor());
}
// stubs of relevant classes
private class Message {}
private class ProtoElement {
public Map<FieldDescriptor, Object> getOptionFields() {
return null;
}
}
private class FieldDescriptor {}
private class GeneratedExtension<O, T> {
public FieldDescriptor getDescriptor() {
return null;
}
}
}