< prev index next >

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

Print this page

1734                 public void visitVarDef(JCVariableDecl tree) {
1735                     if (tree.init != null && tree.init.type.constValue() == null)
1736                         tree.init = null;
1737                     super.visitVarDef(tree);
1738                 }
1739                 @Override
1740                 public void visitClassDef(JCClassDecl tree) {
1741                     ListBuffer<JCTree> newdefs = new ListBuffer<>();
1742                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1743                         JCTree t = it.head;
1744                         switch (t.getTag()) {
1745                         case CLASSDEF:
1746                             if (isInterface ||
1747                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1748                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1749                                 newdefs.append(t);
1750                             break;
1751                         case METHODDEF:
1752                             if (isInterface ||
1753                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1754                                 ((JCMethodDecl) t).sym.name == names.init ||
1755                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1756                                 newdefs.append(t);
1757                             break;
1758                         case VARDEF:
1759                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1760                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1761                                 newdefs.append(t);
1762                             break;
1763                         default:
1764                             break;
1765                         }
1766                     }
1767                     tree.defs = newdefs.toList();
1768                     super.visitClassDef(tree);
1769                 }
1770             }
1771             MethodBodyRemover r = new MethodBodyRemover();
1772             return r.translate(cdef);
1773         }
1774 

1734                 public void visitVarDef(JCVariableDecl tree) {
1735                     if (tree.init != null && tree.init.type.constValue() == null)
1736                         tree.init = null;
1737                     super.visitVarDef(tree);
1738                 }
1739                 @Override
1740                 public void visitClassDef(JCClassDecl tree) {
1741                     ListBuffer<JCTree> newdefs = new ListBuffer<>();
1742                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1743                         JCTree t = it.head;
1744                         switch (t.getTag()) {
1745                         case CLASSDEF:
1746                             if (isInterface ||
1747                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1748                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1749                                 newdefs.append(t);
1750                             break;
1751                         case METHODDEF:
1752                             if (isInterface ||
1753                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1754                                 names.isInitOrVNew(((JCMethodDecl) t).sym.name) ||
1755                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1756                                 newdefs.append(t);
1757                             break;
1758                         case VARDEF:
1759                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1760                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1761                                 newdefs.append(t);
1762                             break;
1763                         default:
1764                             break;
1765                         }
1766                     }
1767                     tree.defs = newdefs.toList();
1768                     super.visitClassDef(tree);
1769                 }
1770             }
1771             MethodBodyRemover r = new MethodBodyRemover();
1772             return r.translate(cdef);
1773         }
1774 
< prev index next >