⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hessian2input.as

📁 RESIN 3.2 最新源码
💻 AS
📖 第 1 页 / 共 4 页
字号:
        case 0xac: case 0xad: case 0xae: case 0xaf:        case 0xb0: case 0xb1: case 0xb2: case 0xb3:        case 0xb4: case 0xb5: case 0xb6: case 0xb7:        case 0xb8: case 0xb9: case 0xba: case 0xbb:        case 0xbc: case 0xbd: case 0xbe: case 0xbf:          return tag != Hessian2Constants.INT_ZERO;        // INT_BYTE = 0        case 0xc8:           return read() != 0;        // INT_BYTE != 0        case 0xc0: case 0xc1: case 0xc2: case 0xc3:        case 0xc4: case 0xc5: case 0xc6: case 0xc7:        case 0xc9: case 0xca: case 0xcb:        case 0xcc: case 0xcd: case 0xce: case 0xcf:          read();          return true;        // INT_SHORT = 0        case 0xd4:           return (256 * read() + read()) != 0;        // INT_SHORT != 0        case 0xd0: case 0xd1: case 0xd2: case 0xd3:        case 0xd5: case 0xd6: case 0xd7:          read();          read();        return true;        case 'I'.charCodeAt():           return parseInteger() != 0;        case 0xd8: case 0xd9: case 0xda: case 0xdb:        case 0xdc: case 0xdd: case 0xde: case 0xdf:        case 0xe0: case 0xe1: case 0xe2: case 0xe3:        case 0xe4: case 0xe5: case 0xe6: case 0xe7:        case 0xe8: case 0xe9: case 0xea: case 0xeb:        case 0xec: case 0xed: case 0xee: case 0xef:          return tag != Hessian2Constants.LONG_ZERO;        // LONG_BYTE = 0        case 0xf8:           return read() != 0;        // LONG_BYTE != 0        case 0xf0: case 0xf1: case 0xf2: case 0xf3:        case 0xf4: case 0xf5: case 0xf6: case 0xf7:        case 0xf9: case 0xfa: case 0xfb:        case 0xfc: case 0xfd: case 0xfe: case 0xff:          read();          return true;        // INT_SHORT = 0        case 0x3c:           return (256 * read() + read()) != 0;        // INT_SHORT != 0        case 0x38: case 0x39: case 0x3a: case 0x3b:        case 0x3d: case 0x3e: case 0x3f:          read();          read();          return true;        case Hessian2Constants.LONG_INT:          return (0x1000000 * read()                  + 0x10000 * read()                  + 0x100 * read()                  + read()) != 0;        case 'L'.charCodeAt():          return parseLong() != 0;        case Hessian2Constants.DOUBLE_ZERO:          return false;        case Hessian2Constants.DOUBLE_ONE:          return true;        case Hessian2Constants.DOUBLE_BYTE:          return read() != 0;        case Hessian2Constants.DOUBLE_SHORT:          return (0x100 * read() + read()) != 0;        case Hessian2Constants.DOUBLE_FLOAT:          {            var f:int = parseInteger();            return Float.intBitsToFloat(f) != 0;          }        case 'D'.charCodeAt():          return parseDouble() != 0.0;        case 'N'.charCodeAt():          return false;        default:          throw expect("boolean", tag);      }    }    /**     * Reads an integer.     *     * <p>     *   <pre>     *   I b32 b24 b16 b8     *   </pre>     * </p>     *     * @return The integer value read.     */    public override function readInt():int    {      var tag:int = read();      switch (tag) {        case 'N'.charCodeAt():          return 0;        case 'F'.charCodeAt():          return 0;        case 'T'.charCodeAt():          return 1;        // direct integer        case 0x80: case 0x81: case 0x82: case 0x83:        case 0x84: case 0x85: case 0x86: case 0x87:        case 0x88: case 0x89: case 0x8a: case 0x8b:        case 0x8c: case 0x8d: case 0x8e: case 0x8f:        case 0x90: case 0x91: case 0x92: case 0x93:        case 0x94: case 0x95: case 0x96: case 0x97:        case 0x98: case 0x99: case 0x9a: case 0x9b:        case 0x9c: case 0x9d: case 0x9e: case 0x9f:        case 0xa0: case 0xa1: case 0xa2: case 0xa3:        case 0xa4: case 0xa5: case 0xa6: case 0xa7:        case 0xa8: case 0xa9: case 0xaa: case 0xab:        case 0xac: case 0xad: case 0xae: case 0xaf:        case 0xb0: case 0xb1: case 0xb2: case 0xb3:        case 0xb4: case 0xb5: case 0xb6: case 0xb7:        case 0xb8: case 0xb9: case 0xba: case 0xbb:        case 0xbc: case 0xbd: case 0xbe: case 0xbf:          return tag - Hessian2Constants.INT_ZERO;        /* byte int */        case 0xc0: case 0xc1: case 0xc2: case 0xc3:        case 0xc4: case 0xc5: case 0xc6: case 0xc7:        case 0xc8: case 0xc9: case 0xca: case 0xcb:        case 0xcc: case 0xcd: case 0xce: case 0xcf:          return ((tag - Hessian2Constants.INT_BYTE_ZERO) << 8) + read();        /* short int */        case 0xd0: case 0xd1: case 0xd2: case 0xd3:        case 0xd4: case 0xd5: case 0xd6: case 0xd7:          return ((tag - Hessian2Constants.INT_SHORT_ZERO) << 16) +                  256 * read() + read();        case 'I'.charCodeAt():        case Hessian2Constants.LONG_INT:          return ((read() << 24)                + (read() << 16)                + (read() << 8)                + read());        // direct long        case 0xd8: case 0xd9: case 0xda: case 0xdb:        case 0xdc: case 0xdd: case 0xde: case 0xdf:        case 0xe0: case 0xe1: case 0xe2: case 0xe3:        case 0xe4: case 0xe5: case 0xe6: case 0xe7:        case 0xe8: case 0xe9: case 0xea: case 0xeb:        case 0xec: case 0xed: case 0xee: case 0xef:          return tag - Hessian2Constants.LONG_ZERO;        /* byte long */        case 0xf0: case 0xf1: case 0xf2: case 0xf3:        case 0xf4: case 0xf5: case 0xf6: case 0xf7:        case 0xf8: case 0xf9: case 0xfa: case 0xfb:        case 0xfc: case 0xfd: case 0xfe: case 0xff:          return ((tag - Hessian2Constants.LONG_BYTE_ZERO) << 8) + read();        /* short long */        case 0x38: case 0x39: case 0x3a: case 0x3b:        case 0x3c: case 0x3d: case 0x3e: case 0x3f:          return ((tag - Hessian2Constants.LONG_SHORT_ZERO) << 16) +                  256 * read() + read();        case 'L'.charCodeAt():          return int(parseLong());        case Hessian2Constants.DOUBLE_ZERO:          return 0;        case Hessian2Constants.DOUBLE_ONE:          return 1;        //case LONG_BYTE:        case Hessian2Constants.DOUBLE_BYTE:          return _offset < _length ? _buffer[_offset++] : read();        //case INT_SHORT:        //case LONG_SHORT:        case Hessian2Constants.DOUBLE_SHORT:          return int(256 * read() + read());        case Hessian2Constants.DOUBLE_FLOAT:          {            var f:int = parseInteger();            return int(Float.intBitsToFloat(f));          }        case 'D'.charCodeAt():          return int(parseDouble());        default:          throw expect("int", tag);      }    }    /**     * Reads a long.     *     * <p>     *   <pre>     *   L b64 b56 b48 b40 b32 b24 b16 b8     *   </pre>     * </p>     *     * @return The long value read as a Number.     */    public override function readLong():Number    {      var tag:int = read();      switch (tag) {        case 'N'.charCodeAt():          return 0;        case 'F'.charCodeAt():          return 0;        case 'T'.charCodeAt():          return 1;        // direct integer        case 0x80: case 0x81: case 0x82: case 0x83:        case 0x84: case 0x85: case 0x86: case 0x87:        case 0x88: case 0x89: case 0x8a: case 0x8b:        case 0x8c: case 0x8d: case 0x8e: case 0x8f:        case 0x90: case 0x91: case 0x92: case 0x93:        case 0x94: case 0x95: case 0x96: case 0x97:        case 0x98: case 0x99: case 0x9a: case 0x9b:        case 0x9c: case 0x9d: case 0x9e: case 0x9f:        case 0xa0: case 0xa1: case 0xa2: case 0xa3:        case 0xa4: case 0xa5: case 0xa6: case 0xa7:        case 0xa8: case 0xa9: case 0xaa: case 0xab:        case 0xac: case 0xad: case 0xae: case 0xaf:        case 0xb0: case 0xb1: case 0xb2: case 0xb3:        case 0xb4: case 0xb5: case 0xb6: case 0xb7:        case 0xb8: case 0xb9: case 0xba: case 0xbb:        case 0xbc: case 0xbd: case 0xbe: case 0xbf:          return tag - Hessian2Constants.INT_ZERO;        /* byte int */        case 0xc0: case 0xc1: case 0xc2: case 0xc3:        case 0xc4: case 0xc5: case 0xc6: case 0xc7:        case 0xc8: case 0xc9: case 0xca: case 0xcb:        case 0xcc: case 0xcd: case 0xce: case 0xcf:          return ((tag - Hessian2Constants.INT_BYTE_ZERO) << 8) + read();        /* short int */        case 0xd0: case 0xd1: case 0xd2: case 0xd3:        case 0xd4: case 0xd5: case 0xd6: case 0xd7:          return ((tag - Hessian2Constants.INT_SHORT_ZERO) << 16) +                  256 * read() + read();        //case LONG_BYTE:        case Hessian2Constants.DOUBLE_BYTE:          return /* (byte) */ (_offset < _length ? _buffer[_offset++] : read())                               & 0xFF;        //case INT_SHORT:        //case LONG_SHORT:        case Hessian2Constants.DOUBLE_SHORT:          return /* (short) */ (256 * read() + read()) & 0xFFFF;        case 'I'.charCodeAt():        case Hessian2Constants.LONG_INT:          return parseInteger();        // direct long        case 0xd8: case 0xd9: case 0xda: case 0xdb:        case 0xdc: case 0xdd: case 0xde: case 0xdf:        case 0xe0: case 0xe1: case 0xe2: case 0xe3:        case 0xe4: case 0xe5: case 0xe6: case 0xe7:        case 0xe8: case 0xe9: case 0xea: case 0xeb:        case 0xec: case 0xed: case 0xee: case 0xef:          return tag - Hessian2Constants.LONG_ZERO;        /* byte long */        case 0xf0: case 0xf1: case 0xf2: case 0xf3:        case 0xf4: case 0xf5: case 0xf6: case 0xf7:        case 0xf8: case 0xf9: case 0xfa: case 0xfb:        case 0xfc: case 0xfd: case 0xfe: case 0xff:          return ((tag - Hessian2Constants.LONG_BYTE_ZERO) << 8) + read();        /* short long */        case 0x38: case 0x39: case 0x3a: case 0x3b:        case 0x3c: case 0x3d: case 0x3e: case 0x3f:          return ((tag - Hessian2Constants.LONG_SHORT_ZERO) << 16) +                  256 * read() + read();        case 'L'.charCodeAt():          return parseLong();        case Hessian2Constants.DOUBLE_ZERO:          return 0;        case Hessian2Constants.DOUBLE_ONE:          return 1;        case Hessian2Constants.DOUBLE_FLOAT:          {            var f:int = parseInteger();            return Float.intBitsToFloat(f);          }        case 'D'.charCodeAt():          return parseDouble();        default:          throw expect("long", tag);      }    }    /**     * Reads a double.     *     * <p>     *   <pre>     *   D b64 b56 b48 b40 b32 b24 b16 b8     *   </pre>     * </p>     *     * @return The double value read as a Number.     */    public override function readDouble():Number    {      var tag:int = read();      switch (tag) {        case 'N'.charCodeAt():          return 0;        case 'F'.charCodeAt():          return 0;        case 'T'.charCodeAt():          return 1;        // direct integer        case 0x80: case 0x81: case 0x82: case 0x83:        case 0x84: case 0x85: case 0x86: case 0x87:        case 0x88: case 0x89: case 0x8a: case 0x8b:        case 0x8c: case 0x8d: case 0x8e: case 0x8f:        case 0x90: case 0x91: case 0x92: case 0x93:        case 0x94: case 0x95: case 0x96: case 0x97:        case 0x98: case 0x99: case 0x9a: case 0x9b:        case 0x9c: case 0x9d: case 0x9e: case 0x9f:        case 0xa0: case 0xa1: case 0xa2: case 0xa3:        case 0xa4: case 0xa5: case 0xa6: case 0xa7:        case 0xa8: case 0xa9: case 0xaa: case 0xab:        case 0xac: case 0xad: case 0xae: case 0xaf:        case 0xb0: case 0xb1: case 0xb2: case 0xb3:        case 0xb4: case 0xb5: case 0xb6: case 0xb7:        case 0xb8: case 0xb9: case 0xba: case 0xbb:        case 0xbc: case 0xbd: case 0xbe: case 0xbf:          return tag - 0x90;        /* byte int */        case 0xc0: case 0xc1: case 0xc2: case 0xc3:        case 0xc4: case 0xc5: case 0xc6: case 0xc7:        case 0xc8: case 0xc9: case 0xca: case 0xcb:        case 0xcc: case 0xcd: case 0xce: case 0xcf:          return ((tag - Hessian2Constants.INT_BYTE_ZERO) << 8) + read();        /* short int */        case 0xd0: case 0xd1: case 0xd2: case 0xd3:        case 0xd4: case 0xd5: case 0xd6: case 0xd7:          return ((tag - Hessian2Constants.INT_SHORT_ZERO) << 16) +                  256 * read() + read();        case 'I'.charCodeAt():        case Hessian2Constants.LONG_INT:          return parseInteger();        // direct long        case 0xd8: case 0xd9: case 0xda: case 0xdb:        case 0xdc: case 0xdd: case 0xde: case 0xdf:        case 0xe0: case 0xe1: case 0xe2: case 0xe3:        case 0xe4: case 0xe5: case 0xe6: case 0xe7:        case 0xe8: case 0xe9: case 0xea: case 0xeb:        case 0xec: case 0xed: case 0xee: case 0xef:          return tag - Hessian2Constants.LONG_ZERO;        /* byte long */        case 0xf0: case 0xf1: case 0xf2: case 0xf3:        case 0xf4: case 0xf5: case 0xf6: case 0xf7:        case 0xf8: case 0xf9: case 0xfa: case 0xfb:        case 0xfc: case 0xfd: case 0xfe: case 0xff:          return ((tag - Hessian2Constants.LONG_BYTE_ZERO) << 8) + read();        /* short long */        case 0x38: case 0x39: case 0x3a: case 0x3b:        case 0x3c: case 0x3d: case 0x3e: case 0x3f:          return ((tag - Hessian2Constants.LONG_SHORT_ZERO) << 16) +                  256 * read() + read();        case 'L'.charCodeAt():          return /* (double) */ parseLong();        case Hessian2Constants.DOUBLE_ZERO:          return 0;        case Hessian2Constants.DOUBLE_ONE:          return 1;        case Hessian2Constants.DOUBLE_BYTE:          return /* (byte) */ (_offset < _length ? _buffer[_offset++] : read())                              & 0xFF;        case Hessian2Constants.DOUBLE_SHORT:          return /* (short) */(256 * read() + read()) & 0xFFFF;        case Hessian2Constants.DOUBLE_FLOAT:          {            var f:int = parseInteger();            return Float.intBitsToFloat(f);          }        case 'D'.charCodeAt():          return parseDouble();        default:          throw expect("double", tag);      }    }    /**     * Reads a date.     *     * <p>     *   <pre>     *   T b64 b56 b48 b40 b32 b24 b16 b8     *   </pre>     * </p>     *      * @return The date value read as a Number (milliseconds since the epoch).     */    public override function readUTCDate():Number    {      var tag:int = read();      if (tag != 'd'.charCodeAt())        throw error("expected date");      return parseLong();    }    /**     * Reads a character from the stream.     *     * @return The UTF8 character value read as an integer.     */    public function readChar():int    {      if (_chunkLength > 0) {        _chunkLength--;        if (_chunkLength == 0 && _isLastChunk)          _chunkLength = END_OF_DATA;        var ch:int = parseUTF8Char();        return ch;      }      else if (_chunkLength == END_OF_DATA) {        _chunkLength = 0;        return -1;      }            var tag:int = read();      switch (tag) {        case 'N'.charCodeAt():          return -1;        case 'S'.charCodeAt():        case 's'.charCodeAt():        case 'X'.charCodeAt():        case 'x'.charCodeAt():          _isLastChunk = tag == 'S'.charCodeAt() || tag == 'X'.charCodeAt();          _chunkLength = (read() << 8) + read();          _chunkLength--;          var value:int = parseUTF8Char();          // special code so successive read byte won't          // be read as a single object.          if (_chunkLength == 0 && _isLastChunk)            _chunkLength = END_OF_DATA;          return value;                  default:          throw new IOError("expected 'S' at " + String.fromCharCode(tag));      }    }    /**     * Reads a string.     *     * <p>     *   <pre>     *   S b16 b8 string value     *   </pre>     * </p>     *     * @return The string value read.     */    public override function readString():String    {      var tag:int = read();      switch (tag) {        case 'N'.charCodeAt():          return null;        case 'I'.charCodeAt():          return parseInteger().toString();        case 'L'.charCodeAt():          return parseLong().toString();        case 'D'.charCodeAt():          return parseDouble().toString();        case 'S'.charCodeAt():        case 's'.charCodeAt():

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -