icu4j/icu4j-70.1-java8compat.patch

4393 lines
174 KiB
Diff
Raw Permalink Normal View History

--- a/main/classes/charset/src/com/ibm/icu/charset/Charset88591.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/Charset88591.java 2021-10-29 08:08:50.772614012 -0600
@@ -9,6 +9,7 @@
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.CharsetDecoder;
@@ -91,8 +92,8 @@ class Charset88591 extends CharsetASCII
* early termination of the loop
*/
if ((ch & 0xff00) != 0) {
- source.position((i + 1) - source.arrayOffset());
- target.position(i + offset);
+ ((Buffer)source).position((i + 1) - source.arrayOffset());
+ ((Buffer)target).position(i + offset);
return encodeMalformedOrUnmappable(source, ch, flush);
} else
return null;
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetASCII.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetASCII.java 2021-10-29 08:08:50.772614012 -0600
@@ -10,6 +10,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -80,12 +81,12 @@ class CharsetASCII extends CharsetICU {
cr = decodeLoopCoreOptimized(source, target, sourceArray, targetArray, sourceIndex, offset, limit);
if (cr == null) {
if (sourceLength <= targetLength) {
- source.position(oldSource + sourceLength);
- target.position(oldTarget + sourceLength);
+ ((Buffer)source).position(oldSource + sourceLength);
+ ((Buffer)target).position(oldTarget + sourceLength);
cr = CoderResult.UNDERFLOW;
} else {
- source.position(oldSource + targetLength);
- target.position(oldTarget + targetLength);
+ ((Buffer)source).position(oldSource + targetLength);
+ ((Buffer)target).position(oldTarget + targetLength);
cr = CoderResult.OVERFLOW;
}
}
@@ -125,8 +126,8 @@ class CharsetASCII extends CharsetICU {
* early termination of the loop
*/
if ((ch & 0x80) != 0) {
- source.position(i + 1);
- target.position(i + offset);
+ ((Buffer)source).position(i + 1);
+ ((Buffer)target).position(i + offset);
return decodeMalformedOrUnmappable(ch);
} else
return null;
@@ -238,12 +239,12 @@ class CharsetASCII extends CharsetICU {
cr = encodeLoopCoreOptimized(source, target, sourceArray, targetArray, sourceIndex, offset, limit, flush);
if (cr == null) {
if (sourceLength <= targetLength) {
- source.position(oldSource + sourceLength);
- target.position(oldTarget + sourceLength);
+ ((Buffer)source).position(oldSource + sourceLength);
+ ((Buffer)target).position(oldTarget + sourceLength);
cr = CoderResult.UNDERFLOW;
} else {
- source.position(oldSource + targetLength);
- target.position(oldTarget + targetLength);
+ ((Buffer)source).position(oldSource + targetLength);
+ ((Buffer)target).position(oldTarget + targetLength);
cr = CoderResult.OVERFLOW;
}
}
@@ -286,8 +287,8 @@ class CharsetASCII extends CharsetICU {
* early termination of the loop
*/
if ((ch & 0xff80) != 0) {
- source.position((i + 1) - source.arrayOffset());
- target.position(i + offset);
+ ((Buffer)source).position((i + 1) - source.arrayOffset());
+ ((Buffer)target).position(i + offset);
return encodeMalformedOrUnmappable(source, ch, flush);
} else
return null;
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetBOCU1.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetBOCU1.java 2021-10-29 08:08:50.773614012 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -446,7 +447,7 @@ class CharsetBOCU1 extends CharsetICU {
if(offsets!=null){
offsets.put(nextSourceIndex++);
}
- source.position(source.position()+1);
+ ((Buffer)source).position(source.position()+1);
--targetCapacity;
}else {
diff = c-prev;
@@ -456,7 +457,7 @@ class CharsetBOCU1 extends CharsetICU {
if(offsets!=null){
offsets.put(nextSourceIndex++);
}
- source.position(source.position()+1);
+ ((Buffer)source).position(source.position()+1);
--targetCapacity;
}else {
break;
@@ -471,7 +472,7 @@ class CharsetBOCU1 extends CharsetICU {
/*test the following code unit*/
char trail = source.get(source.position());
if(UTF16.isTrailSurrogate(trail)){
- source.position(source.position()+1);
+ ((Buffer)source).position(source.position()+1);
++nextSourceIndex;
c=UCharacter.getCodePoint(c, trail);
}
@@ -873,7 +874,7 @@ class CharsetBOCU1 extends CharsetICU {
} else {
break;
}
- source.position(source.position()+1);
+ ((Buffer)source).position(source.position()+1);
--count;
}
sourceIndex=nextSourceIndex; /* wrong if offsets==NULL but does not matter */
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetCompoundText.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetCompoundText.java 2021-10-29 08:08:50.774614012 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -269,7 +270,7 @@ class CharsetCompoundText extends Charse
if (matchFound) {
state = i;
- source.position(sourceIndex + (escSeqCompoundText[i].length - offset));
+ ((Buffer)source).position(sourceIndex + (escSeqCompoundText[i].length - offset));
}
return state;
@@ -371,8 +372,8 @@ class CharsetCompoundText extends Charse
}
targetLength = 0;
- tmpTargetBuffer.position(0);
- tmpTargetBuffer.limit(3);
+ ((Buffer)tmpTargetBuffer).position(0);
+ ((Buffer)tmpTargetBuffer).limit(3);
/* check if the char is a First surrogate */
if (UTF16.isSurrogate(sourceChar) || gotoGetTrail) {
@@ -385,7 +386,7 @@ class CharsetCompoundText extends Charse
if (source.hasRemaining()) {
/* test the following code unit */
char trail = source.get();
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
if (UTF16.isTrailSurrogate(trail)) {
source.get();
sourceChar = UCharacter.getCodePoint(sourceChar, trail);
@@ -423,18 +424,18 @@ class CharsetCompoundText extends Charse
err = gbEncoder[i].cnvMBCSFromUnicodeWithOffsets(CharBuffer.wrap(sourceCharArray), tmpTargetBuffer, offsets, true);
if (!err.isError()) {
tmpState = (byte)i;
- tmpTargetBuffer.limit(tmpTargetBuffer.position());
+ ((Buffer)tmpTargetBuffer).limit(tmpTargetBuffer.position());
implReset();
break;
}
}
} else if (tmpState == COMPOUND_TEXT_SINGLE_0) {
tmpTargetBuffer.put(0, (byte)sourceChar);
- tmpTargetBuffer.limit(1);
+ ((Buffer)tmpTargetBuffer).limit(1);
} else {
err = gbEncoder[tmpState].cnvMBCSFromUnicodeWithOffsets(CharBuffer.wrap(sourceCharArray), tmpTargetBuffer, offsets, true);
if (!err.isError()) {
- tmpTargetBuffer.limit(tmpTargetBuffer.position());
+ ((Buffer)tmpTargetBuffer).limit(tmpTargetBuffer.position());
}
}
if (err.isError()) {
@@ -568,7 +569,7 @@ class CharsetCompoundText extends Charse
}
}
} else if (source.hasRemaining()) {
- source.limit(findNextEsc(source));
+ ((Buffer)source).limit(findNextEsc(source));
decoder = gbDecoder[currentState];
@@ -591,7 +592,7 @@ class CharsetCompoundText extends Charse
}
}
- source.limit(sourceLimit);
+ ((Buffer)source).limit(sourceLimit);
}
if (err.isError()) {
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetDecoderICU.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetDecoderICU.java 2021-10-29 08:08:50.775614013 -0600
@@ -11,6 +11,7 @@
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -248,14 +249,14 @@ public abstract class CharsetDecoderICU
// return CoderResult.UNDERFLOW;
// }
- in.position(in.position() + toUCountPending());
+ ((Buffer)in).position(in.position() + toUCountPending());
/* do the conversion */
CoderResult ret = decode(in, out, null, false);
// ok was there input held in the previous invocation of decodeLoop
// that resulted in output in this invocation?
- in.position(in.position() - toUCountPending());
+ ((Buffer)in).position(in.position() - toUCountPending());
return ret;
}
@@ -428,8 +429,8 @@ public abstract class CharsetDecoderICU
//UConverterUtility.uprv_memcpy(replayArray, replayBegin, preToUArray, preToUBegin, -preToULength);
replayArray.put(preToUArray,0, -preToULength);
source=replayArray;
- source.position(0);
- source.limit(replayArrayIndex-preToULength);
+ ((Buffer)source).position(0);
+ ((Buffer)source).limit(replayArrayIndex-preToULength);
flush=false;
sourceIndex=-1;
preToULength=0;
@@ -515,10 +516,10 @@ public abstract class CharsetDecoderICU
//UConverterUtility.uprv_memcpy(replayArray, replayBegin, preToUArray, preToUBegin, -preToULength);
replayArray.put(preToUArray,0, -preToULength);
// reset position
- replayArray.position(0);
+ ((Buffer)replayArray).position(0);
source=replayArray;
- source.limit(replayArrayIndex-preToULength);
+ ((Buffer)source).limit(replayArrayIndex-preToULength);
flush=false;
if((sourceIndex+=preToULength)<0) {
sourceIndex=-1;
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetEncoderICU.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetEncoderICU.java 2021-10-29 08:08:50.776614013 -0600
@@ -11,6 +11,7 @@
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
@@ -265,7 +266,7 @@ public abstract class CharsetEncoderICU
//fromUnicodeReset();
return CoderResult.UNDERFLOW;
}
- in.position(in.position() + fromUCountPending());
+ ((Buffer)in).position(in.position() + fromUCountPending());
/* do the conversion */
CoderResult ret = encode(in, out, null, false);
setSourcePosition(in);
@@ -421,8 +422,8 @@ public abstract class CharsetEncoderICU
//UConverterUtility.uprv_memcpy(replayArray, replayArrayIndex, preFromUArray, 0, -preFromULength*UMachine.U_SIZEOF_UCHAR);
replayArray.put(preFromUArray, 0, -preFromULength);
source = replayArray;
- source.position(replayArrayIndex);
- source.limit(replayArrayIndex - preFromULength); //preFromULength is negative, see declaration
+ ((Buffer)source).position(replayArrayIndex);
+ ((Buffer)source).limit(replayArrayIndex - preFromULength); //preFromULength is negative, see declaration
flush = false;
preFromULength = 0;
@@ -502,8 +503,8 @@ public abstract class CharsetEncoderICU
replayArray.put(preFromUArray, 0, -preFromULength);
source = replayArray;
- source.position(replayArrayIndex);
- source.limit(replayArrayIndex - preFromULength);
+ ((Buffer)source).position(replayArrayIndex);
+ ((Buffer)source).limit(replayArrayIndex - preFromULength);
flush = false;
if ((sourceIndex += preFromULength) < 0) {
sourceIndex = -1;
@@ -760,7 +761,7 @@ public abstract class CharsetEncoderICU
// ok was there input held in the previous invocation of encodeLoop
// that resulted in output in this invocation?
- source.position(source.position() - fromUCountPending());
+ ((Buffer)source).position(source.position() - fromUCountPending());
}
/*
@@ -829,7 +830,7 @@ public abstract class CharsetEncoderICU
/* start the new target at the first free slot in the error buffer */
int errBuffLen = encoder.errorBufferLength;
ByteBuffer newTarget = ByteBuffer.wrap(encoder.errorBuffer);
- newTarget.position(errBuffLen); /* set the position at the end of the error buffer */
+ ((Buffer)newTarget).position(errBuffLen); /* set the position at the end of the error buffer */
encoder.errorBufferLength = 0;
encoder.encode(source, newTarget, null, false);
@@ -879,7 +880,7 @@ public abstract class CharsetEncoderICU
if (!UTF16.isTrailSurrogate(trail)) {
fromUChar32 = lead;
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
return CoderResult.malformedForLength(1);
}
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetHZ.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetHZ.java 2021-10-29 08:08:50.777614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -125,7 +126,7 @@ class CharsetHZ extends CharsetICU {
if (isStateDBCS ? (0x21 <= mySourceChar && mySourceChar <= 0x7e) : mySourceChar <= 0x7f) {
/* The current byte could be the start of a character: Back it out. */
toULength = 1;
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
} else {
/* Include the current byte in the illegal sequence. */
toUBytesArray[1] = (byte)mySourceChar;
@@ -170,7 +171,7 @@ class CharsetHZ extends CharsetICU {
mySourceChar = (leadByte << 8) | mySourceChar;
} else if (trailIsOk) {
/* report a single illegal byte and continue with the following DBCS starter byte */
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
mySourceChar = leadByte;
} else {
/* report a pair of illegal bytes if the second byte is not a DBCS starter */
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetISO2022.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetISO2022.java 2021-10-29 08:08:50.779614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -701,7 +702,7 @@ class CharsetISO2022 extends CharsetICU
int bytesFromThisBuffer = decoder.toULength - initialToULength;
if (backOutDistance <= bytesFromThisBuffer) {
/* same as initialToULength<=1 */
- source.position(source.position() - backOutDistance);
+ ((Buffer)source).position(source.position() - backOutDistance);
} else {
/* Back out bytes from the previous buffer: Need to replay them. */
decoder.preToULength = (byte)(bytesFromThisBuffer - backOutDistance);
@@ -710,7 +711,7 @@ class CharsetISO2022 extends CharsetICU
for (int i = 0; i < -(decoder.preToULength); i++) {
decoder.preToUArray[i] = decoder.toUBytesArray[i+1];
}
- source.position(source.position() - bytesFromThisBuffer);
+ ((Buffer)source).position(source.position() - bytesFromThisBuffer);
}
decoder.toULength = 1;
}
@@ -907,7 +908,7 @@ class CharsetISO2022 extends CharsetICU
case ESC_2022:
if (!gotoEscape) {
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
} else {
gotoEscape = false;
}
@@ -1061,14 +1062,14 @@ class CharsetISO2022 extends CharsetICU
/* disassemble the surrogate pair and write to output */
targetUniChar -= 0x0010000;
target.put((char)(0xd800 + (char)(targetUniChar>>10)));
- target.position(target.position()-1);
+ ((Buffer)target).position(target.position()-1);
if (offsets != null) {
offsets.put(target.remaining(), source.remaining() - (mySourceChar <= 0xff ? 1 : 2));
}
target.get();
if (target.hasRemaining()) {
target.put((char)(0xdc00+(char)(targetUniChar&0x3ff)));
- target.position(target.position()-1);
+ ((Buffer)target).position(target.position()-1);
if (offsets != null) {
offsets.put(target.remaining(), source.remaining() - (mySourceChar <= 0xff ? 1 : 2));
}
@@ -1167,7 +1168,7 @@ class CharsetISO2022 extends CharsetICU
case ESC_2022:
if (!gotoEscape) {
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
}
// escape label
gotoEscape = false;
@@ -1239,7 +1240,7 @@ class CharsetISO2022 extends CharsetICU
tempBufLen = 2;
}
ByteBuffer tempBuffer = ByteBuffer.wrap(tempBuf);
- tempBuffer.limit(tempBufLen);
+ ((Buffer)tempBuffer).limit(tempBufLen);
targetUniChar = MBCSSimpleGetNextUChar(cnv, tempBuffer, false);
mySourceChar = (mySourceChar << 8) | trailByte;
@@ -1366,7 +1367,7 @@ class CharsetISO2022 extends CharsetICU
continue;
} else if (!gotoGetTrailByte && (gotoEscape || mySourceChar == ESC_2022)) {
if (!gotoEscape) {
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
}
// escape label
gotoEscape = false; // reset gotoEscape flag
@@ -1419,11 +1420,11 @@ class CharsetISO2022 extends CharsetICU
} else if (mySourceChar <= 0x7f) {
int savedSourceLimit = source.limit();
int savedSourcePosition = source.position();
- source.limit(source.position());
- source.position(source.position()-1);
+ ((Buffer)source).limit(source.position());
+ ((Buffer)source).position(source.position()-1);
targetUniChar = MBCSSimpleGetNextUChar(myConverterData.currentConverter.sharedData, source, usingFallback);
- source.limit(savedSourceLimit);
- source.position(savedSourcePosition);
+ ((Buffer)source).limit(savedSourceLimit);
+ ((Buffer)source).position(savedSourcePosition);
} else {
targetUniChar = 0xffff;
}
@@ -1468,7 +1469,7 @@ class CharsetISO2022 extends CharsetICU
/* Find the end of the buffer e.g : Next Escape Seq | end of Buffer */
int oldSourcePos = source.position();
sourceLimit = getEndOfBuffer_2022(source);
- source.position(oldSourcePos);
+ ((Buffer)source).position(oldSourcePos);
if (source.position() != sourceLimit) {
/*
* get the current partial byte sequence
@@ -1489,9 +1490,9 @@ class CharsetISO2022 extends CharsetICU
*/
argTarget = target.position();
oldSourceLimit = source.limit(); // save the old source limit change to new one
- source.limit(sourceLimit);
+ ((Buffer)source).limit(sourceLimit);
err = myConverterData.currentDecoder.cnvMBCSToUnicodeWithOffsets(source, target, offsets, flush);
- source.limit(oldSourceLimit); // restore source limit;
+ ((Buffer)source).limit(oldSourceLimit); // restore source limit;
if (offsets != null && sourceStart != argSource) {
/* update offsets to base them on the actual start of the input */
int delta = argSource - sourceStart;
@@ -1770,7 +1771,7 @@ class CharsetISO2022 extends CharsetICU
/* test the following code unit */
char trail = source.get();
/* go back to the previous position */
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
if (UTF16.isTrailSurrogate(trail)) {
source.get();
sourceChar = UCharacter.getCodePoint(sourceChar, trail);
@@ -2277,7 +2278,7 @@ class CharsetISO2022 extends CharsetICU
if (source.hasRemaining()) {
/* test the following code unit */
char trail = source.get();
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
if (UTF16.isTrailSurrogate(trail)) {
source.get();
sourceChar = UCharacter.getCodePoint(sourceChar, trail);
@@ -2777,7 +2778,7 @@ class CharsetISO2022 extends CharsetICU
if (source.hasRemaining()) {
/* test the following code unit */
char trail = source.get();
- source.position(source.position()-1);
+ ((Buffer)source).position(source.position()-1);
if (UTF16.isTrailSurrogate(trail)) {
source.get();
sourceChar = UCharacter.getCodePoint(sourceChar, trail);
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetLMBCS.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetLMBCS.java 2021-10-29 08:08:50.780614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -597,13 +598,13 @@ class CharsetLMBCS extends CharsetICU {
oldSourceLimit = source.limit();
oldSourcePos = source.position();
- source.position(oldSourcePos + positionOffset);
- source.limit(source.position() + length);
+ ((Buffer)source).position(oldSourcePos + positionOffset);
+ ((Buffer)source).limit(source.position() + length);
uniChar = extraInfo.decoder.simpleGetNextUChar(source, false);
- source.limit(oldSourceLimit);
- source.position(oldSourcePos);
+ ((Buffer)source).limit(oldSourceLimit);
+ ((Buffer)source).position(oldSourcePos);
return uniChar;
}
@@ -649,7 +650,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(1) */
if (source.position() + 1 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
C0C1byte = (short)(source.get() & UConverterConstants.UNSIGNED_BYTE_MASK);
@@ -658,7 +659,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(2) */
if (source.position() + 2 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
@@ -673,7 +674,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(2) */
if (source.position() + 2 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
@@ -693,7 +694,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(1) */
if (source.position() + 1 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
CurByte = (short)(source.get() & UConverterConstants.UNSIGNED_BYTE_MASK);
@@ -724,7 +725,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(0) */
if (source.position() + 0 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
@@ -734,7 +735,7 @@ class CharsetLMBCS extends CharsetICU {
/* CHECK_SOURCE_LIMIT(1) */
if (source.position() + 1 > source.limit()) {
err[0] = CoderResult.OVERFLOW;
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
return 0xFFFF;
}
@@ -781,9 +782,9 @@ class CharsetLMBCS extends CharsetICU {
}
}
tmpSourceBuffer = ByteBuffer.wrap(LMBCS);
- tmpSourceBuffer.limit(savebytes);
+ ((Buffer)tmpSourceBuffer).limit(savebytes);
uniChar = (char)LMBCSGetNextUCharWorker(tmpSourceBuffer, err);
- source.position(saveSource + tmpSourceBuffer.position() - size_old);
+ ((Buffer)source).position(saveSource + tmpSourceBuffer.position() - size_old);
errSource = saveSource - size_old;
if (err[0].isOverflow()) { /* err == U_TRUNCATED_CHAR_FOUND */
@@ -792,7 +793,7 @@ class CharsetLMBCS extends CharsetICU {
for (int i = 0; i < savebytes; i++) {
toUBytesArray[i] = LMBCS[i];
}
- source.position(source.limit());
+ ((Buffer)source).position(source.limit());
err[0] = CoderResult.UNDERFLOW;
return err[0];
} else {
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetMBCS.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetMBCS.java 2021-10-29 08:08:50.783614013 -0600
@@ -1458,7 +1458,7 @@ class CharsetMBCS extends CharsetICU {
// TODO: It is very inefficient to create Buffer objects for each array access.
// We should create an inner class Extensions (or sibling class CharsetMBCSExtensions)
// which has buffers for the arrays, together with the code that works with them.
- indexes.position(indexes.getInt(index << 2));
+ ((Buffer)indexes).position(indexes.getInt(index << 2));
if (itemType == int.class)
b = indexes.asIntBuffer();
else if (itemType == char.class)
@@ -1468,12 +1468,12 @@ class CharsetMBCS extends CharsetICU {
else
// default or (itemType == byte.class)
b = indexes.slice();
- indexes.position(oldpos);
+ ((Buffer)indexes).position(oldpos);
return b;
}
private static int GET_MAX_BYTES_PER_UCHAR(ByteBuffer indexes) {
- indexes.position(0);
+ ((Buffer)indexes).position(0);
return indexes.getInt(EXT_COUNT_BYTES) & 0xff;
}
@@ -1649,7 +1649,7 @@ class CharsetMBCS extends CharsetICU {
if (match > 0) {
if (match >= preToULength) {
/* advance src pointer for the consumed input */
- source.position(source.position() + match - preToULength);
+ ((Buffer)source).position(source.position() + match - preToULength);
preToULength = 0;
} else {
/* the match did not use all of preToU[] - keep the rest for replay */
@@ -1670,7 +1670,7 @@ class CharsetMBCS extends CharsetICU {
for (j = preToULength; j < match; ++j) {
preToUArray[j] = source.get(sArrayIndex++);
}
- source.position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
+ ((Buffer)source).position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
preToULength = (byte) match;
} else /* match==0 */{
/*
@@ -1753,7 +1753,7 @@ class CharsetMBCS extends CharsetICU {
for (;;) {
/* go to the next section */
int oldpos = toUTable.position();
- toUSection = ((IntBuffer) toUTable.position(index)).slice();
+ toUSection = toUTable.position(index).slice();
toUTable.position(oldpos);
/* read first pair of the section */
@@ -1829,7 +1829,7 @@ class CharsetMBCS extends CharsetICU {
char[] a = new char[TO_U_GET_LENGTH(value)];
CharBuffer cb = ((CharBuffer) ARRAY(cx, EXT_TO_U_UCHARS_INDEX, char.class));
- cb.position(TO_U_GET_INDEX(value));
+ ((Buffer)cb).position(TO_U_GET_INDEX(value));
cb.get(a, 0, a.length);
return toUWriteUChars(this, a, 0, a.length, target, offsets, srcIndex);
}
@@ -1925,7 +1925,7 @@ class CharsetMBCS extends CharsetICU {
value, isToUUseFallback(), flush);
if (match > 0) {
/* advance src pointer for the consumed input */
- source.position(source.position() + match - firstLength);
+ ((Buffer)source).position(source.position() + match - firstLength);
/* write result to target */
cr[0] = writeToU(value[0], target, offsets, srcIndex);
@@ -1950,7 +1950,7 @@ class CharsetMBCS extends CharsetICU {
for (; j < match; ++j) {
preToUArray[j] = source.get(sArrayIndex++);
}
- source.position(sArrayIndex);
+ ((Buffer)source).position(sArrayIndex);
preToULength = (byte) match;
return true;
} else /* match==0 no match */{
@@ -2330,7 +2330,7 @@ class CharsetMBCS extends CharsetICU {
} else /* unassigned sequences indicated with byteIndex>0 */{
/* try an extension mapping */
int sourceBeginIndex = sourceArrayIndex;
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
byteIndex = toU(byteIndex, source, target, offsets, sourceIndex, flush, cr);
sourceArrayIndex = source.position();
sourceIndex = nextSourceIndex += (sourceArrayIndex - sourceBeginIndex);
@@ -2348,7 +2348,7 @@ class CharsetMBCS extends CharsetICU {
toULength = byteIndex;
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -2446,7 +2446,7 @@ class CharsetMBCS extends CharsetICU {
/* try an extension mapping */
lastSource = sourceArrayIndex;
toUBytesArray[0] = source.get(sourceArrayIndex - 1);
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
toULength = toU((byte) 1, source, target, offsets, sourceIndex, flush, cr);
sourceArrayIndex = source.position();
sourceIndex += 1 + (sourceArrayIndex - lastSource);
@@ -2480,7 +2480,7 @@ class CharsetMBCS extends CharsetICU {
}
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -2600,7 +2600,7 @@ class CharsetMBCS extends CharsetICU {
/* try an extension mapping */
int sourceBeginIndex = sourceArrayIndex;
toUBytesArray[0] = source.get(sourceArrayIndex - 1);
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
toULength = toU((byte) 1, source, target, offsets, sourceIndex, flush, cr);
sourceArrayIndex = source.position();
sourceIndex += 1 + (sourceArrayIndex - sourceBeginIndex);
@@ -2613,7 +2613,7 @@ class CharsetMBCS extends CharsetICU {
}
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -2772,7 +2772,7 @@ class CharsetMBCS extends CharsetICU {
if (sharedData.mbcs.extIndexes != null) {
/* Increase the limit for proper handling. Used in LMBCS. */
if (source.limit() > i + length) {
- source.limit(i + length);
+ ((Buffer)source).limit(i + length);
}
return simpleMatchToU(source, useFallback);
}
@@ -3358,7 +3358,7 @@ class CharsetMBCS extends CharsetICU {
fromUChar32 = c;
fromUnicodeStatus = prevLength;
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
} catch (BufferOverflowException ex) {
cr[0] = CoderResult.OVERFLOW;
}
@@ -3533,7 +3533,7 @@ class CharsetMBCS extends CharsetICU {
if (match >= preFromULength) {
/* advance src pointer for the consumed input */
- source.position(source.position() + match - preFromULength);
+ ((Buffer)source).position(source.position() + match - preFromULength);
preFromULength = 0;
} else {
/* the match did not use all of preFromU[] - keep the rest for replay */
@@ -3558,7 +3558,7 @@ class CharsetMBCS extends CharsetICU {
for (j = preFromULength; j < match; ++j) {
preFromUArray[j] = source.get(sArrayIndex++);
}
- source.position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
+ ((Buffer)source).position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
preFromULength = (byte) match;
} else { /* match==0 or 1 */
/*
@@ -3672,10 +3672,10 @@ class CharsetMBCS extends CharsetICU {
for (;;) {
/* go to the next section */
int oldpos = fromUTableUChars.position();
- fromUSectionUChars = ((CharBuffer) fromUTableUChars.position(index)).slice();
- fromUTableUChars.position(oldpos);
+ fromUSectionUChars = ((CharBuffer) ((Buffer)fromUTableUChars).position(index)).slice();
+ ((Buffer)fromUTableUChars).position(oldpos);
oldpos = fromUTableValues.position();
- fromUSectionValues = ((IntBuffer) fromUTableValues.position(index)).slice();
+ fromUSectionValues = fromUTableValues.position(index).slice();
fromUTableValues.position(oldpos);
/* read first pair of the section */
@@ -3835,7 +3835,7 @@ class CharsetMBCS extends CharsetICU {
byte[] slice = new byte[length];
ByteBuffer bb = ((ByteBuffer) ARRAY(cx, EXT_FROM_U_BYTES_INDEX, byte.class));
- bb.position(value);
+ ((Buffer)bb).position(value);
bb.get(slice, 0, slice.length);
resultArray = slice;
@@ -3943,7 +3943,7 @@ class CharsetMBCS extends CharsetICU {
if (match >= 2
&& !(FROM_U_GET_LENGTH(value[0]) == 1 && sharedData.mbcs.outputType == MBCS_OUTPUT_DBCS_ONLY)) {
/* advance src pointer for the consumed input */
- source.position(source.position() + match - 2); /* remove 2 for the initial code point */
+ ((Buffer)source).position(source.position() + match - 2); /* remove 2 for the initial code point */
/* write result to target */
cr[0] = writeFromU(value[0], target, offsets, srcIndex);
@@ -3962,7 +3962,7 @@ class CharsetMBCS extends CharsetICU {
for (j = 0; j < match; ++j) {
preFromUArray[j] = source.get(sArrayIndex++);
}
- source.position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
+ ((Buffer)source).position(sArrayIndex); /* same as *src=srcLimit; because we reached the end of input */
preFromULength = (byte) match;
return true;
} else if (match == 1) {
@@ -4102,7 +4102,7 @@ class CharsetMBCS extends CharsetICU {
/* try an extension mapping */
lastSource = sourceArrayIndex;
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
c = fromU(c, source, target, offsets, sourceIndex, length, flush, cr);
sourceArrayIndex = source.position();
sourceIndex += length + (sourceArrayIndex - lastSource);
@@ -4142,7 +4142,7 @@ class CharsetMBCS extends CharsetICU {
fromUChar32 = c;
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -4292,7 +4292,7 @@ class CharsetMBCS extends CharsetICU {
fromUChar32 = c;
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -4482,7 +4482,7 @@ class CharsetMBCS extends CharsetICU {
fromUChar32 = c;
/* write back the updated pointers */
- source.position(sourceArrayIndex);
+ ((Buffer)source).position(sourceArrayIndex);
return cr[0];
}
@@ -4576,7 +4576,7 @@ class CharsetMBCS extends CharsetICU {
boolean flush, CoderResult[] cr) {
/* try an extension mapping */
int sourceBegin = x.sourceArrayIndex;
- source.position(x.sourceArrayIndex);
+ ((Buffer)source).position(x.sourceArrayIndex);
x.c = fromU(x.c, source, target, null, x.sourceIndex, x.nextSourceIndex, flush, cr);
x.sourceArrayIndex = source.position();
x.nextSourceIndex += x.sourceArrayIndex - sourceBegin;
@@ -4649,7 +4649,7 @@ class CharsetMBCS extends CharsetICU {
boolean flush, CoderResult[] cr) {
/* try an extension mapping */
int sourceBegin = x.sourceArrayIndex;
- source.position(x.sourceArrayIndex);
+ ((Buffer)source).position(x.sourceArrayIndex);
x.c = fromU(x.c, source, target, null, x.sourceIndex, x.nextSourceIndex, flush, cr);
x.sourceArrayIndex = source.position();
x.nextSourceIndex += x.sourceArrayIndex - sourceBegin;
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetSCSU.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetSCSU.java 2021-10-29 08:08:50.784614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -293,7 +294,7 @@ class CharsetSCSU extends CharsetICU{
if(state==readCommand){
while(source.hasRemaining() && target.hasRemaining() && (b=(short)(source.get(source.position()) & UConverterConstants.UNSIGNED_BYTE_MASK)) >= 0x20){
- source.position(source.position()+1);
+ ((Buffer)source).position(source.position()+1);
++nextSourceIndex;
if(b <= 0x7f){
/*Write US graphic character or DEL*/
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF16.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF16.java 2021-10-29 08:08:50.785614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -212,7 +213,7 @@ class CharsetUTF16 extends CharsetICU {
if (!UTF16.isTrailSurrogate(trail)) {
// pretend like we didn't read the last 2 bytes
toULength = 2;
- source.position(source.position() - 2);
+ ((Buffer)source).position(source.position() - 2);
// 2 bytes, lead malformed
toUnicodeStatus = 0;
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF7.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF7.java 2021-10-29 08:08:50.785614013 -0600
@@ -8,6 +8,7 @@
*/
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -302,7 +303,7 @@ class CharsetUTF7 extends CharsetICU {
if(base64Counter==-1) {
/* illegal: + immediately followed by something other than base64 or minus sign */
/* include the plus sign in the reported sequence, but not the subsequent char */
- source.position(source.position() -1);
+ ((Buffer)source).position(source.position() -1);
toUBytesArray[0]=PLUS;
byteIndex=1;
cr=CoderResult.malformedForLength(sourceArrayIndex);
@@ -310,7 +311,7 @@ class CharsetUTF7 extends CharsetICU {
} else if(bits!=0) {
/* bits are illegally left over, a UChar is incomplete */
/* don't include current char (legal or illegal) in error seq */
- source.position(source.position() -1);
+ ((Buffer)source).position(source.position() -1);
--byteIndex;
cr=CoderResult.malformedForLength(sourceArrayIndex);
break directMode;
@@ -322,7 +323,7 @@ class CharsetUTF7 extends CharsetICU {
break directMode;
} else {
/* un-read the current character in case it is a plus sign */
- source.position(source.position() -1);
+ ((Buffer)source).position(source.position() -1);
sourceIndex=nextSourceIndex-1;
continue directMode;
}
@@ -555,7 +556,7 @@ class CharsetUTF7 extends CharsetICU {
}
} else {
/* un-read this character and switch to unicode mode */
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
target.put(useIMAP ? AMPERSAND : PLUS);
if (offsets != null) {
offsets.put(sourceIndex);
@@ -581,7 +582,7 @@ class CharsetUTF7 extends CharsetICU {
inDirectMode=1;
/* trick: back out this character to make this easier */
- source.position(source.position() - 1);
+ ((Buffer)source).position(source.position() - 1);
/* terminate the base64 sequence */
if (base64Counter!=0) {
--- a/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF8.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/CharsetUTF8.java 2021-10-29 08:08:50.786614013 -0600
@@ -11,6 +11,7 @@
package com.ibm.icu.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -359,8 +360,8 @@ class CharsetUTF8 extends CharsetICU {
srcIdx = sourceIndex;
tgtIdx = targetIndex;
if (cr != null) {
- source.position(srcIdx - source.arrayOffset());
- target.position(tgtIdx - target.arrayOffset());
+ ((Buffer)source).position(srcIdx - source.arrayOffset());
+ ((Buffer)target).position(tgtIdx - target.arrayOffset());
return cr;
}
}
@@ -432,8 +433,8 @@ class CharsetUTF8 extends CharsetICU {
}
/* set the new source and target positions and return the CoderResult stored in cr */
- source.position(srcIdx - source.arrayOffset());
- target.position(tgtIdx - target.arrayOffset());
+ ((Buffer)source).position(srcIdx - source.arrayOffset());
+ ((Buffer)target).position(tgtIdx - target.arrayOffset());
return cr;
} else {
--- a/main/classes/charset/src/com/ibm/icu/charset/UConverterDataReader.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/charset/src/com/ibm/icu/charset/UConverterDataReader.java 2021-10-29 08:08:50.787614013 -0600
@@ -10,6 +10,7 @@
package com.ibm.icu.charset;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -595,7 +596,7 @@ final class UConverterDataReader {
throw new InvalidFormatException();
}
int numBytesExtensionStructure = b.getInt(31 * 4);
- b.limit(numBytesExtensionStructure);
+ ((Buffer)b).limit(numBytesExtensionStructure);
ICUBinary.skipBytes(byteBuffer, numBytesExtensionStructure);
return b;
}
--- a/main/classes/core/src/com/ibm/icu/impl/ICUBinary.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/core/src/com/ibm/icu/impl/ICUBinary.java 2021-10-29 08:08:50.788614013 -0600
@@ -15,6 +15,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.channels.FileChannel;
@@ -94,8 +95,8 @@ public final class ICUBinary {
int index = binarySearch(bytes, key);
if (index >= 0) {
ByteBuffer data = bytes.duplicate();
- data.position(getDataOffset(bytes, index));
- data.limit(getDataOffset(bytes, index + 1));
+ ((Buffer)data).position(getDataOffset(bytes, index));
+ ((Buffer)data).limit(getDataOffset(bytes, index + 1));
return ICUBinary.sliceWithOrder(data);
} else {
return null;
@@ -609,7 +610,7 @@ public final class ICUBinary {
formatVersion[2] & 0xff, formatVersion[3] & 0xff));
}
- bytes.position(headerSize);
+ ((Buffer)bytes).position(headerSize);
return // dataVersion
(bytes.get(20) << 24) |
((bytes.get(21) & 0xff) << 16) |
@@ -648,7 +649,7 @@ public final class ICUBinary {
public static void skipBytes(ByteBuffer bytes, int skipLength) {
if (skipLength > 0) {
- bytes.position(bytes.position() + skipLength);
+ ((Buffer)bytes).position(bytes.position() + skipLength);
}
}
--- a/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundleReader.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundleReader.java 2021-10-29 08:08:50.789614013 -0600
@@ -11,6 +11,7 @@ package com.ibm.icu.impl;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.SoftReference;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
@@ -294,7 +295,7 @@ public final class ICUResourceBundleRead
// unlike regular bundles' key strings for which indexes
// are based on the start of the bundle data.
keyBytes = new byte[(keysTop - keysBottom) << 2];
- bytes.position(keysBottom << 2);
+ ((Buffer)bytes).position(keysBottom << 2);
} else {
localKeyLimit = keysTop << 2;
keyBytes = new byte[localKeyLimit];
@@ -307,9 +308,9 @@ public final class ICUResourceBundleRead
int _16BitTop = getIndexesInt(URES_INDEX_16BIT_TOP);
if(_16BitTop > keysTop) {
int num16BitUnits = (_16BitTop - keysTop) * 2;
- bytes.position(keysTop << 2);
+ ((Buffer)bytes).position(keysTop << 2);
b16BitUnits = bytes.asCharBuffer();
- b16BitUnits.limit(num16BitUnits);
+ ((Buffer)b16BitUnits).limit(num16BitUnits);
maxOffset |= num16BitUnits - 1;
} else {
b16BitUnits = EMPTY_16_BIT_UNITS;
@@ -327,7 +328,7 @@ public final class ICUResourceBundleRead
}
// Reset the position for future .asCharBuffer() etc.
- bytes.position(0);
+ ((Buffer)bytes).position(0);
}
private int getIndexesInt(int i) {
@@ -387,7 +388,7 @@ public final class ICUResourceBundleRead
}
} else {
CharBuffer temp = bytes.asCharBuffer();
- temp.position(offset / 2);
+ ((Buffer)temp).position(offset / 2);
temp.get(chars);
}
return chars;
@@ -403,7 +404,7 @@ public final class ICUResourceBundleRead
}
} else {
IntBuffer temp = bytes.asIntBuffer();
- temp.position(offset / 4);
+ ((Buffer)temp).position(offset / 4);
temp.get(ints);
}
return ints;
@@ -418,7 +419,7 @@ public final class ICUResourceBundleRead
}
} else {
CharBuffer temp = b16BitUnits.duplicate();
- temp.position(offset);
+ ((Buffer)temp).position(offset);
temp.get(result);
}
return result;
@@ -665,7 +666,7 @@ public final class ICUResourceBundleRead
}
} else {
ByteBuffer temp = bytes.duplicate();
- temp.position(offset);
+ ((Buffer)temp).position(offset);
temp.get(ba);
}
return ba;
@@ -696,7 +697,7 @@ public final class ICUResourceBundleRead
}
offset += 4;
ByteBuffer result = bytes.duplicate();
- result.position(offset).limit(offset + length);
+ ((Buffer)result).position(offset).limit(offset + length);
result = ICUBinary.sliceWithOrder(result);
if(!result.isReadOnly()) {
result = result.asReadOnlyBuffer();
--- a/main/classes/core/src/com/ibm/icu/impl/RBBIDataWrapper.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/core/src/com/ibm/icu/impl/RBBIDataWrapper.java 2021-10-29 08:08:50.790614013 -0600
@@ -11,6 +11,7 @@ package com.ibm.icu.impl;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
@@ -361,7 +362,7 @@ public final class RBBIDataWrapper {
ICUBinary.skipBytes(bytes, This.fHeader.fTrie - pos); // seek buffer from end of
pos = This.fHeader.fTrie; // previous section to the start of the trie
- bytes.mark(); // Mark position of start of TRIE in the input
+ ((Buffer)bytes).mark(); // Mark position of start of TRIE in the input
// and tell Java to keep the mark valid so long
// as we don't go more than 100 bytes past the
// past the end of the TRIE.
@@ -373,7 +374,7 @@ public final class RBBIDataWrapper {
// at an unknown position, preceding the
// padding between TRIE and following section.
- bytes.reset(); // Move buffer back to marked position at
+ ((Buffer)bytes).reset(); // Move buffer back to marked position at
// the start of the serialized TRIE. Now our
// "pos" variable and the buffer are in
// agreement.
--- a/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java 2021-10-29 08:08:50.791614013 -0600
@@ -14,6 +14,7 @@ package com.ibm.icu.text;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.Reader;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.text.ParseException;
import java.util.ArrayList;
@@ -1877,7 +1878,7 @@ public class SpoofChecker {
// A ByteBuffer is what the ICU internal data loading functions provide.
private SpoofData(ByteBuffer bytes) throws java.io.IOException {
ICUBinary.readHeader(bytes, DATA_FORMAT, IS_ACCEPTABLE);
- bytes.mark();
+ ((Buffer)bytes).mark();
readData(bytes);
}
@@ -1930,15 +1931,15 @@ public class SpoofChecker {
// of the data items. Now read each in turn, first seeking the
// input stream to the position of the data item.
- bytes.reset();
+ ((Buffer)bytes).reset();
ICUBinary.skipBytes(bytes, CFUKeysOffset);
fCFUKeys = ICUBinary.getInts(bytes, CFUKeysSize, 0);
- bytes.reset();
+ ((Buffer)bytes).reset();
ICUBinary.skipBytes(bytes, CFUValuesOffset);
fCFUValues = ICUBinary.getShorts(bytes, CFUValuesSize, 0);
- bytes.reset();
+ ((Buffer)bytes).reset();
ICUBinary.skipBytes(bytes, CFUStringTableOffset);
fCFUStrings = ICUBinary.getString(bytes, CFUStringTableSize, 0);
}
--- a/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java 2021-10-29 08:10:04.130616650 -0600
@@ -9,6 +9,7 @@
package com.ibm.icu.dev.test.charset;
+import java.nio.Buffer;
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
@@ -107,30 +108,30 @@ public class TestCharset extends TestFmw
}
- us.limit(us.position());
- us.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
if(us.length()==0){
continue;
}
- bs1.limit(bs1.position());
- bs1.position(0);
+ ((Buffer)bs1).limit(bs1.position());
+ ((Buffer)bs1).position(0);
ByteBuffer newBS = ByteBuffer.allocate(bs1.capacity());
//newBS.put((byte)0xFE);
//newBS.put((byte)0xFF);
newBS.put(bs1);
- bs1.position(0);
+ ((Buffer)bs1).position(0);
smBufDecode(d1, "UTF-16", bs1, us);
smBufEncode(e1, "UTF-16", us, newBS);
- bs2.limit(bs2.position());
- bs2.position(0);
- newBS.clear();
+ ((Buffer)bs2).limit(bs2.position());
+ ((Buffer)bs2).position(0);
+ ((Buffer)newBS).clear();
//newBS.put((byte)0xFF);
//newBS.put((byte)0xFE);
newBS.put(bs2);
- bs2.position(0);
+ ((Buffer)bs2).position(0);
smBufDecode(d2, "UTF16-LE", bs2, us);
smBufEncode(e2, "UTF-16LE", us, newBS);
@@ -178,12 +179,12 @@ public class TestCharset extends TestFmw
bs2.put((byte) (c >>> 16));
bs2.put((byte) (c >>> 24));
}
- bs1.limit(bs1.position());
- bs1.position(0);
- bs2.limit(bs2.position());
- bs2.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs1).limit(bs1.position());
+ ((Buffer)bs1).position(0);
+ ((Buffer)bs2).limit(bs2.position());
+ ((Buffer)bs2).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
if(us.length()==0){
continue;
}
@@ -197,12 +198,12 @@ public class TestCharset extends TestFmw
newBS.put((byte)0xFF);
newBS.put(bs1);
- bs1.position(0);
+ ((Buffer)bs1).position(0);
smBufDecode(d1, "UTF-32", bs1, us);
smBufEncode(e1, "UTF-32", us, newBS);
- newBS.clear();
+ ((Buffer)newBS).clear();
newBS.put((byte)0xFF);
newBS.put((byte)0xFE);
@@ -210,7 +211,7 @@ public class TestCharset extends TestFmw
newBS.put((byte)0x00);
newBS.put(bs2);
- bs2.position(0);
+ ((Buffer)bs2).position(0);
smBufDecode(d2, "UTF-32LE", bs2, us);
smBufEncode(e2, "UTF-32LE", us, newBS);
@@ -449,7 +450,7 @@ public class TestCharset extends TestFmw
for (int index = 0; index < input.length; index++) {
CharBuffer source = CharBuffer.wrap(input[index]);
cr = encoder.encode(source, bs, true);
- bs.rewind();
+ ((Buffer)bs).rewind();
encoder.reset();
// if cr != results[x]
@@ -464,7 +465,7 @@ public class TestCharset extends TestFmw
source = CharBuffer.wrap(input[index].toCharArray());
cr = encoder.encode(source, bs, true);
- bs.rewind();
+ ((Buffer)bs).rewind();
encoder.reset();
// if cr != results[x]
@@ -563,8 +564,8 @@ public class TestCharset extends TestFmw
decoder.reset();
cr = decoder.decode(bs, us, true);
- bs.rewind();
- us.rewind();
+ ((Buffer)bs).rewind();
+ ((Buffer)us).rewind();
if (!cr.isMalformed() || cr.length() != 1) {
errln("Incorrect result in " + converter + " decoder for 0x"
+ Integer.toHexString(i) + " received " + cr);
@@ -572,8 +573,8 @@ public class TestCharset extends TestFmw
}
encoder.reset();
cr = encoder.encode(us, bs, true);
- bs.rewind();
- us.rewind();
+ ((Buffer)bs).rewind();
+ ((Buffer)us).rewind();
if (!cr.isMalformed() || cr.length() != 1) {
errln("Incorrect result in " + converter + " encoder for 0x"
+ Integer.toHexString(i) + " received " + cr);
@@ -585,8 +586,8 @@ public class TestCharset extends TestFmw
decoder.reset();
cr = decoder.decode(bs, us, true);
- bs.rewind();
- us.rewind();
+ ((Buffer)bs).rewind();
+ ((Buffer)us).rewind();
if (!cr.isMalformed() || cr.length() != 1) {
errln("Incorrect result in " + converter + " decoder for 0x"
+ Integer.toHexString(i) + " received " + cr);
@@ -594,8 +595,8 @@ public class TestCharset extends TestFmw
}
encoder.reset();
cr = encoder.encode(us, bs, true);
- bs.rewind();
- us.rewind();
+ ((Buffer)bs).rewind();
+ ((Buffer)us).rewind();
if (!cr.isMalformed() || cr.length() != 1) {
errln("Incorrect result in " + converter + " encoder for 0x"
+ Integer.toHexString(i) + " received " + cr);
@@ -669,9 +670,9 @@ public class TestCharset extends TestFmw
int ccPositions[] = { 0, 0, 0, 2, 2 };
for (int i = 0; i < testLoopSize; i++) {
encoder.reset();
- bb.limit(bbLimits[i]);
- bb.position(bbPositions[i]);
- cb.position(ccPositions[i]);
+ ((Buffer)bb).limit(bbLimits[i]);
+ ((Buffer)bb).position(bbPositions[i]);
+ ((Buffer)cb).position(ccPositions[i]);
result = encoder.encode(cb, bb, true);
if (i < 3) {
@@ -838,7 +839,7 @@ public class TestCharset extends TestFmw
encoder.onUnmappableCharacter(CodingErrorAction.REPORT);
encoder.onMalformedInput(CodingErrorAction.REPORT);
for (int i=0; i<n; i++) {
- source.limit(i+1);
+ ((Buffer)source).limit(i+1);
cr = encoder.encode(source, target, i == n - 1);
if (!(equals(cr, results[i])
|| (results[i].isUnmappable() && cr.isUnderflow()) // mappability depends on the converter
@@ -1242,7 +1243,7 @@ public class TestCharset extends TestFmw
decoder.reset();
CoderResult result=null;
for (int i = 1; i <= byteStr.length; i++) {
- b.limit(i);
+ ((Buffer)b).limit(i);
result = decoder.decode(b, chars, false);
if(result.isOverflow()){
errln("ToChars single threw an overflow exception");
@@ -1270,9 +1271,9 @@ public class TestCharset extends TestFmw
try {
CharBuffer chars = CharBuffer.allocate(unistr.length());
decoder.reset();
- byes.rewind();
+ ((Buffer)byes).rewind();
for (int i = 1; i <= byteStr.length; i++) {
- byes.limit(i);
+ ((Buffer)byes).limit(i);
CoderResult result = decoder.decode(byes, chars, false);
if (result.isError()) {
errln("Error while decoding: "+result.toString());
@@ -1314,7 +1315,7 @@ public class TestCharset extends TestFmw
if(result.isOverflow()){
errln("FromChars threw an overflow exception");
}
- bytes.position(0);
+ ((Buffer)bytes).position(0);
if (!bytes.equals(expected)) {
errln("FromChars does not match");
printbytes(bytes);
@@ -1334,7 +1335,7 @@ public class TestCharset extends TestFmw
encoder.reset();
CoderResult result= null;
for (int i = 1; i <= unistr.length(); i++) {
- c.limit(i);
+ ((Buffer)c).limit(i);
result = encoder.encode(c, bytes, false);
if(result.isOverflow()){
errln("FromChars single threw an overflow exception");
@@ -1348,7 +1349,7 @@ public class TestCharset extends TestFmw
rc = 3;
}
- bytes.position(0);
+ ((Buffer)bytes).position(0);
if (!bytes.equals(expected)) {
errln("FromChars single does not match");
printbytes(bytes);
@@ -1402,11 +1403,11 @@ public class TestCharset extends TestFmw
int i;
char[] chars = new char[buf.limit()];
//save the current position
- int pos = buf.position();
- buf.position(0);
+ int pos = ((Buffer)buf).position();
+ ((Buffer)buf).position(0);
buf.get(chars);
//reset to old position
- buf.position(pos);
+ ((Buffer)buf).position(pos);
for (i = 0; i < chars.length; i++) {
err(hex(chars[i]) + " ");
}
@@ -1424,10 +1425,10 @@ public class TestCharset extends TestFmw
byte[] bytes = new byte[buf.limit()];
//save the current position
int pos = buf.position();
- buf.position(0);
+ ((Buffer)buf).position(0);
buf.get(bytes);
//reset to old position
- buf.position(pos);
+ ((Buffer)buf).position(pos);
for (i = 0; i < bytes.length; i++) {
System.out.print(hex(bytes[i]) + " ");
}
@@ -1464,10 +1465,10 @@ public class TestCharset extends TestFmw
char[] chars = new char[buf.limit()];
//save the current position
int pos = buf.position();
- buf.position(0);
+ ((Buffer)buf).position(0);
buf.get(chars);
//reset to old position
- buf.position(pos);
+ ((Buffer)buf).position(pos);
return equals(chars, compareTo);
}
@@ -1501,10 +1502,10 @@ public class TestCharset extends TestFmw
byte[] chars = new byte[buf.limit()];
//save the current position
int pos = buf.position();
- buf.position(0);
+ ((Buffer)buf).position(0);
buf.get(chars);
//reset to old position
- buf.position(pos);
+ ((Buffer)buf).position(pos);
return equals(chars, compareTo);
}
public boolean equals(ByteBuffer buf, ByteBuffer compareTo) {
@@ -1736,7 +1737,7 @@ public class TestCharset extends TestFmw
buffer.put(unibytes);
//reset position
- buffer.flip();
+ ((Buffer)buffer).flip();
decoder.onMalformedInput(CodingErrorAction.REPLACE);
CharBuffer out = decoder.decode(buffer);
@@ -1803,8 +1804,8 @@ public class TestCharset extends TestFmw
errln("FAIL: \\ud800 is OK for ICU4JNI utf-8 encoder");
}
- in.position(0);
- out.clear();
+ ((Buffer)in).position(0);
+ ((Buffer)out).clear();
CharsetEncoder encoderJDK = Charset.forName("utf-8").newEncoder();
result = encoderJDK.encode(in, out, true);
@@ -1855,9 +1856,9 @@ public class TestCharset extends TestFmw
inBuf.put(in);
CharsetEncoder encoder = cs.newEncoder();
ByteBuffer outBuf = ByteBuffer.allocate(in.length*2+2);
- inBuf.rewind();
+ ((Buffer)inBuf).rewind();
encoder.encode(inBuf, outBuf, true);
- outBuf.rewind();
+ ((Buffer)outBuf).rewind();
if(outBuf.get(0)!= (byte)0xFE && outBuf.get(1)!= (byte)0xFF){
errln("The UTF16 encoder did not appended bom. Length returned: " + outBuf.remaining());
}
@@ -1865,7 +1866,7 @@ public class TestCharset extends TestFmw
logln("0x"+hex(outBuf.get()));
}
CharsetDecoder decoder = cs.newDecoder();
- outBuf.rewind();
+ ((Buffer)outBuf).rewind();
CharBuffer rt = CharBuffer.allocate(in.length);
CoderResult cr = decoder.decode(outBuf, rt, true);
if(cr.isError()){
@@ -1873,8 +1874,8 @@ public class TestCharset extends TestFmw
}
equals(rt, in);
{
- rt.clear();
- outBuf.rewind();
+ ((Buffer)rt).clear();
+ ((Buffer)outBuf).rewind();
Charset utf16 = Charset.forName("UTF-16");
CharsetDecoder dc = utf16.newDecoder();
cr = dc.decode(outBuf, rt, true);
@@ -1912,9 +1913,9 @@ public class TestCharset extends TestFmw
{
decoder.reset();
- myTarget.limit(target.limit());
- mySource.limit(source.limit());
- mySource.position(source.position());
+ ((Buffer)myTarget).limit(target.limit());
+ ((Buffer)mySource).limit(source.limit());
+ ((Buffer)mySource).position(source.position());
CoderResult result = CoderResult.UNDERFLOW;
result = decoder.decode(mySource, myTarget, true);
if (flush) {
@@ -1934,9 +1935,9 @@ public class TestCharset extends TestFmw
errln("Test complete buffers while decoding threw overflow exception");
return;
}
- myTarget.limit(myTarget.position());
- myTarget.position(0);
- target.position(0);
+ ((Buffer)myTarget).limit(myTarget.position());
+ ((Buffer)myTarget).position(0);
+ ((Buffer)target).position(0);
if (result.isUnderflow() && !equals(myTarget, target, targetLimit)) {
errln(" Test complete buffers while decoding " + encoding + " TO Unicode--failed");
}
@@ -1946,11 +1947,11 @@ public class TestCharset extends TestFmw
}
{
decoder.reset();
- myTarget.limit(target.position());
- mySource.limit(source.position());
- mySource.position(source.position());
- myTarget.clear();
- myTarget.position(0);
+ ((Buffer)myTarget).limit(target.position());
+ ((Buffer)mySource).limit(source.position());
+ ((Buffer)mySource).position(source.position());
+ ((Buffer)myTarget).clear();
+ ((Buffer)myTarget).position(0);
int inputLen = mySource.remaining();
@@ -1981,18 +1982,18 @@ public class TestCharset extends TestFmw
}
{
decoder.reset();
- myTarget.limit(0);
- mySource.limit(0);
- mySource.position(source.position());
- myTarget.clear();
+ ((Buffer)myTarget).limit(0);
+ ((Buffer)mySource).limit(0);
+ ((Buffer)mySource).position(source.position());
+ ((Buffer)myTarget).clear();
while (true) {
CoderResult result = decoder.decode(mySource, myTarget, false);
if (result.isUnderflow()) {
if (mySource.limit() < source.limit())
- mySource.limit(mySource.limit() + 1);
+ ((Buffer)mySource).limit(mySource.limit() + 1);
} else if (result.isOverflow()) {
if (myTarget.limit() < target.limit())
- myTarget.limit(myTarget.limit() + 1);
+ ((Buffer)myTarget).limit(myTarget.limit() + 1);
else
break;
} else /*if (result.isError())*/ {
@@ -2041,17 +2042,17 @@ public class TestCharset extends TestFmw
mySource = ByteBuffer.allocateDirect(source.capacity() * 2).asCharBuffer();
myTarget = ByteBuffer.allocateDirect(target.capacity());
}
- mySource.position(source.position());
+ ((Buffer)mySource).position(source.position());
for (int i = source.position(); i < source.limit(); i++)
mySource.put(i, source.get(i));
- myTarget.clear();
+ ((Buffer)myTarget).clear();
{
logln("Running tests on small input buffers for " + encoding);
encoder.reset();
- myTarget.limit(target.limit());
- mySource.limit(source.limit());
- mySource.position(source.position());
+ ((Buffer)myTarget).limit(target.limit());
+ ((Buffer)mySource).limit(source.limit());
+ ((Buffer)mySource).position(source.position());
CoderResult result = null;
result = encoder.encode(mySource, myTarget, true);
@@ -2084,10 +2085,10 @@ public class TestCharset extends TestFmw
{
logln("Running tests on small input buffers for " + encoding);
encoder.reset();
- myTarget.clear();
- myTarget.limit(target.limit());
- mySource.limit(source.limit());
- mySource.position(source.position());
+ ((Buffer)myTarget).clear();
+ ((Buffer)myTarget).limit(target.limit());
+ ((Buffer)mySource).limit(source.limit());
+ ((Buffer)mySource).position(source.position());
int inputLen = mySource.limit();
CoderResult result = null;
for (int i = 1; i <= inputLen; i++) {
@@ -2112,12 +2113,12 @@ public class TestCharset extends TestFmw
{
logln("Running tests on small output buffers for " + encoding);
encoder.reset();
- myTarget.clear();
- myTarget.limit(target.limit());
- mySource.limit(source.limit());
- mySource.position(source.position());
- mySource.position(0);
- myTarget.position(0);
+ ((Buffer)myTarget).clear();
+ ((Buffer)myTarget).limit(target.limit());
+ ((Buffer)mySource).limit(source.limit());
+ ((Buffer)mySource).position(source.position());
+ ((Buffer)mySource).position(0);
+ ((Buffer)myTarget).position(0);
logln("myTarget.limit: " + myTarget.limit() + " myTarget.capcity: " + myTarget.capacity());
@@ -2137,7 +2138,7 @@ public class TestCharset extends TestFmw
errln("Test small output buffers while encoding " + result.toString());
}
- myTarget.limit(myTarget.capacity());
+ ((Buffer)myTarget).limit(myTarget.capacity());
result = encoder.flush(myTarget);
if (result.isError()) {
errln("Test small output buffers while encoding " + result.toString());
@@ -2563,8 +2564,8 @@ public class TestCharset extends TestFmw
in.put((byte)i);
i++;
}
- in.limit(in.position());
- in.position(0);
+ ((Buffer)in).limit(in.position());
+ ((Buffer)in).position(0);
CharsetDecoder decoder = cs.newDecoder();
decoder.onMalformedInput(CodingErrorAction.IGNORE);
decoder.onUnmappableCharacter(CodingErrorAction.REPORT);
@@ -2596,9 +2597,9 @@ public class TestCharset extends TestFmw
inBuf.put(in);
CharsetEncoder encoder = cs.newEncoder();
ByteBuffer outBuf = ByteBuffer.allocate(in.length*4+4);
- inBuf.rewind();
+ ((Buffer)inBuf).rewind();
encoder.encode(inBuf, outBuf, true);
- outBuf.rewind();
+ ((Buffer)outBuf).rewind();
if(outBuf.get(0)!= (byte)0x00 && outBuf.get(1)!= (byte)0x00 &&
outBuf.get(2)!= (byte)0xFF && outBuf.get(3)!= (byte)0xFE){
errln("The UTF32 encoder did not appended bom. Length returned: " + outBuf.remaining());
@@ -2607,8 +2608,8 @@ public class TestCharset extends TestFmw
logln("0x"+hex(outBuf.get()));
}
CharsetDecoder decoder = cs.newDecoder();
- outBuf.limit(outBuf.position());
- outBuf.rewind();
+ ((Buffer)outBuf).limit(outBuf.position());
+ ((Buffer)outBuf).rewind();
CharBuffer rt = CharBuffer.allocate(in.length);
CoderResult cr = decoder.decode(outBuf, rt, true);
if(cr.isError()){
@@ -2616,8 +2617,8 @@ public class TestCharset extends TestFmw
}
equals(rt, in);
try{
- rt.clear();
- outBuf.rewind();
+ ((Buffer)rt).clear();
+ ((Buffer)outBuf).rewind();
Charset utf16 = Charset.forName("UTF-32");
CharsetDecoder dc = utf16.newDecoder();
cr = dc.decode(outBuf, rt, true);
@@ -2745,16 +2746,16 @@ public class TestCharset extends TestFmw
byteBuffer.put((byte)j);
}
- byteBuffer.limit(byteBufferLimit = byteBuffer.position());
- byteBuffer.position(0);
- charBuffer.limit(charBufferLimit = charBuffer.position());
- charBuffer.position(0);
+ ((Buffer)byteBuffer).limit(byteBufferLimit = byteBuffer.position());
+ ((Buffer)byteBuffer).position(0);
+ ((Buffer)charBuffer).limit(charBufferLimit = charBuffer.position());
+ ((Buffer)charBuffer).position(0);
//test for overflow
- byteBufferTest.limit(byteBufferLimit - 5);
- byteBufferTest.position(0);
- charBufferTest.limit(charBufferLimit - 5);
- charBufferTest.position(0);
+ ((Buffer)byteBufferTest).limit(byteBufferLimit - 5);
+ ((Buffer)byteBufferTest).position(0);
+ ((Buffer)charBufferTest).limit(charBufferLimit - 5);
+ ((Buffer)charBufferTest).position(0);
try {
smBufDecode(decoder, "ASCII", byteBuffer, charBufferTest, true, false);
errln("Overflow exception while decoding ASCII should have been thrown.");
@@ -2806,10 +2807,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x49); bs.put((byte)0x44); bs.put((byte)0x6b); bs.put((byte)0x51);
bs.put((byte)0x4f); bs.put((byte)0x62); bs.put((byte)0x2e);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
smBufDecode(decoder, "UTF-7", bs, us);
smBufEncode(encoder, "UTF-7", us, bs);
@@ -2855,10 +2856,10 @@ public class TestCharset extends TestFmw
ccbs.put((byte)0x0D); ccbs.put((byte)0x05);
ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-1", ccbs, ccus, true, false);
@@ -2867,17 +2868,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for illegal base64 character
ccbs.put((byte)0x2b); ccbs.put((byte)0xff);
ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-2", ccbs, ccus, true, false);
@@ -2886,17 +2887,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for illegal order of the base64 character sequence
ccbs.put((byte)0x2b); ccbs.put((byte)0x2d); ccbs.put((byte)0x2b); ccbs.put((byte)0x49); ccbs.put((byte)0x2d);
ccus.put((char)0x0000); ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-3", ccbs, ccus, true, false);
@@ -2905,17 +2906,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for illegal order of the base64 character sequence
ccbs.put((byte)0x2b); ccbs.put((byte)0x0a); ccbs.put((byte)0x09);
ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-4", ccbs, ccus, true, false);
@@ -2924,17 +2925,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for illegal order of the base64 character sequence
ccbs.put((byte)0x2b); ccbs.put((byte)0x49); ccbs.put((byte)0x0a);
ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-5", ccbs, ccus, true, false);
@@ -2943,17 +2944,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for illegal order of the base64 character sequence
ccbs.put((byte)0x2b); ccbs.put((byte)0x00);
ccus.put((char)0x0000);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-6", ccbs, ccus, true, false);
@@ -2962,16 +2963,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccbs.put((byte)0x2b); ccbs.put((byte)0x49);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(0);
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(0);
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-7", ccbs, ccus, true, false);
@@ -2980,16 +2981,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccbs.put((byte)0x0c); ccbs.put((byte)0x0c);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(0);
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(0);
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "UTF-7-CC-DE-8", ccbs, ccus, true, false);
@@ -3000,16 +3001,16 @@ public class TestCharset extends TestFmw
//end of charset decoder code coverage code
//start of charset encoder code coverage code
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x002b);
ccbs.put((byte)0x2b);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-1", ccus, ccbs, true, false);
@@ -3018,17 +3019,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x002b); ccus.put((char)0x2262);
ccbs.put((byte)0x2b); ccbs.put((byte)0x2d); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-2", ccus, ccbs, true, false);
@@ -3037,16 +3038,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0049);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-3", ccus, ccbs, true, false);
@@ -3055,16 +3056,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0395);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-4", ccus, ccbs, true, false);
@@ -3073,16 +3074,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0395);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-5", ccus, ccbs, true, false);
@@ -3091,16 +3092,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0395); ccus.put((char)0x0391);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-6", ccus, ccbs, true, false);
@@ -3109,17 +3110,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0395); ccus.put((char)0x0391);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-7", ccus, ccbs, true, false);
@@ -3128,16 +3129,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x0049); ccus.put((char)0x0048);
ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-8", ccus, ccbs, true, false);
@@ -3146,16 +3147,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262);
ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-9", ccus, ccbs, true, false);
@@ -3164,16 +3165,16 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262); ccus.put((char)0x0049);
ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-10", ccus, ccbs, true, false);
@@ -3182,35 +3183,35 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
ccus.put((char)0x2262);
ccbs.put((byte)0x2b); ccbs.put((byte)0x49); ccbs.put((byte)0x6d); ccbs.put((byte)0x49); ccbs.put((byte)0x2d);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufEncode(encoder, "UTF-7-CC-EN-11", ccus, ccbs, false, true);
} catch (Exception ex) {
errln("Exception while encoding UTF-7 code coverage test should not have been thrown.");
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test for overflow buffer error
encoder.reset();
ccus.put((char)0x3980); ccus.put((char)0x2715);
ccbs.put((byte)0x2b); ccbs.put((byte)0x4f); ccbs.put((byte)0x59); ccbs.put((byte)0x2d);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
result = encoder.encode(ccus, ccbs, true);
result = encoder.flush(ccbs);
@@ -3394,12 +3395,12 @@ public class TestCharset extends TestFmw
bsr.put((byte)0xBF); bsr.put((byte)0xE9); bsr.put((byte)0xC0); bsr.put((byte)0xE9); bsr.put((byte)0xC9); bsr.put((byte)0xE9);
bsr.put((byte)0xD9); bsr.put((byte)0xE8); bsr.put((byte)0xCF); bsr.put((byte)0x00); bsr.put((byte)0xA0);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
- bsr.limit(bsr.position());
- bsr.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bsr).limit(bsr.position());
+ ((Buffer)bsr).position(0);
//round trip test
try {
@@ -3427,15 +3428,15 @@ public class TestCharset extends TestFmw
us.put(u_pts);
bs.put(b_pts);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufDecode(decoder, "ISCII-update", bs, us, true, true);
- bs.position(0);
- us.position(0);
+ ((Buffer)bs).position(0);
+ ((Buffer)us).position(0);
smBufEncode(encoder, "ISCII-update", us, bs, true, true);
} catch (Exception ex) {
errln("Error occurred while encoding/decoding ISCII with the new characters.");
@@ -3449,10 +3450,10 @@ public class TestCharset extends TestFmw
//test overflow buffer
ccbs.put((byte)0x49);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(0);
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(0);
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "ISCII-CC-DE-1", ccbs, ccus, true, false);
@@ -3461,17 +3462,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test atr overflow buffer
ccbs.put((byte)0xEF); ccbs.put((byte)0x40); ccbs.put((byte)0xEF); ccbs.put((byte)0x20);
ccus.put((char)0x00);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
- ccus.limit(ccus.position());
- ccus.position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
try {
smBufDecode(decoder, "ISCII-CC-DE-2", ccbs, ccus, true, false);
@@ -3482,17 +3483,17 @@ public class TestCharset extends TestFmw
//end of charset decoder code coverage code
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//start of charset encoder code coverage code
//test ascii overflow buffer
ccus.put((char)0x41);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(0);
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(0);
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-1", ccus, ccbs, true, false);
@@ -3501,17 +3502,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test ascii overflow buffer
ccus.put((char)0x0A); ccus.put((char)0x0043);
ccbs.put((byte)0x00); ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-2", ccus, ccbs, true, false);
@@ -3520,17 +3521,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test surrogate malform
ccus.put((char)0x06E3);
ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-3", ccus, ccbs, true, false);
@@ -3539,17 +3540,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test surrogate malform
ccus.put((char)0xD801); ccus.put((char)0xDD01);
ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-4", ccus, ccbs, true, false);
@@ -3558,17 +3559,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test trail surrogate malform
ccus.put((char)0xDD01);
ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-5", ccus, ccbs, true, false);
@@ -3577,17 +3578,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccbs.clear();
- ccus.clear();
+ ((Buffer)ccbs).clear();
+ ((Buffer)ccus).clear();
//test lead surrogates malform
ccus.put((char)0xD801); ccus.put((char)0xD802);
ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
try {
smBufEncode(encoder, "ISCII-CC-EN-6", ccus, ccbs, true, false);
@@ -3596,17 +3597,17 @@ public class TestCharset extends TestFmw
catch (Exception ex) {
}
- ccus.clear();
- ccbs.clear();
+ ((Buffer)ccus).clear();
+ ((Buffer)ccbs).clear();
//test overflow buffer
ccus.put((char)0x0901);
ccbs.put((byte)0x00);
- ccus.limit(ccus.position());
- ccus.position(0);
- ccbs.limit(ccbs.position());
- ccbs.position(0);
+ ((Buffer)ccus).limit(ccus.position());
+ ((Buffer)ccus).position(0);
+ ((Buffer)ccbs).limit(ccbs.position());
+ ((Buffer)ccbs).position(0);
cs = provider.charsetForName("ISCII,version=0");
encoder = cs.newEncoder();
@@ -3637,27 +3638,27 @@ public class TestCharset extends TestFmw
bs.put((byte)0x41); bs.put((byte)0x2D); bs.put((byte)0x41);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
smBufDecode(decoder, "IMAP", bs, us);
smBufEncode(encoder, "IMAP", us, bs);
//the rest of the code in this method is for better code coverage
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//start of charset encoder code coverage
//test buffer overflow
us.put((char)0x0026); us.put((char)0x17A9);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-1", us, bs, true, false);
@@ -3665,17 +3666,17 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-2", us, bs, true, false);
@@ -3683,17 +3684,17 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-3", us, bs, true, false);
@@ -3701,18 +3702,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941); us.put((char)0x0955);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-4", us, bs, true, false);
@@ -3720,18 +3721,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941); us.put((char)0x0955);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-5", us, bs, true, false);
@@ -3739,18 +3740,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941); us.put((char)0x0955); us.put((char)0x0970);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-6", us, bs, true, false);
@@ -3758,18 +3759,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test buffer overflow
us.put((char)0x17A9); us.put((char)0x0941);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-7", us, bs, true, true);
@@ -3777,18 +3778,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test flushing
us.put((char)0x17A9); us.put((char)0x0941);
bs.put((byte)0x26); bs.put((byte)0x46); bs.put((byte)0x36); bs.put((byte)0x6b); bs.put((byte)0x4a); bs.put((byte)0x51);
bs.put((byte)0x51); bs.put((byte)0x2d);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-8", us, bs, true, true);
@@ -3803,10 +3804,10 @@ public class TestCharset extends TestFmw
us.put((char)0x0061);
bs.put((byte)0x61); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "IMAP-EN-9", us, bs, true, true);
@@ -3823,10 +3824,10 @@ public class TestCharset extends TestFmw
us.put((char)0x0000); us.put((char)0x0000);
bs.put((byte)0x26); bs.put((byte)0x41); bs.put((byte)0x43); bs.put((byte)0x41);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufDecode(decoder, "IMAP-DE-1", bs, us, true, false);
@@ -3834,18 +3835,18 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform case 5
us.put((char)0x0000); us.put((char)0x0000); us.put((char)0x0000);
bs.put((byte)0x26); bs.put((byte)0x41); bs.put((byte)0x41); bs.put((byte)0x41);
bs.put((byte)0x41); bs.put((byte)0x49); bs.put((byte)0x41);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufDecode(decoder, "IMAP-DE-2", bs, us, true, false);
@@ -3853,8 +3854,8 @@ public class TestCharset extends TestFmw
} catch(Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform case 7
us.put((char)0x0000); us.put((char)0x0000); us.put((char)0x0000); us.put((char)0x0000);
@@ -3862,10 +3863,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x41); bs.put((byte)0x41); bs.put((byte)0x41); bs.put((byte)0x42);
bs.put((byte)0x41);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufDecode(decoder, "IMAP-DE-3", bs, us, true, false);
@@ -3892,10 +3893,10 @@ public class TestCharset extends TestFmw
us.put((char)0xD901);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "UTF32LE-EN-1", us, bs, true, false);
@@ -3903,17 +3904,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform surrogate
us.put((char)0xD901); us.put((char)0xD902);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
result = encoder.encode(us, bs, true);
@@ -3921,18 +3922,18 @@ public class TestCharset extends TestFmw
errln("Error while encoding UTF32LE (2) should have occurred.");
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test overflow trail surrogate
us.put((char)0xDD01); us.put((char)0xDD0E); us.put((char)0xDD0E);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
result = encoder.encode(us, bs, true);
@@ -3940,17 +3941,17 @@ public class TestCharset extends TestFmw
errln("Error while encoding UTF32LE (3) should have occurred.");
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform lead surrogate
us.put((char)0xD90D); us.put((char)0xD90E);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "UTF32LE-EN-4", us, bs, true, false);
@@ -3958,17 +3959,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test overflow buffer
us.put((char)0x0061);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "UTF32LE-EN-5", us, bs, true, false);
@@ -3976,17 +3977,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform trail surrogate
us.put((char)0xDD01);
bs.put((byte)0x00);
- bs.limit(bs.position());
- bs.position(0);
- us.limit(us.position());
- us.position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
try {
smBufEncode(encoder, "UTF32LE-EN-6", us, bs, true, false);
@@ -4021,10 +4022,10 @@ public class TestCharset extends TestFmw
us.put(u_pts1);
bs.put(b_pts1);
- us.limit(1);
- us.position(0);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
@@ -4034,10 +4035,10 @@ public class TestCharset extends TestFmw
}
// Test for malform surrogate from previous buffer
- us.limit(4);
- us.position(1);
- bs.limit(7);
- bs.position(1);
+ ((Buffer)us).limit(4);
+ ((Buffer)us).position(1);
+ ((Buffer)bs).limit(7);
+ ((Buffer)bs).position(1);
result = encoder.encode(us, bs, true);
@@ -4048,17 +4049,17 @@ public class TestCharset extends TestFmw
// Test for malform trail surrogate
encoder.reset();
- us.limit(1);
- us.position(0);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
- us.limit(6);
- us.position(4);
- bs.limit(4);
- bs.position(1);
+ ((Buffer)us).limit(6);
+ ((Buffer)us).position(4);
+ ((Buffer)bs).limit(4);
+ ((Buffer)bs).position(1);
result = encoder.encode(us, bs, true);
@@ -4099,10 +4100,10 @@ public class TestCharset extends TestFmw
us.put(us_array);
bs.put(bs_array1);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF32-DE-1", bs, us, true, false);
@@ -4115,10 +4116,10 @@ public class TestCharset extends TestFmw
bs = ByteBuffer.allocate(bs_array2.length);
bs.put(bs_array2);
- us.limit(4);
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(4);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF32-DE-2", bs, us, true, false);
@@ -4128,16 +4129,16 @@ public class TestCharset extends TestFmw
}
//Test malform exception
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
bs.put((byte)0x00); bs.put((byte)0xFE); bs.put((byte)0xFF); bs.put((byte)0x00); bs.put((byte)0x00);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF32-DE-3", bs, us, true, false);
@@ -4146,16 +4147,16 @@ public class TestCharset extends TestFmw
}
//Test BOM testing
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0xFF); bs.put((byte)0xFE);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF32-DE-4", bs, us, true, false);
@@ -4173,10 +4174,10 @@ public class TestCharset extends TestFmw
us.put((char)0xDC01);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
// must try to output BOM first for UTF-32 (not UTF-32BE or UTF-32LE)
@@ -4184,86 +4185,86 @@ public class TestCharset extends TestFmw
errln("Buffer overflow error while encoding UTF32 charset (1) should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform surrogate and store value in fromChar32
us.put((char)0xD801); us.put((char)0xD802);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isMalformed()) {
errln("Malformed error while encoding UTF32 charset (2) should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform surrogate
us.put((char)0x0000); us.put((char)0xD902);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow error while encoding UTF32 charset (3) should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform surrogate
encoder.reset();
us.put((char)0xD801);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isMalformed()) {
errln("Malform error while encoding UTF32 charset (4) should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test overflow surrogate
us.put((char)0x0000); us.put((char)0xDDE1); us.put((char)0xD915); us.put((char)0xDDF2);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow error while encoding UTF32 charset (5) should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform surrogate
encoder.reset();
us.put((char)0xDDE1);
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isMalformed()) {
@@ -4287,10 +4288,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x41); bs.put((byte)0xFF); bs.put((byte)0x01); bs.put((byte)0x00);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32LE", bs, us, true, false);
@@ -4298,8 +4299,8 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
// test overflow buffer handling in CharsetDecoderICU
- bs.position(0);
- us.position(0);
+ ((Buffer)bs).position(0);
+ ((Buffer)us).position(0);
decoder.reset();
result = decoder.decode(bs, us, true);
if (result.isOverflow()) {
@@ -4311,16 +4312,16 @@ public class TestCharset extends TestFmw
errln("Overflow buffer error while decoding UTF32LE should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform buffer
bs.put((byte)0x02); bs.put((byte)0xD9); bs.put((byte)0x00); bs.put((byte)0x00);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32LE", bs, us, true, false);
@@ -4328,17 +4329,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform buffer
bs.put((byte)0xFF); bs.put((byte)0xFE); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0xFF); bs.put((byte)0xDF); bs.put((byte)0x10);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
// must flush in order to exhibit malformed behavior
@@ -4347,17 +4348,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform buffer
bs.put((byte)0xFF); bs.put((byte)0xFE); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0x02); bs.put((byte)0xD9); bs.put((byte)0x00); bs.put((byte)0x00);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32LE", bs, us, true, false);
@@ -4365,17 +4366,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test overflow buffer
bs.put((byte)0xFF); bs.put((byte)0xFE); bs.put((byte)0x00); bs.put((byte)0x00);
bs.put((byte)0xDD); bs.put((byte)0xFF); bs.put((byte)0x10); bs.put((byte)0x00);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32LE", bs, us, true, false);
@@ -4384,8 +4385,8 @@ public class TestCharset extends TestFmw
}
//end of decode UTF32LE
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//decode UTF32BE
decoder = provider.charsetForName("UTF-32BE").newDecoder();
@@ -4393,10 +4394,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x00); bs.put((byte)0x01); bs.put((byte)0xFF); bs.put((byte)0x41);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32BE", bs, us, true, false);
@@ -4404,16 +4405,16 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform buffer
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0xD9); bs.put((byte)0x02);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32BE", bs, us, true, false);
@@ -4421,17 +4422,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform buffer
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0xFE); bs.put((byte)0xFF);
bs.put((byte)0x10); bs.put((byte)0xFF); bs.put((byte)0xDF);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
// must flush to exhibit malformed behavior
@@ -4440,17 +4441,17 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test overflow buffer
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0xFE); bs.put((byte)0xFF);
bs.put((byte)0x00); bs.put((byte)0x10); bs.put((byte)0xFF); bs.put((byte)0xDD);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
smBufDecode(decoder, "UTF-32BE", bs, us, true, false);
@@ -4458,16 +4459,16 @@ public class TestCharset extends TestFmw
} catch (Exception ex) {
}
- bs.clear();
- us.clear();
+ ((Buffer)bs).clear();
+ ((Buffer)us).clear();
//test malform buffer
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0xFE);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
try {
// must flush to exhibit malformed behavior
@@ -4502,10 +4503,10 @@ public class TestCharset extends TestFmw
limit_us = us.position();
limit_bs = bs.position();
- us.limit(limit_us);
- us.position(0);
- bs.limit(limit_bs);
- bs.position(0);
+ ((Buffer)us).limit(limit_us);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(limit_bs);
+ ((Buffer)bs).position(0);
bs2 = bs.asReadOnlyBuffer();
us2 = us.asReadOnlyBuffer();
@@ -4514,18 +4515,18 @@ public class TestCharset extends TestFmw
errln("Error while decoding UTF-8 (1) should not have occured.");
}
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(limit_bs);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(limit_bs);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isUnderflow() || !equals(bs, bs2)) {
errln("Error while encoding UTF-8 (1) should not have occured.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test overflow buffer while encoding
//readonly buffer
@@ -4534,10 +4535,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
limit_us = us.position();
us2 = us.asReadOnlyBuffer();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (2).");
@@ -4545,10 +4546,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(1);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(1);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (3).");
@@ -4556,10 +4557,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(1);
- bs.limit(2);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(1);
+ ((Buffer)bs).limit(2);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (4).");
@@ -4567,10 +4568,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(2);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(2);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (5).");
@@ -4579,10 +4580,10 @@ public class TestCharset extends TestFmw
//not readonly buffer
encoder.reset();
- us.limit(limit_us);
- us.position(0);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us).limit(limit_us);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (6).");
@@ -4590,10 +4591,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us.limit(limit_us);
- us.position(0);
- bs.limit(3);
- bs.position(0);
+ ((Buffer)us).limit(limit_us);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(3);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (7).");
@@ -4601,10 +4602,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us.limit(limit_us);
- us.position(1);
- bs.limit(2);
- bs.position(0);
+ ((Buffer)us).limit(limit_us);
+ ((Buffer)us).position(1);
+ ((Buffer)bs).limit(2);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (8).");
@@ -4612,17 +4613,17 @@ public class TestCharset extends TestFmw
encoder.reset();
- us.limit(limit_us + 1);
- us.position(1);
- bs.limit(3);
- bs.position(0);
+ ((Buffer)us).limit(limit_us + 1);
+ ((Buffer)us).position(1);
+ ((Buffer)bs).limit(3);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (9).");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test encoding 4 byte characters
encoder.reset();
@@ -4630,10 +4631,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00); bs.put((byte)0x00);
limit_us = us.position();
us2 = us.asReadOnlyBuffer();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(1);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(1);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (10).");
@@ -4641,10 +4642,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(2);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(2);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (11).");
@@ -4652,10 +4653,10 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(3);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(3);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (12).");
@@ -4663,17 +4664,17 @@ public class TestCharset extends TestFmw
encoder.reset();
- us2.limit(limit_us);
- us2.position(0);
- bs.limit(4);
- bs.position(0);
+ ((Buffer)us2).limit(limit_us);
+ ((Buffer)us2).position(0);
+ ((Buffer)bs).limit(4);
+ ((Buffer)bs).position(0);
result = encoder.encode(us2, bs, true);
if (!result.isOverflow()) {
errln("Overflow Error should have occured while encoding UTF-8 (13).");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//decoding code coverage
//test malform error
@@ -4682,10 +4683,10 @@ public class TestCharset extends TestFmw
us.put((char)0x0000);
bs2 = bs.asReadOnlyBuffer();
- us.limit(1);
- us.position(0);
- bs2.limit(1);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(1);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
result = decoder.flush(us);
@@ -4693,68 +4694,68 @@ public class TestCharset extends TestFmw
errln("Malform error should have occurred while decoding UTF-8 (1).");
}
- us.limit(1);
- us.position(0);
- bs2.limit(1);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(1);
+ ((Buffer)bs2).position(0);
decoder.reset();
result = decoder.decode(bs2, us, true);
- us.limit(1);
- us.position(0);
- bs2.limit(2);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(2);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
if (!result.isMalformed()) {
errln("Malform error should have occurred while decoding UTF-8 (2).");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test overflow buffer
bs.put((byte)0x01); bs.put((byte)0x41);
us.put((char)0x0000);
bs2 = bs.asReadOnlyBuffer();
- us.limit(1);
- us.position(0);
- bs2.limit(2);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(2);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
if (!result.isOverflow()) {
errln("Overflow error should have occurred while decoding UTF-8 (3).");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test malform string
decoder.reset();
bs.put((byte)0xF5); bs.put((byte)0xB4); bs.put((byte)0x8A); bs.put((byte)0x8C);
us.put((char)0x0000);
bs2 = bs.asReadOnlyBuffer();
- us.limit(1);
- us.position(0);
- bs2.limit(4);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(4);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
if (!result.isMalformed()) {
errln("Malform error should have occurred while decoding UTF-8 (4).");
}
- bs.clear();
+ ((Buffer)bs).clear();
//test overflow
decoder.reset();
bs.put((byte)0xF3); bs.put((byte)0xB4); bs.put((byte)0x8A); bs.put((byte)0x8C);
bs2 = bs.asReadOnlyBuffer();
- us.limit(1);
- us.position(0);
- bs2.limit(4);
- bs2.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(4);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
if (!result.isOverflow()) {
@@ -4763,10 +4764,10 @@ public class TestCharset extends TestFmw
//test overflow
decoder.reset();
- us.limit(2);
- us.position(0);
- bs2.limit(5);
- bs2.position(0);
+ ((Buffer)us).limit(2);
+ ((Buffer)us).position(0);
+ ((Buffer)bs2).limit(5);
+ ((Buffer)bs2).position(0);
result = decoder.decode(bs2, us, true);
if (!result.isOverflow()) {
@@ -4775,25 +4776,25 @@ public class TestCharset extends TestFmw
//test overflow
decoder.reset();
- us.limit(1);
- us.position(0);
- bs.limit(5);
- bs.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(5);
+ ((Buffer)bs).position(0);
result = decoder.decode(bs, us, true);
if (!result.isOverflow()) {
errln("Overflow error should have occurred while decoding UTF-8 (6).");
}
- bs.clear();
+ ((Buffer)bs).clear();
//test overflow
decoder.reset();
bs.put((byte)0x41); bs.put((byte)0x42);
- us.limit(1);
- us.position(0);
- bs.limit(2);
- bs.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(2);
+ ((Buffer)bs).position(0);
result = decoder.decode(bs, us, true);
if (!result.isOverflow()) {
@@ -4817,10 +4818,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0xFF);
us.put((char)0x0000);
- us.limit(us.position());
- us.position(0);
- bs.limit(bs.position());
- bs.position(0);
+ ((Buffer)us).limit(us.position());
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(bs.position());
+ ((Buffer)bs).position(0);
result = decoder.decode(bs, us, true);
result = decoder.flush(us);
@@ -4828,28 +4829,28 @@ public class TestCharset extends TestFmw
errln("Malform error while decoding UTF-16 should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
us.put((char)0xD902); us.put((char)0xDD01); us.put((char)0x0041);
- us.limit(1);
- us.position(0);
- bs.limit(4);
- bs.position(0);
+ ((Buffer)us).limit(1);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(4);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
- us.limit(3);
- us.position(0);
- bs.limit(3);
- bs.position(0);
+ ((Buffer)us).limit(3);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(3);
+ ((Buffer)bs).position(0);
result = encoder.encode(us, bs, true);
if (!result.isOverflow()) {
errln("Overflow buffer while encoding UTF-16 should have occurred.");
}
- us.clear();
- bs.clear();
+ ((Buffer)us).clear();
+ ((Buffer)bs).clear();
//test overflow buffer
decoder.reset();
@@ -4857,10 +4858,10 @@ public class TestCharset extends TestFmw
bs.put((byte)0xFF); bs.put((byte)0xFE); bs.put((byte)0x41);
- us.limit(0);
- us.position(0);
- bs.limit(3);
- bs.position(0);
+ ((Buffer)us).limit(0);
+ ((Buffer)us).position(0);
+ ((Buffer)bs).limit(3);
+ ((Buffer)bs).position(0);
result = decoder.decode(bs, us, true);
if (!result.isOverflow()) {
@@ -5111,20 +5112,20 @@ public class TestCharset extends TestFmw
ByteBuffer bb = ByteBuffer.wrap(bytearray);
CharBuffer cb = CharBuffer.allocate(10);
- bb.limit(4);
- cb.limit(1); // Overflow should occur and is expected
+ ((Buffer)bb).limit(4);
+ ((Buffer)cb).limit(1); // Overflow should occur and is expected
result = decoder.decode(bb, cb, false);
if (result.isError()) {
errln("Error occurred while decoding: " + charsetName + " with error: " + result);
}
- bb.limit(8);
+ ((Buffer)bb).limit(8);
result = decoder.decode(bb, cb, false);
if (result.isError()) {
errln("Error occurred while decoding: " + charsetName + " with error: " + result);
}
- bb.limit(12);
+ ((Buffer)bb).limit(12);
result = decoder.decode(bb, cb, true);
if (result.isError()) {
errln("Error occurred while decoding: " + charsetName + " with error: " + result);
@@ -5139,18 +5140,18 @@ public class TestCharset extends TestFmw
cb = CharBuffer.wrap(chararray);
bb = ByteBuffer.allocate(10);
- bb.limit(2);
- cb.limit(4);
+ ((Buffer)bb).limit(2);
+ ((Buffer)cb).limit(4);
result = encoder.encode(cb, bb, false);
if (result.isError()) {
errln("Error occurred while encoding: " + charsetName + " with error: " + result);
}
- cb.limit(5);
+ ((Buffer)cb).limit(5);
result = encoder.encode(cb, bb, false);
if (result.isError()) {
errln("Error occurred while encoding: " + charsetName + " with error: " + result);
}
- cb.limit(6);
+ ((Buffer)cb).limit(6);
result = encoder.encode(cb, bb, true);
if (!result.isError()) {
errln("Error should have occurred while encoding: " + charsetName);
@@ -5337,21 +5338,21 @@ public class TestCharset extends TestFmw
CharBuffer ubuf = CharBuffer.wrap(ccSrc[i]);
encode.reset();
decode.reset();
- trgt.clear();
- test.clear();
+ ((Buffer)trgt).clear();
+ ((Buffer)test).clear();
ccResult = encode.encode(ubuf, trgt, true);
if (ccResult.isError()) {
errln("Error while encoding " + charset.name() + " in test for code coverage[" + i + "].");
} else {
- trgt.limit(trgt.position());
- trgt.position(0);
+ ((Buffer)trgt).limit(trgt.position());
+ ((Buffer)trgt).position(0);
ccResult = decode.decode(trgt, test, true);
if (ccResult.isError()) {
errln("Error while decoding " + charset.name() + " in test for code coverage[" + i + "].");
} else {
- ubuf.position(0);
- test.limit(test.position());
- test.position(0);
+ ((Buffer)ubuf).position(0);
+ ((Buffer)test).limit(test.position());
+ ((Buffer)test).position(0);
if (!equals(test, ubuf)) {
errln("Roundtrip failed for " + charset.name() + " in test for code coverage[" + i + "].");
}
@@ -5513,7 +5514,7 @@ public class TestCharset extends TestFmw
// Decoding
CharBuffer decoderResult = decode.decode(decoderBuffer);
- encoderBuffer.position(0);
+ ((Buffer)encoderBuffer).position(0);
if(!decoderResult.equals(encoderBuffer)){
errln("Error occured while decoding "+ charset.name());
}
@@ -5523,7 +5524,7 @@ public class TestCharset extends TestFmw
ByteBuffer roundTrip = encoderResult;
CharBuffer roundTripResult = decode.decode(roundTrip);
- encoderBuffer.position(0);
+ ((Buffer)encoderBuffer).position(0);
if(!roundTripResult.equals(encoderBuffer)){
errln("Error occured while encoding "+ charset.name());
}
@@ -5647,10 +5648,10 @@ public class TestCharset extends TestFmw
for (int n = 0; n < malformedLimits.length; n++) {
malformedDecoderTest.reset();
- malformedSrc.position(0);
- malformedSrc.limit(malformedLimits[n]);
+ ((Buffer)malformedSrc).position(0);
+ ((Buffer)malformedSrc).limit(malformedLimits[n]);
- malformedTrgt.clear();
+ ((Buffer)malformedTrgt).clear();
malformedResult = malformedDecoderTest.decode(malformedSrc,malformedTrgt, true);
if (!malformedResult.isMalformed()) {
@@ -5684,8 +5685,8 @@ public class TestCharset extends TestFmw
}
CharsetDecoder decoder = charset.newDecoder();
- src.position(0);
- trgt.clear();
+ ((Buffer)src).position(0);
+ ((Buffer)trgt).clear();
result = decoder.decode(src, trgt, true);
if (result.isError()) {
@@ -5785,14 +5786,14 @@ public class TestCharset extends TestFmw
CharBuffer charBuffer = CharBuffer.allocate(firstLine.length() + secondLine.length());
charBuffer.put(firstLine);
charBuffer.put(secondLine);
- charBuffer.flip();
+ ((Buffer)charBuffer).flip();
for (int i = 0; i < charsetNames.length; i++) {
encoder = CharsetICU.forNameICU(charsetNames[i]).newEncoder();
- charBuffer.position(firstLine.length());
+ ((Buffer)charBuffer).position(firstLine.length());
CharBuffer charBufferSlice = charBuffer.slice();
- charBufferSlice.limit(secondLine.length() - 2);
+ ((Buffer)charBufferSlice).limit(secondLine.length() - 2);
try {
--- a/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestConversion.java 2021-10-28 00:02:09.000000000 -0600
+++ b/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestConversion.java 2021-10-29 08:08:50.800614014 -0600
@@ -9,6 +9,7 @@
package com.ibm.icu.dev.test.charset;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
@@ -337,13 +338,13 @@ public class TestConversion extends Test
try {
out = encoder.encode(CharBuffer.wrap(cc.unicode.toCharArray()));
- out.position(out.limit());
+ ((Buffer)out).position(out.limit());
if (out.limit() != out.capacity() || cc.finalFlush) {
int pos = out.position();
byte[] temp = out.array();
out = ByteBuffer.allocate(temp.length * 4);
out.put(temp);
- out.position(pos);
+ ((Buffer)out).position(pos);
CoderResult cr = encoder.flush(out);
if (cr.isOverflow()) {
logln("Overflow error with flushing encoder");
@@ -391,8 +392,8 @@ public class TestConversion extends Test
CoderResult cr = null;
for (;;) {
- source.limit(currentSourceLimit);
- target.limit(currentTargetLimit);
+ ((Buffer)source).limit(currentSourceLimit);
+ ((Buffer)target).limit(currentTargetLimit);
cr = encoder.encode(source, target, currentSourceLimit == sourceLen);
@@ -404,8 +405,8 @@ public class TestConversion extends Test
}
// Do a final flush for cleanup, then break out
// Encode loop, exits with cr==underflow in normal operation.
- //target.limit(targetLen);
- target.limit(targetLen);
+ //((Buffer)target).limit(targetLen);
+ ((Buffer)target).limit(targetLen);
cr = encoder.flush(target);
if (cr.isUnderflow()) {
// good
@@ -631,15 +632,15 @@ public class TestConversion extends Test
CharBuffer out = null;
try {
- cc.bytes.rewind();
+ ((Buffer)cc.bytes).rewind();
out = decoder.decode(cc.bytes);
- out.position(out.limit());
+ ((Buffer)out).position(out.limit());
if (out.limit() < cc.unicode.length()) {
int pos = out.position();
char[] temp = out.array();
out = CharBuffer.allocate(cc.bytes.limit());
out.put(temp);
- out.position(pos);
+ ((Buffer)out).position(pos);
CoderResult cr = decoder.flush(out);
if (cr.isOverflow()) {
logln("Overflow error with flushing decodering");
@@ -677,9 +678,9 @@ public class TestConversion extends Test
int sourceLen;
source = cc.bytes;
sourceLen = cc.bytes.limit();
- source.position(0);
+ ((Buffer)source).position(0);
target = CharBuffer.allocate(cc.unicode.length() + 4);
- target.position(0);
+ ((Buffer)target).position(0);
cc.toUnicodeResult = null;
decoder.reset();
@@ -691,15 +692,15 @@ public class TestConversion extends Test
for (;;) {
if (step != 0) {
- source.limit((iStep <= sourceLen) ? iStep : sourceLen);
- target.limit((oStep <= target.capacity()) ? oStep : target
+ ((Buffer)source).limit((iStep <= sourceLen) ? iStep : sourceLen);
+ ((Buffer)target).limit((oStep <= target.capacity()) ? oStep : target
.capacity());
flush = (cc.finalFlush && source.limit() == sourceLen);
} else {
//bulk mode
- source.limit(sourceLen);
- target.limit(target.capacity());
+ ((Buffer)source).limit(sourceLen);
+ ((Buffer)target).limit(target.capacity());
flush = cc.finalFlush;
}
// convert
@@ -711,7 +712,7 @@ public class TestConversion extends Test
if (cr.isOverflow()) {
// the partial target is filled, set a new limit,
oStep = (target.position() + step);
- target.limit((oStep < target.capacity()) ? oStep
+ ((Buffer)target).limit((oStep < target.capacity()) ? oStep
: target.capacity());
if (target.limit() > target.capacity()) {
//target has reached its limit, an error occurred or test case has an error code
@@ -736,7 +737,7 @@ public class TestConversion extends Test
//due to limitation of the API we need to check for target limit for expected
if (target.position() != cc.unicode.length()) {
if (target.limit() != cc.unicode.length()) {
- target.limit(cc.unicode.length());
+ ((Buffer)target).limit(cc.unicode.length());
}
cr = decoder.flush(target);
if (cr.isError()) {
@@ -765,14 +766,14 @@ public class TestConversion extends Test
// convert
if ((step & 1) != 0 /* odd: -1, -3, -5, ... */) {
- target.limit(target.position() < target.capacity() ? target
+ ((Buffer)target).limit(target.position() < target.capacity() ? target
.position() + 1 : target.capacity());
// decode behavior is return to output target 1 character
CoderResult cr = null;
//similar to getNextUChar() , input is the whole string, while outputs only 1 character
- source.limit(sourceLen);
+ ((Buffer)source).limit(sourceLen);
while (target.position() != target.limit()
&& source.hasRemaining()) {
cr = decoder.decode(source, target,
@@ -786,7 +787,7 @@ public class TestConversion extends Test
break;
} else {
//1 character has been consumed
- target.limit(target.position() + 1);
+ ((Buffer)target).limit(target.position() + 1);
break;
}
} else if (cr.isError()) {
@@ -801,7 +802,7 @@ public class TestConversion extends Test
else {
// one character has been consumed
if (target.limit() == target.position()) {
- target.limit(target.position() + 1);
+ ((Buffer)target).limit(target.position() + 1);
break;
}
}
@@ -814,7 +815,7 @@ public class TestConversion extends Test
cr = decoder.decode(source, target, true);
if (target.position() != cc.unicode.length()) {
- target.limit(cc.unicode.length());
+ ((Buffer)target).limit(cc.unicode.length());
cr = decoder.flush(target);
if (cr.isError()) {
errln("Flush operation failed");
@@ -829,14 +830,14 @@ public class TestConversion extends Test
} else {/* step is even */
// allow only one UChar output
- target.limit(target.position() < target.capacity() ? target
+ ((Buffer)target).limit(target.position() < target.capacity() ? target
.position() + 1 : target.capacity());
if (step == -2) {
- source.limit(sourceLen);
+ ((Buffer)source).limit(sourceLen);
} else {
- source.limit(source.position() + (-step - 2) / 2);
+ ((Buffer)source).limit(source.position() + (-step - 2) / 2);
if (source.limit() > sourceLen) {
- source.limit(sourceLen);
+ ((Buffer)source).limit(sourceLen);
}
}
CoderResult cr = decoder.decode(source, target, source
@@ -1003,43 +1004,43 @@ public class TestConversion extends Test
if (start[0] == (byte) 0xFE && start[1] == (byte) 0xFF) {
signatureLength = 2;
sigUniCharset = "UTF-16BE";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[0] == (byte) 0xFF && start[1] == (byte) 0xFE) {
if (start[2] == (byte) 0x00 && start[3] == (byte) 0x00) {
signatureLength = 4;
sigUniCharset = "UTF-32LE";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else {
signatureLength = 2;
sigUniCharset = "UTF-16LE";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
}
} else if (start[0] == (byte) 0xEF && start[1] == (byte) 0xBB
&& start[2] == (byte) 0xBF) {
signatureLength = 3;
sigUniCharset = "UTF-8";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[0] == (byte) 0x00 && start[1] == (byte) 0x00
&& start[2] == (byte) 0xFE && start[3] == (byte) 0xFF) {
signatureLength = 4;
sigUniCharset = "UTF-32BE";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[0] == (byte) 0x0E && start[1] == (byte) 0xFE
&& start[2] == (byte) 0xFF) {
signatureLength = 3;
sigUniCharset = "SCSU";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[0] == (byte) 0xFB && start[1] == (byte) 0xEE
&& start[2] == (byte) 0x28) {
signatureLength = 3;
sigUniCharset = "BOCU-1";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[0] == (byte) 0x2B && start[1] == (byte) 0x2F
&& start[2] == (byte) 0x76) {
@@ -1047,20 +1048,20 @@ public class TestConversion extends Test
if (start[3] == (byte) 0x38 && start[4] == (byte) 0x2D) {
signatureLength = 5;
sigUniCharset = "UTF-7";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
} else if (start[3] == (byte) 0x38 || start[3] == (byte) 0x39
|| start[3] == (byte) 0x2B || start[3] == (byte) 0x2F) {
signatureLength = 4;
sigUniCharset = "UTF-7";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
}
} else if (start[0] == (byte) 0xDD && start[2] == (byte) 0x73
&& start[2] == (byte) 0x66 && start[3] == (byte) 0x73) {
signatureLength = 4;
sigUniCharset = "UTF-EBCDIC";
- source.position(signatureLength);
+ ((Buffer)source).position(signatureLength);
return sigUniCharset;
}
@@ -1074,7 +1075,7 @@ public class TestConversion extends Test
for (int i = 0; i < pos; i++) {
res += "(" + i + ")" + hex(buf.get(i) & 0xff).substring(2) + " ";
}
- buf.position(cur);
+ ((Buffer)buf).position(cur);
return res + "]";
}
@@ -1084,7 +1085,7 @@ public class TestConversion extends Test
for (int i = 0; i < pos; i++) {
res += "(" + i + ")" + hex(buf.get(i)) + " ";
}
- buf.position(cur);
+ ((Buffer)buf).position(cur);
return res + "]";
}
@@ -1092,9 +1093,9 @@ public class TestConversion extends Test
ByteBuffer output) {
boolean res = true;
- expected.rewind();
- output.limit(output.position());
- output.rewind();
+ ((Buffer)expected).rewind();
+ ((Buffer)output).limit(output.position());
+ ((Buffer)output).rewind();
// remove any BOM signature before checking
if (!cc.charset.contains("UnicodeLittle") && !cc.charset.contains("UnicodeBig")) {
@@ -1137,8 +1138,8 @@ public class TestConversion extends Test
private boolean checkResultsToUnicode(ConversionCase cc, String expected, CharBuffer output) {
boolean res = true;
- output.limit(output.position());
- output.rewind();
+ ((Buffer)output).limit(output.position());
+ ((Buffer)output).rewind();
// test to see if the conversion matches actual results
if (output.limit() != expected.length()) {
--- a/main/tests/core/src/com/ibm/icu/dev/test/util/ICUBinaryTest.java 2021-10-28 00:02:10.000000000 -0600
+++ b/main/tests/core/src/com/ibm/icu/dev/test/util/ICUBinaryTest.java 2021-10-29 08:08:50.800614014 -0600
@@ -10,6 +10,7 @@
package com.ibm.icu.dev.test.util;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import org.junit.Test;
@@ -88,7 +89,7 @@ public final class ICUBinaryTest extends
}
// no restriction to the data version
try {
- bytes.rewind();
+ ((Buffer)bytes).rewind();
ICUBinary.readHeader(bytes, formatid, null);
} catch (IOException e) {
errln("Failed: Null authenticate object should pass ICUBinary.readHeader");
@@ -96,7 +97,7 @@ public final class ICUBinaryTest extends
// lenient data version
array[17] = 9;
try {
- bytes.rewind();
+ ((Buffer)bytes).rewind();
ICUBinary.readHeader(bytes, formatid, authenticate);
} catch (IOException e) {
errln("Failed: Lenient authenticate object should pass ICUBinary.readHeader");
@@ -104,7 +105,7 @@ public final class ICUBinaryTest extends
// changing the version to an incorrect one, expecting failure
array[16] = 2;
try {
- bytes.rewind();
+ ((Buffer)bytes).rewind();
ICUBinary.readHeader(bytes, formatid, authenticate);
errln("Failed: Invalid version number should not pass authenticate object");
} catch (IOException e) {
--- a/perf-tests/src/com/ibm/icu/dev/test/perf/ConverterPerformanceTest.java 2021-10-28 00:02:10.000000000 -0600
+++ b/perf-tests/src/com/ibm/icu/dev/test/perf/ConverterPerformanceTest.java 2021-10-29 08:08:50.801614013 -0600
@@ -13,6 +13,7 @@ import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
@@ -214,8 +215,8 @@ public class ConverterPerformanceTest ex
try{
decoder.decode(srcBuf,outBuf,false);
decoder.reset();
- srcBuf.rewind();
- outBuf.rewind();
+ ((Buffer)srcBuf).rewind();
+ ((Buffer)outBuf).rewind();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
@@ -243,8 +244,8 @@ public class ConverterPerformanceTest ex
try{
encoder.encode(srcBuf,outBuf,false);
encoder.reset();
- srcBuf.rewind();
- outBuf.rewind();
+ ((Buffer)srcBuf).rewind();
+ ((Buffer)outBuf).rewind();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
@@ -272,8 +273,8 @@ public class ConverterPerformanceTest ex
try{
decoder.decode(srcBuf,outBuf,false);
decoder.reset();
- srcBuf.rewind();
- outBuf.rewind();
+ ((Buffer)srcBuf).rewind();
+ ((Buffer)outBuf).rewind();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
@@ -301,8 +302,8 @@ public class ConverterPerformanceTest ex
try{
encoder.encode(srcBuf,outBuf,false);
encoder.reset();
- srcBuf.rewind();
- outBuf.rewind();
+ ((Buffer)srcBuf).rewind();
+ ((Buffer)outBuf).rewind();
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());