Thoughts on adding getElementClass() method to StackTraceElement?

Jeroen Frijters jeroen at sumatra.nl
Sun Jun 16 06:25:25 UTC 2013


Nick Williams wrote:
> I'm going to stick by my original assessment that I'm not convinced
> there's a security issue. It's possible that getClassContext() filters
> out classes the caller can't access, but nothing in the documentation
> indicates that's the case, so I'm operating under the assumption that it
> doesn't.

SecurityManager.getClassContext() is not available to unpriviliged callers, so I don't think this a valid argument.

Given the security implications, the serialization issue and the need for weak references, it seems to me that adding this to Throwable would be way too expensive. 

Adding a new API to collect a stack trace seems like a far better approach.

Here's my off the cuff proposal:

public final class StackFrame {
  public Executable method();
  public String getFileName();
  public int getLineNumber();

  public static StackFrame[] capture(int skipFrames, int maxLength, boolean includeSourceInfo);
}

Regards,
Jeroen




More information about the core-libs-dev mailing list