langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java
changeset 5320 e2aaa958b02d
parent 4870 a132763160d7
child 5321 c8efe769cb3b
equal deleted inserted replaced
5319:63dc7f367a37 5320:e2aaa958b02d
   200         if (stats.isEmpty()) return null;
   200         if (stats.isEmpty()) return null;
   201         if (stats.head.getTag() != JCTree.EXEC) return null;
   201         if (stats.head.getTag() != JCTree.EXEC) return null;
   202         JCExpressionStatement exec = (JCExpressionStatement) stats.head;
   202         JCExpressionStatement exec = (JCExpressionStatement) stats.head;
   203         if (exec.expr.getTag() != JCTree.APPLY) return null;
   203         if (exec.expr.getTag() != JCTree.APPLY) return null;
   204         return (JCMethodInvocation)exec.expr;
   204         return (JCMethodInvocation)exec.expr;
   205     }
       
   206 
       
   207     /** Return true if a tree represents a diamond new expr. */
       
   208     public static boolean isDiamond(JCTree tree) {
       
   209         switch(tree.getTag()) {
       
   210             case JCTree.TYPEAPPLY: return ((JCTypeApply)tree).getTypeArguments().isEmpty();
       
   211             case JCTree.NEWCLASS: return isDiamond(((JCNewClass)tree).clazz);
       
   212             default: return false;
       
   213         }
       
   214     }
   205     }
   215 
   206 
   216     /** Return true if a tree represents the null literal. */
   207     /** Return true if a tree represents the null literal. */
   217     public static boolean isNull(JCTree tree) {
   208     public static boolean isNull(JCTree tree) {
   218         if (tree.getTag() != JCTree.LITERAL)
   209         if (tree.getTag() != JCTree.LITERAL)