langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
changeset 39674 de3b0e52ca17
parent 39599 3c7da4996d8c
child 42407 f3702cff2933
child 42261 bb52b5514ad5
equal deleted inserted replaced
39673:f59a7f4d6f42 39674:de3b0e52ca17
  1038              l = l.tail) {
  1038              l = l.tail) {
  1039             ClassSymbol inner = l.head;
  1039             ClassSymbol inner = l.head;
  1040             inner.markAbstractIfNeeded(types);
  1040             inner.markAbstractIfNeeded(types);
  1041             char flags = (char) adjustFlags(inner.flags_field);
  1041             char flags = (char) adjustFlags(inner.flags_field);
  1042             if ((flags & INTERFACE) != 0) flags |= ABSTRACT; // Interfaces are always ABSTRACT
  1042             if ((flags & INTERFACE) != 0) flags |= ABSTRACT; // Interfaces are always ABSTRACT
  1043             if (inner.name.isEmpty()) flags &= ~FINAL; // Anonymous class: unset FINAL flag
       
  1044             flags &= ~STRICTFP; //inner classes should not have the strictfp flag set.
  1043             flags &= ~STRICTFP; //inner classes should not have the strictfp flag set.
  1045             if (dumpInnerClassModifiers) {
  1044             if (dumpInnerClassModifiers) {
  1046                 PrintWriter pw = log.getWriter(Log.WriterKind.ERROR);
  1045                 PrintWriter pw = log.getWriter(Log.WriterKind.ERROR);
  1047                 pw.println("INNERCLASS  " + inner.name);
  1046                 pw.println("INNERCLASS  " + inner.name);
  1048                 pw.println("---" + flagNames(flags));
  1047                 pw.println("---" + flagNames(flags));
  1677         } else {
  1676         } else {
  1678             flags = adjustFlags(c.flags() & ~DEFAULT);
  1677             flags = adjustFlags(c.flags() & ~DEFAULT);
  1679             if ((flags & PROTECTED) != 0) flags |= PUBLIC;
  1678             if ((flags & PROTECTED) != 0) flags |= PUBLIC;
  1680             flags = flags & ClassFlags & ~STRICTFP;
  1679             flags = flags & ClassFlags & ~STRICTFP;
  1681             if ((flags & INTERFACE) == 0) flags |= ACC_SUPER;
  1680             if ((flags & INTERFACE) == 0) flags |= ACC_SUPER;
  1682             if (c.isInner() && c.name.isEmpty()) flags &= ~FINAL;
       
  1683         }
  1681         }
  1684 
  1682 
  1685         if (dumpClassModifiers) {
  1683         if (dumpClassModifiers) {
  1686             PrintWriter pw = log.getWriter(Log.WriterKind.ERROR);
  1684             PrintWriter pw = log.getWriter(Log.WriterKind.ERROR);
  1687             pw.println();
  1685             pw.println();