8165263: Remove code in MetaData that hacks into private fields of Collections implementation classes

Reviewed-by: mchung, alexsch
This commit is contained in:
Sergey Bylokhov 2016-09-30 17:05:54 +03:00
parent 61a21b5a3e
commit ec9d2a571f
13 changed files with 0 additions and 648 deletions

View File

@ -510,102 +510,6 @@ private abstract static class java_util_Collections extends PersistenceDelegate
return new Expression(oldInstance, Collections.class, "synchronizedSortedMap", new Object[]{map});
}
}
static final class CheckedCollection_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedCollection", new Object[]{list, type});
}
}
static final class CheckedList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
List<?> list = new LinkedList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
}
}
static final class CheckedRandomAccessList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
}
}
static final class CheckedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
Set<?> set = new HashSet<>((Set<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSet", new Object[]{set, type});
}
}
static final class CheckedSortedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
SortedSet<?> set = new TreeSet<>((SortedSet<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSortedSet", new Object[]{set, type});
}
}
static final class CheckedMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
Map<?,?> map = new HashMap<>((Map<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedMap", new Object[]{map, keyType, valueType});
}
}
static final class CheckedSortedMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
SortedMap<?,?> map = new TreeMap<>((SortedMap<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSortedMap", new Object[]{map, keyType, valueType});
}
}
}
/**
* The persistence delegate for {@code java.util.EnumMap} classes.
*
* @author Sergey A. Malenkov
*/
static final class java_util_EnumMap_PersistenceDelegate extends PersistenceDelegate {
protected boolean mutatesTo(Object oldInstance, Object newInstance) {
return super.mutatesTo(oldInstance, newInstance) && (getType(oldInstance) == getType(newInstance));
}
protected Expression instantiate(Object oldInstance, Encoder out) {
return new Expression(oldInstance, EnumMap.class, "new", new Object[] {getType(oldInstance)});
}
private static Object getType(Object instance) {
return MetaData.getPrivateFieldValue(instance, "java.util.EnumMap.keyType");
}
}
/**
* The persistence delegate for {@code java.util.EnumSet} classes.
*
* @author Sergey A. Malenkov
*/
static final class java_util_EnumSet_PersistenceDelegate extends PersistenceDelegate {
protected boolean mutatesTo(Object oldInstance, Object newInstance) {
return super.mutatesTo(oldInstance, newInstance) && (getType(oldInstance) == getType(newInstance));
}
protected Expression instantiate(Object oldInstance, Encoder out) {
return new Expression(oldInstance, EnumSet.class, "noneOf", new Object[] {getType(oldInstance)});
}
private static Object getType(Object instance) {
return MetaData.getPrivateFieldValue(instance, "java.util.EnumSet.elementType");
}
}
// Collection
@ -1313,9 +1217,6 @@ static final class sun_swing_PrintColorUIResource_PersistenceDelegate extends Pe
internalPersistenceDelegates.put("java.sql.Date", new java_util_Date_PersistenceDelegate());
internalPersistenceDelegates.put("java.sql.Time", new java_util_Date_PersistenceDelegate());
internalPersistenceDelegates.put("java.util.JumboEnumSet", new java_util_EnumSet_PersistenceDelegate());
internalPersistenceDelegates.put("java.util.RegularEnumSet", new java_util_EnumSet_PersistenceDelegate());
}
@SuppressWarnings("rawtypes")

View File

