< prev index next >

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

Print this page

1766                 public void visitVarDef(JCVariableDecl tree) {
1767                     if (tree.init != null && tree.init.type.constValue() == null)
1768                         tree.init = null;
1769                     super.visitVarDef(tree);
1770                 }
1771                 @Override
1772                 public void visitClassDef(JCClassDecl tree) {
1773                     ListBuffer<JCTree> newdefs = new ListBuffer<>();
1774                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1775                         JCTree t = it.head;
1776                         switch (t.getTag()) {
1777                         case CLASSDEF:
1778                             if (isInterface ||
1779                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1780                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1781                                 newdefs.append(t);
1782                             break;
1783                         case METHODDEF:
1784                             if (isInterface ||
1785                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1786                                 ((JCMethodDecl) t).sym.name == names.init ||
1787                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1788                                 newdefs.append(t);
1789                             break;
1790                         case VARDEF:
1791                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1792                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1793                                 newdefs.append(t);
1794                             break;
1795                         default:
1796                             break;
1797                         }
1798                     }
1799                     tree.defs = newdefs.toList();
1800                     super.visitClassDef(tree);
1801                 }
1802             }
1803             MethodBodyRemover r = new MethodBodyRemover();
1804             return r.translate(cdef);
1805         }
1806 

1766                 public void visitVarDef(JCVariableDecl tree) {
1767                     if (tree.init != null && tree.init.type.constValue() == null)
1768                         tree.init = null;
1769                     super.visitVarDef(tree);
1770                 }
1771                 @Override
1772                 public void visitClassDef(JCClassDecl tree) {
1773                     ListBuffer<JCTree> newdefs = new ListBuffer<>();
1774                     for (List<JCTree> it = tree.defs; it.tail != null; it = it.tail) {
1775                         JCTree t = it.head;
1776                         switch (t.getTag()) {
1777                         case CLASSDEF:
1778                             if (isInterface ||
1779                                 (((JCClassDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1780                                 (((JCClassDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCClassDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1781                                 newdefs.append(t);
1782                             break;
1783                         case METHODDEF:
1784                             if (isInterface ||
1785                                 (((JCMethodDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1786                                 names.isInitOrVNew(((JCMethodDecl) t).sym.name) ||
1787                                 (((JCMethodDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCMethodDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1788                                 newdefs.append(t);
1789                             break;
1790                         case VARDEF:
1791                             if (isInterface || (((JCVariableDecl) t).mods.flags & (Flags.PROTECTED|Flags.PUBLIC)) != 0 ||
1792                                 (((JCVariableDecl) t).mods.flags & (Flags.PRIVATE)) == 0 && ((JCVariableDecl) t).sym.packge().getQualifiedName() == names.java_lang)
1793                                 newdefs.append(t);
1794                             break;
1795                         default:
1796                             break;
1797                         }
1798                     }
1799                     tree.defs = newdefs.toList();
1800                     super.visitClassDef(tree);
1801                 }
1802             }
1803             MethodBodyRemover r = new MethodBodyRemover();
1804             return r.translate(cdef);
1805         }
1806 
< prev index next >