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
|