@Override public int getSizeInRCode() { int size = 16; for (IIndexComponentElement elem : indexComponents) { size += elem.getSizeInRCode(); } return size; }
@Override public int getSizeInRCode() { int size = 16; for (IIndexComponentElement elem : indexComponents) { size += elem.getSizeInRCode(); } return size; }
protected static IIndexElement fromDebugSegment(byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int primary = segment[currentPos]; int flags = segment[currentPos + 1]; int componentCount = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 8, Integer.BYTES).order(order).getInt(); String name = nameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int currPos = currentPos + 16; IIndexComponentElement[] indexComponents = new IndexComponentElementV11[componentCount]; for (int zz = 0; zz < componentCount; zz++) { IIndexComponentElement component = IndexComponentElementV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += component.getSizeInRCode(); indexComponents[zz] = component; } return new IndexElementV11(name, primary, flags, indexComponents); }
protected static IIndexElement fromDebugSegment(byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int primary = segment[currentPos + 14]; int flags = segment[currentPos + 15]; int componentCount = ByteBuffer.wrap(segment, currentPos + 12, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos, Integer.BYTES).order(order).getInt(); String name = nameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int currPos = currentPos + 16; IIndexComponentElement[] indexComponents = new IndexComponentElementV12[componentCount]; for (int zz = 0; zz < componentCount; zz++) { IIndexComponentElement component = IndexComponentElementV12.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += component.getSizeInRCode(); indexComponents[zz] = component; } return new IndexElementV12(name, primary, flags, indexComponents); }
protected static IIndexElement fromDebugSegment(byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int primary = segment[currentPos + 14]; int flags = segment[currentPos + 15]; int componentCount = ByteBuffer.wrap(segment, currentPos + 12, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos, Integer.BYTES).order(order).getInt(); String name = nameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int currPos = currentPos + 16; IIndexComponentElement[] indexComponents = new IndexComponentElementV12[componentCount]; for (int zz = 0; zz < componentCount; zz++) { IIndexComponentElement component = IndexComponentElementV12.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += component.getSizeInRCode(); indexComponents[zz] = component; } return new IndexElementV12(name, primary, flags, indexComponents); }
protected static IIndexElement fromDebugSegment(byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int primary = segment[currentPos]; int flags = segment[currentPos + 1]; int componentCount = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 8, Integer.BYTES).order(order).getInt(); String name = nameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int currPos = currentPos + 16; IIndexComponentElement[] indexComponents = new IndexComponentElementV11[componentCount]; for (int zz = 0; zz < componentCount; zz++) { IIndexComponentElement component = IndexComponentElementV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += component.getSizeInRCode(); indexComponents[zz] = component; } return new IndexElementV11(name, primary, flags, indexComponents); }