src/share/classes/com/sun/tools/javac/main/JavaCompiler.java

Print this page




1489                 @Override
1490                 public void visitMethodDef(JCMethodDecl tree) {
1491                     tree.mods.flags &= ~Flags.SYNCHRONIZED;
1492                     for (JCVariableDecl vd : tree.params)
1493                         vd.mods.flags &= ~Flags.FINAL;
1494                     tree.body = null;
1495                     super.visitMethodDef(tree);
1496                 }
1497                 @Override
1498                 public void visitVarDef(JCVariableDecl tree) {
1499                     if (tree.init != null && tree.init.type.constValue() == null)
1500                         tree.init = null;
1501                     super.visitVarDef(tree);
1502                 }
1503                 @Override
1504                 public void visitClassDef(JCClassDecl tree) {
1505                     ListBuffer<JCTree> newdefs = lb();
1506                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1507                         JCTree t = it.head;
1508                         switch (t.getTag()) {
1509                         case JCTree.CLASSDEF:
1510                             if (isInterface ||
1511                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1512                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1513                                 newdefs.append(t);
1514                             break;
1515                         case JCTree.METHODDEF:
1516                             if (isInterface ||
1517                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1518                                 ((JCMethodDecl) t).sym.name == names.init ||
1519                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1520                                 newdefs.append(t);
1521                             break;
1522                         case JCTree.VARDEF:
1523                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1524                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1525                                 newdefs.append(t);
1526                             break;
1527                         default:
1528                             break;
1529                         }
1530                     }
1531                     tree.defs = newdefs.toList();
1532                     super.visitClassDef(tree);
1533                 }
1534             }
1535             MethodBodyRemover r = new MethodBodyRemover();
1536             return r.translate(cdef);
1537         }
1538 
1539     public void reportDeferredDiagnostics() {
1540         if (errorCount() == 0
1541                 && annotationProcessingOccurred
1542                 && implicitSourceFilesRead




1489                 @Override
1490                 public void visitMethodDef(JCMethodDecl tree) {
1491                     tree.mods.flags &= ~Flags.SYNCHRONIZED;
1492                     for (JCVariableDecl vd : tree.params)
1493                         vd.mods.flags &= ~Flags.FINAL;
1494                     tree.body = null;
1495                     super.visitMethodDef(tree);
1496                 }
1497                 @Override
1498                 public void visitVarDef(JCVariableDecl tree) {
1499                     if (tree.init != null && tree.init.type.constValue() == null)
1500                         tree.init = null;
1501                     super.visitVarDef(tree);
1502                 }
1503                 @Override
1504                 public void visitClassDef(JCClassDecl tree) {
1505                     ListBuffer<JCTree> newdefs = lb();
1506                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1507                         JCTree t = it.head;
1508                         switch (t.getTag()) {
1509                         case CLASSDEF:
1510                             if (isInterface ||
1511                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1512                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1513                                 newdefs.append(t);
1514                             break;
1515                         case METHODDEF:
1516                             if (isInterface ||
1517                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1518                                 ((JCMethodDecl) t).sym.name == names.init ||
1519                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1520                                 newdefs.append(t);
1521                             break;
1522                         case VARDEF:
1523                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1524                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1525                                 newdefs.append(t);
1526                             break;
1527                         default:
1528                             break;
1529                         }
1530                     }
1531                     tree.defs = newdefs.toList();
1532                     super.visitClassDef(tree);
1533                 }
1534             }
1535             MethodBodyRemover r = new MethodBodyRemover();
1536             return r.translate(cdef);
1537         }
1538 
1539     public void reportDeferredDiagnostics() {
1540         if (errorCount() == 0
1541                 && annotationProcessingOccurred
1542                 && implicitSourceFilesRead