VarInt class

Пакет: com.hypixel.hytale.math.data

Файл: com/hypixel/hytale/math/data/VarInt.java

Поля (20)

МодификаторыТипИмя
break
byte[] var1
long var1
long var1
int var1
int var1
int var1
int var1
int var2
int var2
int var2
int var2
int var2
byte[] var3
long var3
int var3
int var3
byte var3
var3
long var4

Методы (22)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Variable length quantity is too long")
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException("Do not instantiate.")
for for(byte var7 : var0)
if if(var3 > 63)
if if(var2 > 35)
if if(var2 > 35)
static int readSignedVarIntint readSignedVarInt(@Nonnull DataInput var0)
static int readSignedVarIntint readSignedVarInt(@Nonnull byte[] var0)
static long readSignedVarLonglong readSignedVarLong(@Nonnull DataInput var0)
static int readUnsignedVarIntint readUnsignedVarInt(@Nonnull DataInput var0)
static int readUnsignedVarIntint readUnsignedVarInt(@Nonnull byte[] var0)
static long readUnsignedVarLonglong readUnsignedVarLong(@Nonnull DataInput var0)
while while(var2 >= 0)
static void writeSignedVarIntvoid writeSignedVarInt(int var0, @Nonnull DataOutput var1)
static byte[] writeSignedVarIntbyte[] writeSignedVarInt(int var0)
static void writeSignedVarLongvoid writeSignedVarLong(long var0, @Nonnull DataOutput var2)
static void writeUnsignedVarIntvoid writeUnsignedVarInt(int var0, @Nonnull DataOutput var1)
static byte[] writeUnsignedVarIntbyte[] writeUnsignedVarInt(int var0)
abstract writeUnsignedVarInt writeUnsignedVarInt(var0 << 1 ^ var0 >> 31, var1)
abstract return writeUnsignedVarIntreturn writeUnsignedVarInt(var0 << 1 ^ var0 >> 31)
static void writeUnsignedVarLongvoid writeUnsignedVarLong(long var0, @Nonnull DataOutput var2)
abstract writeUnsignedVarLong writeUnsignedVarLong(var0 << 1 ^ var0 >> 63, var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.math.data;

class="kw">import java.io.DataInput;
class="kw">import java.io.DataOutput;
class="kw">import java.io.IOException;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">final class VarInt {
   class="kw">private VarInt() {
      throw new UnsupportedOperationException("Do not instantiate.");
   }

   class="kw">public class="kw">static void writeSignedVarLong(long var0, @Nonnull DataOutput var2) class="kw">throws IOException {
      writeUnsignedVarLong(var0 << 1 ^ var0 >> 63, var2);
   }

   class="kw">public class="kw">static void writeUnsignedVarLong(long var0, @Nonnull DataOutput var2) class="kw">throws IOException {
      while ((var0 & -128L) != 0L) {
         var2.writeByte((int)var0 & 127 | 128);
         var0 >>>= 7;
      }

      var2.writeByte((int)var0 & 127);
   }

   class="kw">public class="kw">static void writeSignedVarInt(int var0, @Nonnull DataOutput var1) class="kw">throws IOException {
      writeUnsignedVarInt(var0 << 1 ^ var0 >> 31, var1);
   }

   class="kw">public class="kw">static void writeUnsignedVarInt(int var0, @Nonnull DataOutput var1) class="kw">throws IOException {
      while ((var0 & -128) != 0L) {
         var1.writeByte(var0 & 127 | 128);
         var0 >>>= 7;
      }

      var1.writeByte(var0 & 127);
   }

   class="kw">public class="kw">static byte[] writeSignedVarInt(int var0) {
      class="kw">return writeUnsignedVarInt(var0 << 1 ^ var0 >> 31);
   }

   class="kw">public class="kw">static byte[] writeUnsignedVarInt(int var0) {
      byte[] var1 = new byte[10];
      int var2 = 0;

      while ((var0 & -128) != 0L) {
         var1[var2++] = (byte)(var0 & 127 | 128);
         var0 >>>= 7;
      }

      var1[var2] = (byte)(var0 & 127);
      byte[] var3 = new byte[var2 + 1];

      while (var2 >= 0) {
         var3[var2] = var1[var2];
         var2--;
      }

      class="kw">return var3;
   }

   class="kw">public class="kw">static long readSignedVarLong(@Nonnull DataInput var0) class="kw">throws IOException {
      long var1 = readUnsignedVarLong(var0);
      long var3 = (var1 << 63 >> 63 ^ var1) >> 1;
      class="kw">return var3 ^ var1 & Long.MIN_VALUE;
   }

   class="kw">public class="kw">static long readUnsignedVarLong(@Nonnull DataInput var0) class="kw">throws IOException {
      long var1 = 0L;
      int var3 = 0;

      long var4;
      while (((var4 = var0.readByte()) & 128L) != 0L) {
         var1 |= (var4 & 127L) << var3;
         var3 += 7;
         if (var3 > 63) {
            throw new IllegalArgumentException("Variable length quantity is too long");
         }
      }

      class="kw">return var1 | var4 << var3;
   }

   class="kw">public class="kw">static int readSignedVarInt(@Nonnull DataInput var0) class="kw">throws IOException {
      int var1 = readUnsignedVarInt(var0);
      int var2 = (var1 << 31 >> 31 ^ var1) >> 1;
      class="kw">return var2 ^ var1 & -2147483648;
   }

   class="kw">public class="kw">static int readUnsignedVarInt(@Nonnull DataInput var0) class="kw">throws IOException {
      int var1 = 0;
      int var2 = 0;

      int var3;
      while (((var3 = var0.readByte()) & 128) != 0) {
         var1 |= (var3 & 127) << var2;
         var2 += 7;
         if (var2 > 35) {
            throw new IllegalArgumentException("Variable length quantity is too long");
         }
      }

      class="kw">return var1 | var3 << var2;
   }

   class="kw">public class="kw">static int readSignedVarInt(@Nonnull byte[] var0) {
      int var1 = readUnsignedVarInt(var0);
      int var2 = (var1 << 31 >> 31 ^ var1) >> 1;
      class="kw">return var2 ^ var1 & -2147483648;
   }

   class="kw">public class="kw">static int readUnsignedVarInt(@Nonnull byte[] var0) {
      int var1 = 0;
      int var2 = 0;
      byte var3 = -128;

      for (byte var7 : var0) {
         var3 = var7;
         if ((var7 & 128) == 0) {
            break;
         }

         var1 |= (var7 & 127) << var2;
         var2 += 7;
         if (var2 > 35) {
            throw new IllegalArgumentException("Variable length quantity is too long");
         }
      }

      class="kw">return var1 | var3 << var2;
   }
}