diff -r a6442d6bc38a -r f3a80ecd8d09 langtools/test/tools/javac/T6341023.java --- a/langtools/test/tools/javac/T6341023.java Wed Jul 05 17:21:58 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6341023 - * @summary Tree API: Tree.Kind should have mapping to interface - */ - -import com.sun.source.tree.*; - -public class T6341023 { - public static void main(String... args) { - boolean ok = true; - - for (Tree.Kind k: Tree.Kind.values()) { - //System.err.println(k + " " + k.asInterface()); - Class i = k.asInterface(); - switch (k) { - case POSTFIX_INCREMENT: - case POSTFIX_DECREMENT: - case PREFIX_INCREMENT: - case PREFIX_DECREMENT: - case UNARY_PLUS: - case UNARY_MINUS: - case BITWISE_COMPLEMENT: - case LOGICAL_COMPLEMENT: - ok = ok & verify(k, i, i == UnaryTree.class); - break; - - case MULTIPLY: - case DIVIDE: - case REMAINDER: - case PLUS: - case MINUS: - case LEFT_SHIFT: - case RIGHT_SHIFT: - case UNSIGNED_RIGHT_SHIFT: - case LESS_THAN: - case GREATER_THAN: - case LESS_THAN_EQUAL: - case GREATER_THAN_EQUAL: - case EQUAL_TO: - case NOT_EQUAL_TO: - case AND: - case XOR: - case OR: - case CONDITIONAL_AND: - case CONDITIONAL_OR: - ok = ok & verify(k, i, i == BinaryTree.class); - break; - - case MULTIPLY_ASSIGNMENT: - case DIVIDE_ASSIGNMENT: - case REMAINDER_ASSIGNMENT: - case PLUS_ASSIGNMENT: - case MINUS_ASSIGNMENT: - case LEFT_SHIFT_ASSIGNMENT: - case RIGHT_SHIFT_ASSIGNMENT: - case UNSIGNED_RIGHT_SHIFT_ASSIGNMENT: - case AND_ASSIGNMENT: - case XOR_ASSIGNMENT: - case OR_ASSIGNMENT: - ok = ok & verify(k, i, i == CompoundAssignmentTree.class); - break; - - case INT_LITERAL: - case LONG_LITERAL: - case FLOAT_LITERAL: - case DOUBLE_LITERAL: - case BOOLEAN_LITERAL: - case CHAR_LITERAL: - case STRING_LITERAL: - case NULL_LITERAL: - ok = ok & verify(k, i, i == LiteralTree.class); - break; - - case UNBOUNDED_WILDCARD: - case EXTENDS_WILDCARD: - case SUPER_WILDCARD: - ok = ok & verify(k, i, i == WildcardTree.class); - break; - - case OTHER: - ok = ok & verify(k, i, i == null); - break; - - default: - String ks = k.toString().replace("_", "") + "tree"; - String iName = i.getName(); - String is = iName.substring(iName.lastIndexOf(".") + 1); - ok = ok & verify(k, i, ks.equalsIgnoreCase(is)); - } - } - - if (!ok) - throw new AssertionError("test failed"); - } - - static boolean verify(Tree.Kind k, Class c, boolean b) { - if (!b) - System.err.println("error: " + k + " " + c); - return b; - } -}