@ -1,35 +0,0 @@
/*
* Copyright (c) 2007, 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.
*/
enum EnumPrivate {
A0,B0,C0,D0,E0,F0,G0,H0,I0,J0,K0,L0,M0,N0,O0,P0,Q0,R0,S0,T0,U0,V0,W0,X0,Y0,Z0,
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,
A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2,T2,U2,V2,W2,X2,Y2,Z2,
A3,B3,C3,D3,E3,F3,G3,H3,I3,J3,K3,L3,M3,N3,O3,P3,Q3,R3,S3,T3,U3,V3,W3,X3,Y3,Z3,
A4,B4,C4,D4,E4,F4,G4,H4,I4,J4,K4,L4,M4,N4,O4,P4,Q4,R4,S4,T4,U4,V4,W4,X4,Y4,Z4,
A5,B5,C5,D5,E5,F5,G5,H5,I5,J5,K5,L5,M5,N5,O5,P5,Q5,R5,S5,T5,U5,V5,W5,X5,Y5,Z5,
A6,B6,C6,D6,E6,F6,G6,H6,I6,J6,K6,L6,M6,N6,O6,P6,Q6,R6,S6,T6,U6,V6,W6,X6,Y6,Z6,
A7,B7,C7,D7,E7,F7,G7,H7,I7,J7,K7,L7,M7,N7,O7,P7,Q7,R7,S7,T7,U7,V7,W7,X7,Y7,Z7,
A8,B8,C8,D8,E8,F8,G8,H8,I8,J8,K8,L8,M8,N8,O8,P8,Q8,R8,S8,T8,U8,V8,W8,X8,Y8,Z8,
A9,B9,C9,D9,E9,F9,G9,H9,I9,J9,K9,L9,M9,N9,O9,P9,Q9,R9,S9,T9,U9,V9,W9,X9,Y9,Z9,
}

View File

@ -1,24 +0,0 @@
/*
* Copyright (c) 2007, 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.
*/
public enum EnumPublic {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}

View File

@ -1,49 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedCollection encoding
* @author Sergey Malenkov
*/
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public final class java_util_Collections_CheckedCollection extends AbstractTest<Collection<String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedCollection().test(true);
}
protected Collection<String> getObject() {
List<String> list = Collections.singletonList("string");
return Collections.checkedCollection(list, String.class);
}
protected Collection<String> getAnotherObject() {
List<String> list = Collections.emptyList();
return Collections.checkedCollection(list, String.class);
}
}

View File

@ -1,48 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedList encoding
* @author Sergey Malenkov
*/
import java.util.Collections;
import java.util.List;
public final class java_util_Collections_CheckedList extends AbstractTest<List<String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedList().test(true);
}
protected List<String> getObject() {
List<String> list = Collections.singletonList("string");
return Collections.checkedList(list, String.class);
}
protected List<String> getAnotherObject() {
List<String> list = Collections.emptyList();
return Collections.checkedList(list, String.class);
}
}

View File

@ -1,48 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedMap encoding
* @author Sergey Malenkov
*/
import java.util.Collections;
import java.util.Map;
public final class java_util_Collections_CheckedMap extends AbstractTest<Map<String, String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedMap().test(true);
}
protected Map<String, String> getObject() {
Map<String, String> map = Collections.singletonMap("key", "value");
return Collections.checkedMap(map, String.class, String.class);
}
protected Map<String, String> getAnotherObject() {
Map<String, String> map = Collections.emptyMap();
return Collections.checkedMap(map, String.class, String.class);
}
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedRandomAccessList encoding
* @author Sergey Malenkov
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public final class java_util_Collections_CheckedRandomAccessList extends AbstractTest<List<String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedRandomAccessList().test(true);
}
protected List<String> getObject() {
List<String> list = new ArrayList<String>();
list.add("string");
return Collections.checkedList(list, String.class);
}
protected List<String> getAnotherObject() {
List<String> list = new ArrayList<String>();
return Collections.checkedList(list, String.class);
}
}

View File

