< prev index next >

src/java.base/share/classes/java/lang/StackStreamFactory.java

Print this page




 965 
 966         Set<Class<?>> classes = new HashSet<>();
 967         classes.add(StackWalker.class);
 968         classes.add(StackStreamFactory.class);
 969         classes.add(AbstractStackWalker.class);
 970         return classes;
 971     }
 972 
 973     private static boolean filterStackWalkImpl(Class<?> c) {
 974         return stackWalkImplClasses.contains(c) ||
 975                 c.getName().startsWith("java.util.stream.");
 976     }
 977 
 978     // MethodHandle frames are not hidden and CallerClassFinder has
 979     // to filter them out
 980     private static boolean isMethodHandleFrame(Class<?> c) {
 981         return c.getName().startsWith("java.lang.invoke.");
 982     }
 983 
 984     private static boolean isReflectionFrame(Class<?> c) {
 985         if (c.getName().startsWith("jdk.internal.reflect") &&
 986                 !MethodAccessor.class.isAssignableFrom(c) &&
 987                 !ConstructorAccessor.class.isAssignableFrom(c)) {
 988             throw new InternalError("Not jdk.internal.reflect.MethodAccessor"
 989                     + " or jdk.internal.reflect.ConstructorAccessor: "
 990                     + c.toString());
 991         }
 992         // ## should filter all @Hidden frames?
 993         return c == Method.class ||
 994                c == Constructor.class ||
 995                MethodAccessor.class.isAssignableFrom(c) ||
 996                ConstructorAccessor.class.isAssignableFrom(c) ||
 997                c.getName().startsWith("java.lang.invoke.LambdaForm");
 998     }
 999 
1000 }


 965 
 966         Set<Class<?>> classes = new HashSet<>();
 967         classes.add(StackWalker.class);
 968         classes.add(StackStreamFactory.class);
 969         classes.add(AbstractStackWalker.class);
 970         return classes;
 971     }
 972 
 973     private static boolean filterStackWalkImpl(Class<?> c) {
 974         return stackWalkImplClasses.contains(c) ||
 975                 c.getName().startsWith("java.util.stream.");
 976     }
 977 
 978     // MethodHandle frames are not hidden and CallerClassFinder has
 979     // to filter them out
 980     private static boolean isMethodHandleFrame(Class<?> c) {
 981         return c.getName().startsWith("java.lang.invoke.");
 982     }
 983 
 984     private static boolean isReflectionFrame(Class<?> c) {







 985         // ## should filter all @Hidden frames?
 986         return c == Method.class ||
 987                c == Constructor.class ||
 988                MethodAccessor.class.isAssignableFrom(c) ||
 989                ConstructorAccessor.class.isAssignableFrom(c) ||
 990                c.getName().startsWith("java.lang.invoke.LambdaForm");
 991     }
 992 
 993 }
< prev index next >