< prev index next >

src/jdk.jdeps/share/classes/com/sun/tools/javap/BasicWriter.java

Print this page
*** 27,16 ***
  
  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;
  
  /*
   *  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.
--- 27,15 ---
  
  import java.io.PrintWriter;
  import java.lang.classfile.AccessFlags;
  import java.lang.reflect.AccessFlag;
  import java.lang.reflect.ClassFileFormatVersion;
  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.

*** 57,10 ***
--- 56,19 ---
      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 >