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
|