All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.inject.internal.util.NewThrowableFinder Maven / Gradle / Ivy

The newest version!
package com.google.inject.internal.util;

import java.util.function.Predicate;

/** A CallerFinder that construcst a new Throwable and iterates through its stack trace. */
class NewThrowableFinder implements CallerFinder {
  @Override
  public StackTraceElement findCaller(Predicate shouldBeSkipped) {
    StackTraceElement[] stackTraceElements = new Throwable().getStackTrace();
    for (StackTraceElement element : stackTraceElements) {
      String className = element.getClassName();
      if (!shouldBeSkipped.test(className)) {
        return element;
      }
    }
    throw new AssertionError();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy