8065570: (bf spec) ByteBuffer.slice() should make it clear that the initial order is BIG_ENDIAN
Refine documentation of allocate*(), wrap(), slice(), duplicate(), asReadOnlyBuffer(), and as{Type}Buffer() to explcitly state the byte order of the created buffer. Reviewed-by: alanb
This commit is contained in:
parent
44db4a2bcb
commit
0ee4830a94
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, 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
|
||||
@ -119,9 +119,10 @@ class XXX {
|
||||
*
|
||||
* <p> The new buffer's position will be zero, its capacity and its limit
|
||||
* will be the number of bytes remaining in this buffer divided by
|
||||
* $nbytes$, and its mark will be undefined. The new buffer will be direct
|
||||
* if, and only if, this buffer is direct, and it will be read-only if, and
|
||||
* only if, this buffer is read-only. </p>
|
||||
* $nbytes$, its mark will be undefined, and its byte order will be that
|
||||
* of the byte buffer at the moment the view is created. The new buffer
|
||||
* will be direct if, and only if, this buffer is direct, and it will be
|
||||
* read-only if, and only if, this buffer is read-only. </p>
|
||||
*
|
||||
* @return A new $type$ buffer
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, 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
|
||||
@ -295,8 +295,9 @@ public abstract class $Type$Buffer
|
||||
* Allocates a new direct $type$ buffer.
|
||||
*
|
||||
* <p> The new buffer's position will be zero, its limit will be its
|
||||
* capacity, its mark will be undefined, and each of its elements will be
|
||||
* initialized to zero. Whether or not it has a
|
||||
* capacity, its mark will be undefined, each of its elements will be
|
||||
* initialized to zero, and its byte order will be
|
||||
* {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}. Whether or not it has a
|
||||
* {@link #hasArray backing array} is unspecified.
|
||||
*
|
||||
* @param capacity
|
||||
@ -317,9 +318,16 @@ public abstract class $Type$Buffer
|
||||
* Allocates a new $type$ buffer.
|
||||
*
|
||||
* <p> The new buffer's position will be zero, its limit will be its
|
||||
* capacity, its mark will be undefined, and each of its elements will be
|
||||
* initialized to zero. It will have a {@link #array backing array},
|
||||
* and its {@link #arrayOffset array offset} will be zero.
|
||||
* capacity, its mark will be undefined, each of its elements will be
|
||||
* initialized to zero, and its byte order will be
|
||||
#if[byte]
|
||||
* {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* the {@link ByteOrder#nativeOrder native order} of the underlying
|
||||
* hardware.
|
||||
#end[byte]
|
||||
* It will have a {@link #array backing array}, and its
|
||||
* {@link #arrayOffset array offset} will be zero.
|
||||
*
|
||||
* @param capacity
|
||||
* The new buffer's capacity, in $type$s
|
||||
@ -342,8 +350,15 @@ public abstract class $Type$Buffer
|
||||
* that is, modifications to the buffer will cause the array to be modified
|
||||
* and vice versa. The new buffer's capacity will be
|
||||
* <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
|
||||
* will be <tt>offset + length</tt>, and its mark will be undefined. Its
|
||||
* {@link #array backing array} will be the given array, and
|
||||
* will be <tt>offset + length</tt>, its mark will be undefined, and its
|
||||
* byte order will be
|
||||
#if[byte]
|
||||
* {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* the {@link ByteOrder#nativeOrder native order} of the underlying
|
||||
* hardware.
|
||||
#end[byte]
|
||||
* Its {@link #array backing array} will be the given array, and
|
||||
* its {@link #arrayOffset array offset} will be zero. </p>
|
||||
*
|
||||
* @param array
|
||||
@ -382,10 +397,16 @@ public abstract class $Type$Buffer
|
||||
* <p> The new buffer will be backed by the given $type$ array;
|
||||
* that is, modifications to the buffer will cause the array to be modified
|
||||
* and vice versa. The new buffer's capacity and limit will be
|
||||
* <tt>array.length</tt>, its position will be zero, and its mark will be
|
||||
* undefined. Its {@link #array backing array} will be the
|
||||
* given array, and its {@link #arrayOffset array offset} will
|
||||
* be zero. </p>
|
||||
* <tt>array.length</tt>, its position will be zero, its mark will be
|
||||
* undefined, and its byte order will be
|
||||
#if[byte]
|
||||
* {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* the {@link ByteOrder#nativeOrder native order} of the underlying
|
||||
* hardware.
|
||||
#end[byte]
|
||||
* Its {@link #array backing array} will be the given array, and its
|
||||
* {@link #arrayOffset array offset} will be zero. </p>
|
||||
*
|
||||
* @param array
|
||||
* The array that will back this buffer
|
||||
@ -499,10 +520,15 @@ public abstract class $Type$Buffer
|
||||
* values will be independent.
|
||||
*
|
||||
* <p> The new buffer's position will be zero, its capacity and its limit
|
||||
* will be the number of $type$s remaining in this buffer, and its mark
|
||||
* will be undefined. The new buffer will be direct if, and only if, this
|
||||
* buffer is direct, and it will be read-only if, and only if, this buffer
|
||||
* is read-only. </p>
|
||||
* will be the number of $type$s remaining in this buffer, its mark will be
|
||||
* undefined, and its byte order will be
|
||||
#if[byte]
|
||||
* {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* identical to that of this buffer.
|
||||
#end[byte]
|
||||
* The new buffer will be direct if, and only if, this buffer is direct, and
|
||||
* it will be read-only if, and only if, this buffer is read-only. </p>
|
||||
*
|
||||
* @return The new $type$ buffer
|
||||
*/
|
||||
@ -516,10 +542,15 @@ public abstract class $Type$Buffer
|
||||
* versa; the two buffers' position, limit, and mark values will be
|
||||
* independent.
|
||||
*
|
||||
* <p> The new buffer's capacity, limit, position, and mark values will be
|
||||
* identical to those of this buffer. The new buffer will be direct if,
|
||||
* and only if, this buffer is direct, and it will be read-only if, and
|
||||
* only if, this buffer is read-only. </p>
|
||||
* <p> The new buffer's capacity, limit, position,
|
||||
#if[byte]
|
||||
* and mark values will be identical to those of this buffer, and its byte
|
||||
* order will be {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* mark values, and byte order will be identical to those of this buffer.
|
||||
#end[byte]
|
||||
* The new buffer will be direct if, and only if, this buffer is direct, and
|
||||
* it will be read-only if, and only if, this buffer is read-only. </p>
|
||||
*
|
||||
* @return The new $type$ buffer
|
||||
*/
|
||||
@ -535,8 +566,13 @@ public abstract class $Type$Buffer
|
||||
* content to be modified. The two buffers' position, limit, and mark
|
||||
* values will be independent.
|
||||
*
|
||||
* <p> The new buffer's capacity, limit, position, and mark values will be
|
||||
* identical to those of this buffer.
|
||||
* <p> The new buffer's capacity, limit, position,
|
||||
#if[byte]
|
||||
* and mark values will be identical to those of this buffer, and its byte
|
||||
* order will be {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
|
||||
#else[byte]
|
||||
* mark values, and byte order will be identical to those of this buffer.
|
||||
#end[byte]
|
||||
*
|
||||
* <p> If this buffer is itself read-only then this method behaves in
|
||||
* exactly the same way as the {@link #duplicate duplicate} method. </p>
|
||||
|
59
jdk/test/java/nio/Buffer/Order-X.java.template
Normal file
59
jdk/test/java/nio/Buffer/Order-X.java.template
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
#warn This file is preprocessed before being compiled
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class Order$Type$ extends Order {
|
||||
private static void ck$Type$Buffer($Type$Buffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ck$Type$Buffer() {
|
||||
$type$[] array = new $type$[LENGTH];
|
||||
$Type$Buffer buf = $Type$Buffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ck$Type$Buffer(buf, nord);
|
||||
|
||||
buf = $Type$Buffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ck$Type$Buffer(buf, nord);
|
||||
|
||||
buf = $Type$Buffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ck$Type$Buffer(buf, nord);
|
||||
|
||||
ck$Type$Buffer(ByteBuffer.allocate(LENGTH).as$Type$Buffer(), be);
|
||||
ck$Type$Buffer(ByteBuffer.allocateDirect(LENGTH).as$Type$Buffer(), be);
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2015, 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
|
||||
@ -22,10 +22,10 @@
|
||||
*/
|
||||
|
||||
/* @test
|
||||
* @bug 8065570
|
||||
* @summary Unit test for X-Buffer.order methods
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.*;
|
||||
|
||||
|
||||
@ -35,6 +35,8 @@ public class Order {
|
||||
static final ByteOrder le = ByteOrder.LITTLE_ENDIAN;
|
||||
static final ByteOrder nord = ByteOrder.nativeOrder();
|
||||
|
||||
protected static final int LENGTH = 16;
|
||||
|
||||
static void ck(ByteOrder ord, ByteOrder expected) {
|
||||
if (ord != expected)
|
||||
throw new RuntimeException("Got " + ord
|
||||
@ -55,18 +57,33 @@ public class Order {
|
||||
ckViews(bb, be);
|
||||
bb.order(le);
|
||||
ckViews(bb, le);
|
||||
|
||||
if (bb.hasArray()) {
|
||||
byte[] array = bb.array();
|
||||
ck(ByteBuffer.wrap(array, LENGTH/2, LENGTH/2).order(), be);
|
||||
ck(ByteBuffer.wrap(array).order(), be);
|
||||
ck(bb.asReadOnlyBuffer().order(), be);
|
||||
ck(bb.duplicate().order(), be);
|
||||
ck(bb.slice().order(), be);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
|
||||
ck(ByteBuffer.allocate(10).order(), be);
|
||||
ck(ByteBuffer.allocateDirect(10).order(), be);
|
||||
ck(ByteBuffer.allocate(10).order(be).order(), be);
|
||||
ck(ByteBuffer.allocate(10).order(le).order(), le);
|
||||
ck(ByteBuffer.allocate(LENGTH).order(), be);
|
||||
ck(ByteBuffer.allocateDirect(LENGTH).order(), be);
|
||||
ck(ByteBuffer.allocate(LENGTH).order(be).order(), be);
|
||||
ck(ByteBuffer.allocate(LENGTH).order(le).order(), le);
|
||||
|
||||
ckByteBuffer(ByteBuffer.allocate(10));
|
||||
ckByteBuffer(ByteBuffer.allocateDirect(10));
|
||||
ckByteBuffer(ByteBuffer.allocate(LENGTH));
|
||||
ckByteBuffer(ByteBuffer.allocateDirect(LENGTH));
|
||||
|
||||
OrderChar.ckCharBuffer();
|
||||
OrderShort.ckShortBuffer();
|
||||
OrderInt.ckIntBuffer();
|
||||
OrderLong.ckLongBuffer();
|
||||
OrderFloat.ckFloatBuffer();
|
||||
OrderDouble.ckDoubleBuffer();
|
||||
}
|
||||
|
||||
}
|
||||
|
59
jdk/test/java/nio/Buffer/OrderChar.java
Normal file
59
jdk/test/java/nio/Buffer/OrderChar.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderChar extends Order {
|
||||
private static void ckCharBuffer(CharBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckCharBuffer() {
|
||||
char[] array = new char[LENGTH];
|
||||
CharBuffer buf = CharBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckCharBuffer(buf, nord);
|
||||
|
||||
buf = CharBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckCharBuffer(buf, nord);
|
||||
|
||||
buf = CharBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckCharBuffer(buf, nord);
|
||||
|
||||
ckCharBuffer(ByteBuffer.allocate(LENGTH).asCharBuffer(), be);
|
||||
ckCharBuffer(ByteBuffer.allocateDirect(LENGTH).asCharBuffer(), be);
|
||||
}
|
||||
}
|
59
jdk/test/java/nio/Buffer/OrderDouble.java
Normal file
59
jdk/test/java/nio/Buffer/OrderDouble.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderDouble extends Order {
|
||||
private static void ckDoubleBuffer(DoubleBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckDoubleBuffer() {
|
||||
double[] array = new double[LENGTH];
|
||||
DoubleBuffer buf = DoubleBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckDoubleBuffer(buf, nord);
|
||||
|
||||
buf = DoubleBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckDoubleBuffer(buf, nord);
|
||||
|
||||
buf = DoubleBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckDoubleBuffer(buf, nord);
|
||||
|
||||
ckDoubleBuffer(ByteBuffer.allocate(LENGTH).asDoubleBuffer(), be);
|
||||
ckDoubleBuffer(ByteBuffer.allocateDirect(LENGTH).asDoubleBuffer(), be);
|
||||
}
|
||||
}
|
59
jdk/test/java/nio/Buffer/OrderFloat.java
Normal file
59
jdk/test/java/nio/Buffer/OrderFloat.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderFloat extends Order {
|
||||
private static void ckFloatBuffer(FloatBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckFloatBuffer() {
|
||||
float[] array = new float[LENGTH];
|
||||
FloatBuffer buf = FloatBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckFloatBuffer(buf, nord);
|
||||
|
||||
buf = FloatBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckFloatBuffer(buf, nord);
|
||||
|
||||
buf = FloatBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckFloatBuffer(buf, nord);
|
||||
|
||||
ckFloatBuffer(ByteBuffer.allocate(LENGTH).asFloatBuffer(), be);
|
||||
ckFloatBuffer(ByteBuffer.allocateDirect(LENGTH).asFloatBuffer(), be);
|
||||
}
|
||||
}
|
59
jdk/test/java/nio/Buffer/OrderInt.java
Normal file
59
jdk/test/java/nio/Buffer/OrderInt.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderInt extends Order {
|
||||
private static void ckIntBuffer(IntBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckIntBuffer() {
|
||||
int[] array = new int[LENGTH];
|
||||
IntBuffer buf = IntBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckIntBuffer(buf, nord);
|
||||
|
||||
buf = IntBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckIntBuffer(buf, nord);
|
||||
|
||||
buf = IntBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckIntBuffer(buf, nord);
|
||||
|
||||
ckIntBuffer(ByteBuffer.allocate(LENGTH).asIntBuffer(), be);
|
||||
ckIntBuffer(ByteBuffer.allocateDirect(LENGTH).asIntBuffer(), be);
|
||||
}
|
||||
}
|
59
jdk/test/java/nio/Buffer/OrderLong.java
Normal file
59
jdk/test/java/nio/Buffer/OrderLong.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderLong extends Order {
|
||||
private static void ckLongBuffer(LongBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckLongBuffer() {
|
||||
long[] array = new long[LENGTH];
|
||||
LongBuffer buf = LongBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckLongBuffer(buf, nord);
|
||||
|
||||
buf = LongBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckLongBuffer(buf, nord);
|
||||
|
||||
buf = LongBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckLongBuffer(buf, nord);
|
||||
|
||||
ckLongBuffer(ByteBuffer.allocate(LENGTH).asLongBuffer(), be);
|
||||
ckLongBuffer(ByteBuffer.allocateDirect(LENGTH).asLongBuffer(), be);
|
||||
}
|
||||
}
|
59
jdk/test/java/nio/Buffer/OrderShort.java
Normal file
59
jdk/test/java/nio/Buffer/OrderShort.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 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.
|
||||
*/
|
||||
|
||||
/* Type-specific source code for unit test
|
||||
*
|
||||
* Regenerate the OrderX classes via genOrder.sh whenever this file changes.
|
||||
* We check in the generated source files so that the test tree can be used
|
||||
* independently of the rest of the source tree.
|
||||
*/
|
||||
|
||||
// -- This file was mechanically generated: Do not edit! -- //
|
||||
|
||||
import java.nio.*;
|
||||
|
||||
public class OrderShort extends Order {
|
||||
private static void ckShortBuffer(ShortBuffer buf, ByteOrder expected) {
|
||||
ck(buf.asReadOnlyBuffer().order(), expected);
|
||||
ck(buf.duplicate().order(), expected);
|
||||
ck(buf.slice().order(), expected);
|
||||
}
|
||||
|
||||
static void ckShortBuffer() {
|
||||
short[] array = new short[LENGTH];
|
||||
ShortBuffer buf = ShortBuffer.wrap(array);
|
||||
ck(buf.order(), nord);
|
||||
ckShortBuffer(buf, nord);
|
||||
|
||||
buf = ShortBuffer.wrap(array, LENGTH/2, LENGTH/2);
|
||||
ck(buf.order(), nord);
|
||||
ckShortBuffer(buf, nord);
|
||||
|
||||
buf = ShortBuffer.allocate(LENGTH);
|
||||
ck(buf.order(), nord);
|
||||
ckShortBuffer(buf, nord);
|
||||
|
||||
ckShortBuffer(ByteBuffer.allocate(LENGTH).asShortBuffer(), be);
|
||||
ckShortBuffer(ByteBuffer.allocateDirect(LENGTH).asShortBuffer(), be);
|
||||
}
|
||||
}
|
39
jdk/test/java/nio/Buffer/genOrder.sh
Normal file
39
jdk/test/java/nio/Buffer/genOrder.sh
Normal file
@ -0,0 +1,39 @@
|
||||
#! /bin/sh
|
||||
|
||||
#
|
||||
# Copyright (c) 2002, 2015, 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.
|
||||
#
|
||||
|
||||
javac -d . ../../../../make/src/classes/build/tools/spp/Spp.java > Spp.java
|
||||
|
||||
gen() {
|
||||
java build.tools.spp.Spp -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3<Order-X.java.template >Order$2.java
|
||||
}
|
||||
|
||||
gen char Char Character
|
||||
gen short Short Short
|
||||
gen int Int Integer
|
||||
gen long Long Long
|
||||
gen float Float Float
|
||||
gen double Double Double
|
||||
|
||||
rm -rf build
|
Loading…
x
Reference in New Issue
Block a user