On 9/22/17 3:45 AM, Peter Levart wrote:

Just two more things...

1st:

I was I little confused reading this part of javadoc of getDescriptor():

 152          * Returns the <i>descriptor</i> of the method type for
 153          * this stack frame.  A method descriptor is a string representing the  154          * types of parameters that the method takes, and a return descriptor,  155          * representing the type of the value (if any) that the method returns  156          * as defined by <cite>The Java&trade; Virtual Machine Specification</cite>.

Wouldn't it be better to say:

 152          * Returns the <i>descriptor</i> of the method type for
 153          * this stack frame.  A method descriptor is a string representing the  154          * types of parameters that the method takes, and the method's return type,

 156          * as defined by <cite>The Java&trade; Virtual Machine Specification</cite>.

I think there is a slight difference between "method return type" and "the type of value (if any) that the method returns". The former is a property of the method, the later is a property of the returned value (primitive or reference or none) in a particular invocation of the method and may be different (a subtype).

I agree the slight difference you call out.  Since it's specified in JVMS 4.3.3, there is no need to include this statement in javadoc.

I simply take it out.  The webrev.03 is updated in place.


2nd:

I don't know in what circumstance may the MemberName.getMethodType() or .getMethodDescriptor() return null, but the MemberName code is written as follows:

 169         if (type == null) {
 170             expandFromVM();
 171             if (type == null) {
 172                 return null;
 173             }
 174         }

Is there a real circumstance when this may happen? Should StackWalker.StackFrame.getMethodType() / .getDescriptor() document that situation or maybe transform it into an exception or error?


There is no type when this MemberName is not resolved.  For stack frame case, the methods are already resolved.

Mandy
Regards, Peter


Reply via email to