The getAnnotatedParameterTypes���() specification incorrectly defines its behavior in case of no-args constructor for inner classes.
The specification states: "Returns an array of length 0 if the method/constructor declares no parameters."
Actual behavior is :
--------------------------------------------------
class ConsParamData {
public class Inner {
public Inner(@Anno(0) ConsParamData ConsParamData.this) {}
public class InnerInner {
public InnerInner() {}
}
}
}
params={ConsParamData} ConsParamData.Inner.class.getConstructor(params).getAnnotatedParameterTypes()
[ ctor == public Inner(@Anno(0) ConsParamData ConsParamData.this) {} ]
returns { ConsParamData }.length() == 1
params={ ConsParamData.Inner} ConsParamData.Inner.InnerInner.class.getConstructor(params).getAnnotatedParameterTypes()
[ ctor == public InnerInner() {} ]
returns { ConsParamData$Inner }.length() == 1
--------------------------------