类java.lang.StackWalker.Option源码实例Demo

下面列出了怎么用java.lang.StackWalker.Option的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: openjdk-jdk9   文件: HiddenFrames.java
void walk() {
   Stream.of(0).forEach(i -> walker.walk(s ->
   {
       s.forEach(this::checkFrame);
       return null;
   }));

    // only check hidden frames but not reflection frames
    // walk is not invoked via reflection
    if (option == null && !lambdas.isEmpty()) {
        throw new RuntimeException("Hidden frames are shown");
    }

    if (option == Option.SHOW_HIDDEN_FRAMES && lambdas.isEmpty()) {
        throw new RuntimeException("No hidden Lambda frame");
    }
}
 
源代码2 项目: openjdk-jdk9   文件: HiddenFrames.java
void walkFromReflection() throws Exception {
    Method m = HiddenFrames.class.getDeclaredMethod("walk");
    m.invoke(this);

    if (option == null && !lambdas.isEmpty()) {
        throw new RuntimeException("Hidden frames are shown");
    }

    if (option == Option.SHOW_HIDDEN_FRAMES && lambdas.isEmpty()) {
        throw new RuntimeException("No hidden Lambda frame");
    }

    if (option != null && reflects.isEmpty()) {
        throw new RuntimeException("No reflection frame");
    }
}
 
源代码3 项目: Bytecoder   文件: StackStreamFactory.java
private int toStackWalkMode(StackWalker walker, int mode) {
    int newMode = mode;
    if (walker.hasOption(Option.SHOW_HIDDEN_FRAMES) &&
            (mode & FILL_CLASS_REFS_ONLY) != FILL_CLASS_REFS_ONLY)
        newMode |= SHOW_HIDDEN_FRAMES;
    if (walker.hasLocalsOperandsOption())
        newMode |= FILL_LIVE_STACK_FRAMES;
    return newMode;
}
 
源代码4 项目: openjdk-jdk9   文件: StackStreamFactory.java
private int toStackWalkMode(StackWalker walker, int mode) {
    int newMode = mode;
    if (walker.hasOption(Option.SHOW_HIDDEN_FRAMES) &&
            (mode & FILL_CLASS_REFS_ONLY) != FILL_CLASS_REFS_ONLY)
        newMode |= SHOW_HIDDEN_FRAMES;
    if (walker.hasLocalsOperandsOption())
        newMode |= FILL_LIVE_STACK_FRAMES;
    return newMode;
}
 
源代码5 项目: Bytecoder   文件: StackStreamFactory.java
private boolean skipReflectionFrames() {
    return !walker.hasOption(Option.SHOW_REFLECT_FRAMES) &&
               !walker.hasOption(Option.SHOW_HIDDEN_FRAMES);
}
 
源代码6 项目: openjdk-jdk9   文件: StackStreamFactory.java
private boolean skipReflectionFrames() {
    return !walker.hasOption(Option.SHOW_REFLECT_FRAMES) &&
               !walker.hasOption(Option.SHOW_HIDDEN_FRAMES);
}
 
源代码7 项目: openjdk-jdk9   文件: StackRecorderUtil.java
public StackRecorderUtil(Set<StackWalker.Option> swOptions) {
    compareClasses = swOptions.contains(Option.RETAIN_CLASS_REFERENCE);
    compareSTEs = true;
}
 
源代码8 项目: openjdk-jdk9   文件: HiddenFrames.java
public static void main(String... args) throws Exception {
    new HiddenFrames().test();
    new HiddenFrames(Option.SHOW_REFLECT_FRAMES).test();
    new HiddenFrames(Option.SHOW_HIDDEN_FRAMES).test();
}
 
源代码9 项目: openjdk-jdk9   文件: HiddenFrames.java
HiddenFrames(Option option) {
    this.option = option;
    this.walker = StackWalker.getInstance(option);
}
 
源代码10 项目: openjdk-jdk9   文件: NativeMethod.java
NativeMethod() {
    this.walker = StackWalker.getInstance(Option.SHOW_REFLECT_FRAMES);
}
 
 类所在包
 类方法
 同包方法