Class ThrowableStackTraceRenderer.Context.Metadata

  • Enclosing class:
    ThrowableStackTraceRenderer.Context

    static final class ThrowableStackTraceRenderer.Context.Metadata
    extends java.lang.Object
    Invariants associated with a Throwable
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int commonElementCount
      Number of stack trace elements shared with the parent Throwable's stack
      (package private) int stackLength
      Number of stack trace elements exclusive to this Throwable, i.e., not in common with the parent Throwable's stack
      (package private) java.lang.StackTraceElement[] stackTrace
      The stack trace of this Throwable.
      (package private) java.lang.Throwable[] suppressed
      The suppressed exceptions attached to this Throwable.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Metadata​(int commonElementCount, int stackLength, java.lang.StackTraceElement[] stackTrace, java.lang.Throwable[] suppressed)  
    • Field Detail

      • commonElementCount

        final int commonElementCount
        Number of stack trace elements shared with the parent Throwable's stack
      • stackLength

        final int stackLength
        Number of stack trace elements exclusive to this Throwable, i.e., not in common with the parent Throwable's stack
      • stackTrace

        final java.lang.StackTraceElement[] stackTrace
        The stack trace of this Throwable. This needs to be captured separately since Throwable.getStackTrace() can change.
        See Also:
        #3940, #3955
      • suppressed

        final java.lang.Throwable[] suppressed
        The suppressed exceptions attached to this Throwable. This needs to be captured separately since Throwable.getSuppressed() can change.
        See Also:
        #3929, #3934
    • Constructor Detail

      • Metadata

        private Metadata​(int commonElementCount,
                         int stackLength,
                         java.lang.StackTraceElement[] stackTrace,
                         java.lang.Throwable[] suppressed)
    • Method Detail

      • populateMetadata

        private static void populateMetadata​(java.util.Map<java.lang.Throwable,​ThrowableStackTraceRenderer.Context.Metadata> metadataByThrowable,
                                             java.util.Set<java.lang.Throwable> visitedThrowables,
                                             @Nullable java.lang.Throwable parentThrowable,
                                             java.lang.Throwable throwable)
      • populateMetadata

        private static ThrowableStackTraceRenderer.Context.Metadata populateMetadata​(@Nullable java.lang.StackTraceElement[] parentTrace,
                                                                                     java.lang.StackTraceElement[] currentTrace,
                                                                                     java.lang.Throwable[] suppressed)