@ -1,48 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedSet encoding
* @author Sergey Malenkov
*/
import java.util.Collections;
import java.util.Set;
public final class java_util_Collections_CheckedSet extends AbstractTest<Set<String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedSet().test(true);
}
protected Set<String> getObject() {
Set<String> set = Collections.singleton("string");
return Collections.checkedSet(set, String.class);
}
protected Set<String> getAnotherObject() {
Set<String> set = Collections.emptySet();
return Collections.checkedSet(set, String.class);
}
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedSortedMap encoding
* @author Sergey Malenkov
*/
import java.util.Collections;
import java.util.SortedMap;
import java.util.TreeMap;
public final class java_util_Collections_CheckedSortedMap extends AbstractTest<SortedMap<String, String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedSortedMap().test(true);
}
protected SortedMap<String, String> getObject() {
SortedMap<String, String> map = new TreeMap<String, String>();
map.put("key", "value");
return Collections.checkedSortedMap(map, String.class, String.class);
}
protected SortedMap<String, String> getAnotherObject() {
SortedMap<String, String> map = new TreeMap<String, String>();
return Collections.checkedSortedMap(map, String.class, String.class);
}
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2007, 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 6505888
* @summary Tests CheckedSortedSet encoding
* @author Sergey Malenkov
*/
import java.util.Collections;
import java.util.SortedSet;
import java.util.TreeSet;
public final class java_util_Collections_CheckedSortedSet extends AbstractTest<SortedSet<String>> {
public static void main(String[] args) {
new java_util_Collections_CheckedSortedSet().test(true);
}
protected SortedSet<String> getObject() {
SortedSet<String> set = new TreeSet<String>();
set.add("string");
return Collections.checkedSortedSet(set, String.class);
}
protected SortedSet<String> getAnotherObject() {
SortedSet<String> set = new TreeSet<String>();
return Collections.checkedSortedSet(set, String.class);
}
}

View File

@ -1,49 +0,0 @@
/*
* Copyright (c) 2007, 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 6536295
* @summary Tests EnumMap encoding
* @author Sergey Malenkov
*/
import java.util.EnumMap;
import java.util.Map;
public final class java_util_EnumMap extends AbstractTest<Map<EnumPublic, String>> {
public static void main(String[] args) {
new java_util_EnumMap().test(true);
}
protected Map<EnumPublic, String> getObject() {
return new EnumMap<EnumPublic, String>(EnumPublic.class);
}
protected Map<EnumPublic, String> getAnotherObject() {
Map<EnumPublic, String> map = new EnumMap<EnumPublic, String>(EnumPublic.class);
map.put(EnumPublic.A, "value");
map.put(EnumPublic.Z, null);
return map;
}
}

View File

@ -1,49 +0,0 @@
/*
* Copyright (c) 2007, 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 6536295
* @summary Tests JumboEnumSet encoding
* @author Sergey Malenkov
*/
import java.util.EnumSet;
import java.util.Set;
public final class java_util_JumboEnumSet extends AbstractTest<Set<EnumPrivate>> {
public static void main(String[] args) {
new java_util_JumboEnumSet().test(true);
}
protected Set<EnumPrivate> getObject() {
return EnumSet.noneOf(EnumPrivate.class);
}
protected Set<EnumPrivate> getAnotherObject() {
Set<EnumPrivate> set = EnumSet.noneOf(EnumPrivate.class);
set.add(EnumPrivate.A0);
set.add(EnumPrivate.Z9);
return set;
}
}

View File

@ -1,49 +0,0 @@
/*
* Copyright (c) 2007, 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 6536295
* @summary Tests RegularEnumSet encoding
* @author Sergey Malenkov
*/
import java.util.EnumSet;
import java.util.Set;
public final class java_util_RegularEnumSet extends AbstractTest<Set<EnumPublic>> {
public static void main(String[] args) {
new java_util_RegularEnumSet().test(true);
}
protected Set<EnumPublic> getObject() {
return EnumSet.noneOf(EnumPublic.class);
}
protected Set<EnumPublic> getAnotherObject() {
Set<EnumPublic> set = EnumSet.noneOf(EnumPublic.class);
set.add(EnumPublic.A);
set.add(EnumPublic.Z);
return set;
}
}