< prev index next > src/jdk.jdeps/share/classes/com/sun/tools/javap/BasicWriter.java
Print this page
import java.io.PrintWriter;
import java.lang.classfile.AccessFlags;
import java.lang.reflect.AccessFlag;
import java.lang.reflect.ClassFileFormatVersion;
- import java.lang.reflect.Modifier;
- import java.util.EnumMap;
- import java.util.Map;
import java.util.Set;
import java.util.function.Supplier;
+ import jdk.internal.reflect.PreviewAccessFlags;
+
/*
* A writer similar to a PrintWriter but which does not hide exceptions.
* The standard print calls are line-buffered; report calls write messages directly.
*
* <p><b>This is NOT part of any supported API.
protected Set<AccessFlag> flagsReportUnknown(AccessFlags flags, ClassFileFormatVersion cffv) {
return maskToAccessFlagsReportUnknown(flags.flagsMask(), flags.location(), cffv);
}
protected Set<AccessFlag> maskToAccessFlagsReportUnknown(int mask, AccessFlag.Location location, ClassFileFormatVersion cffv) {
+ if (cffv == null) {
+ try {
+ return PreviewAccessFlags.maskToAccessFlags(mask, location);
+ } catch (IllegalArgumentException ex) {
+ mask &= PreviewAccessFlags.flagsMask(location);
+ report("Access Flags: " + ex.getMessage());
+ return PreviewAccessFlags.maskToAccessFlags(mask, location);
+ }
+ }
try {
return AccessFlag.maskToAccessFlags(mask, location, cffv);
} catch (IllegalArgumentException ex) {
mask &= location.flagsMask(cffv);
report("Access Flags: " + ex.getMessage());
< prev index next >