src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java

changeset 50
42dfec6871f6
parent 45
31822b475baa
     1.1 --- a/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java	Mon Apr 20 15:25:02 2009 -0700
     1.2 +++ b/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java	Mon May 04 21:10:41 2009 -0700
     1.3 @@ -24,7 +24,7 @@
     1.4   */
     1.5  
     1.6  /*
     1.7 - * @(#)SingleByteEncoder.java       1.14 03/01/23
     1.8 + * @(#)SingleByteEncoder.java   1.14 03/01/23
     1.9   */
    1.10  
    1.11  package com.sun.codemodel.internal.util;
    1.12 @@ -51,109 +51,109 @@
    1.13      private final Surrogate.Parser sgp = new Surrogate.Parser();
    1.14  
    1.15      protected SingleByteEncoder(Charset cs,
    1.16 -                            short[] index1, String index2,
    1.17 -                            int mask1, int mask2, int shift)
    1.18 +                                short[] index1, String index2,
    1.19 +                                int mask1, int mask2, int shift)
    1.20      {
    1.21 -       super(cs, 1.0f, 1.0f);
    1.22 -       this.index1 = index1;
    1.23 -       this.index2 = index2;
    1.24 -       this.mask1 = mask1;
    1.25 -       this.mask2 = mask2;
    1.26 -       this.shift = shift;
    1.27 +        super(cs, 1.0f, 1.0f);
    1.28 +        this.index1 = index1;
    1.29 +        this.index2 = index2;
    1.30 +        this.mask1 = mask1;
    1.31 +        this.mask2 = mask2;
    1.32 +        this.shift = shift;
    1.33      }
    1.34  
    1.35      public boolean canEncode(char c) {
    1.36 -       char testEncode;
    1.37 -       testEncode = index2.charAt(index1[(c & mask1) >> shift]
    1.38 -                               + (c & mask2));
    1.39 -       if (testEncode == '\u0000')
    1.40 -           return false;
    1.41 -       else
    1.42 -           return true;
    1.43 +        char testEncode;
    1.44 +        testEncode = index2.charAt(index1[(c & mask1) >> shift]
    1.45 +                                   + (c & mask2));
    1.46 +        if (testEncode == '\u0000')
    1.47 +            return false;
    1.48 +        else
    1.49 +            return true;
    1.50      }
    1.51  
    1.52      private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
    1.53 -       char[] sa = src.array();
    1.54 -       int sp = src.arrayOffset() + src.position();
    1.55 -       int sl = src.arrayOffset() + src.limit();
    1.56 -       sp = (sp <= sl ? sp : sl);
    1.57 -       byte[] da = dst.array();
    1.58 -       int dp = dst.arrayOffset() + dst.position();
    1.59 -       int dl = dst.arrayOffset() + dst.limit();
    1.60 -       dp = (dp <= dl ? dp : dl);
    1.61 +        char[] sa = src.array();
    1.62 +        int sp = src.arrayOffset() + src.position();
    1.63 +        int sl = src.arrayOffset() + src.limit();
    1.64 +        sp = (sp <= sl ? sp : sl);
    1.65 +        byte[] da = dst.array();
    1.66 +        int dp = dst.arrayOffset() + dst.position();
    1.67 +        int dl = dst.arrayOffset() + dst.limit();
    1.68 +        dp = (dp <= dl ? dp : dl);
    1.69  
    1.70 -       try {
    1.71 -           while (sp < sl) {
    1.72 -              char c = sa[sp];
    1.73 -              if (Surrogate.is(c)) {
    1.74 -                  if (sgp.parse(c, sa, sp, sl) < 0)
    1.75 -                     return sgp.error();
    1.76 -                  return sgp.unmappableResult();
    1.77 -              }
    1.78 -              if (c >= '\uFFFE')
    1.79 -                  return CoderResult.unmappableForLength(1);
    1.80 -              if (dl - dp < 1)
    1.81 -                  return CoderResult.OVERFLOW;
    1.82 +        try {
    1.83 +            while (sp < sl) {
    1.84 +                char c = sa[sp];
    1.85 +                if (Surrogate.is(c)) {
    1.86 +                    if (sgp.parse(c, sa, sp, sl) < 0)
    1.87 +                        return sgp.error();
    1.88 +                    return sgp.unmappableResult();
    1.89 +                }
    1.90 +                if (c >= '\uFFFE')
    1.91 +                    return CoderResult.unmappableForLength(1);
    1.92 +                if (dl - dp < 1)
    1.93 +                    return CoderResult.OVERFLOW;
    1.94  
    1.95 -              char e = index2.charAt(index1[(c & mask1) >> shift]
    1.96 -                                   + (c & mask2));
    1.97 +                char e = index2.charAt(index1[(c & mask1) >> shift]
    1.98 +                                       + (c & mask2));
    1.99  
   1.100 -              // If output byte is zero because input char is zero
   1.101 -              // then character is mappable, o.w. fail
   1.102 -              if (e == '\u0000' && c != '\u0000')
   1.103 -                  return CoderResult.unmappableForLength(1);
   1.104 +                // If output byte is zero because input char is zero
   1.105 +                // then character is mappable, o.w. fail
   1.106 +                if (e == '\u0000' && c != '\u0000')
   1.107 +                    return CoderResult.unmappableForLength(1);
   1.108  
   1.109 -              sp++;
   1.110 -              da[dp++] = (byte)e;
   1.111 -           }
   1.112 -           return CoderResult.UNDERFLOW;
   1.113 -       } finally {
   1.114 -           src.position(sp - src.arrayOffset());
   1.115 -           dst.position(dp - dst.arrayOffset());
   1.116 -       }
   1.117 +                sp++;
   1.118 +                da[dp++] = (byte)e;
   1.119 +            }
   1.120 +            return CoderResult.UNDERFLOW;
   1.121 +        } finally {
   1.122 +            src.position(sp - src.arrayOffset());
   1.123 +            dst.position(dp - dst.arrayOffset());
   1.124 +        }
   1.125      }
   1.126  
   1.127      private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
   1.128 -       int mark = src.position();
   1.129 -       try {
   1.130 -           while (src.hasRemaining()) {
   1.131 -              char c = src.get();
   1.132 -              if (Surrogate.is(c)) {
   1.133 -                  if (sgp.parse(c, src) < 0)
   1.134 -                     return sgp.error();
   1.135 -                  return sgp.unmappableResult();
   1.136 -              }
   1.137 -              if (c >= '\uFFFE')
   1.138 -                  return CoderResult.unmappableForLength(1);
   1.139 -              if (!dst.hasRemaining())
   1.140 -                  return CoderResult.OVERFLOW;
   1.141 +        int mark = src.position();
   1.142 +        try {
   1.143 +            while (src.hasRemaining()) {
   1.144 +                char c = src.get();
   1.145 +                if (Surrogate.is(c)) {
   1.146 +                    if (sgp.parse(c, src) < 0)
   1.147 +                        return sgp.error();
   1.148 +                    return sgp.unmappableResult();
   1.149 +                }
   1.150 +                if (c >= '\uFFFE')
   1.151 +                    return CoderResult.unmappableForLength(1);
   1.152 +                if (!dst.hasRemaining())
   1.153 +                    return CoderResult.OVERFLOW;
   1.154  
   1.155 -              char e = index2.charAt(index1[(c & mask1) >> shift]
   1.156 -                                   + (c & mask2));
   1.157 +                char e = index2.charAt(index1[(c & mask1) >> shift]
   1.158 +                                       + (c & mask2));
   1.159  
   1.160 -              // If output byte is zero because input char is zero
   1.161 -              // then character is mappable, o.w. fail
   1.162 -              if (e == '\u0000' && c != '\u0000')
   1.163 -                  return CoderResult.unmappableForLength(1);
   1.164 +                // If output byte is zero because input char is zero
   1.165 +                // then character is mappable, o.w. fail
   1.166 +                if (e == '\u0000' && c != '\u0000')
   1.167 +                    return CoderResult.unmappableForLength(1);
   1.168  
   1.169 -              mark++;
   1.170 -              dst.put((byte)e);
   1.171 -           }
   1.172 -           return CoderResult.UNDERFLOW;
   1.173 -       } finally {
   1.174 -           src.position(mark);
   1.175 -       }
   1.176 +                mark++;
   1.177 +                dst.put((byte)e);
   1.178 +            }
   1.179 +            return CoderResult.UNDERFLOW;
   1.180 +        } finally {
   1.181 +            src.position(mark);
   1.182 +        }
   1.183      }
   1.184  
   1.185      protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
   1.186 -       if (true && src.hasArray() && dst.hasArray())
   1.187 -           return encodeArrayLoop(src, dst);
   1.188 -       else
   1.189 -           return encodeBufferLoop(src, dst);
   1.190 +        if (true && src.hasArray() && dst.hasArray())
   1.191 +            return encodeArrayLoop(src, dst);
   1.192 +        else
   1.193 +            return encodeBufferLoop(src, dst);
   1.194      }
   1.195  
   1.196      public byte encode(char inputChar) {
   1.197 -       return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
   1.198 -              (inputChar & mask2));
   1.199 +        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
   1.200 +                (inputChar & mask2));
   1.201      }
   1.202  }

mercurial