make somewhat less buggy

This commit is contained in:
David Renshaw 2014-10-17 09:36:16 -04:00
parent 1db37b741d
commit 8e1de6012c
2 changed files with 5 additions and 6 deletions

View file

@ -46,12 +46,12 @@ class EncodingSuite extends FunSuite {
test("Setters") { test("Setters") {
val message = new MessageBuilder(); val message = new MessageBuilder();
val allTypes = message.initRoot(TestAllTypes.factory); val allTypes = message.initRoot(TestAllTypes.factory);
TestUtil.initTestMessage(allTypes); //TestUtil.initTestMessage(allTypes);
val message2 = new MessageBuilder(); val message2 = new MessageBuilder();
val allTypes2 = message.initRoot(TestAllTypes.factory); val allTypes2 = message.initRoot(TestAllTypes.factory);
//allTypes2.setStructField(allTypes.asReader()); allTypes2.setStructField(allTypes.asReader());
// ... // ...
//TestUtil.checkTestMessage(allTypes); //TestUtil.checkTestMessage(allTypes);

View file

@ -522,7 +522,7 @@ final class WireHelpers {
copyPointer(allocation.segment, pointerSection + i, value.segment, value.pointers + i, copyPointer(allocation.segment, pointerSection + i, value.segment, value.pointers + i,
value.nestingLimit); value.nestingLimit);
} }
throw new Error("setStructPointer is unimplemented"); return allocation.segment;
}; };
static SegmentBuilder setListPointer(SegmentBuilder segment, int refOffset, ListReader value) { static SegmentBuilder setListPointer(SegmentBuilder segment, int refOffset, ListReader value) {
@ -562,7 +562,6 @@ final class WireHelpers {
//# List of structs. //# List of structs.
AllocateResult allocation = allocate(refOffset, segment, totalSize + Constants.POINTER_SIZE_IN_WORDS, WirePointer.LIST); AllocateResult allocation = allocate(refOffset, segment, totalSize + Constants.POINTER_SIZE_IN_WORDS, WirePointer.LIST);
ListPointer.setInlineComposite(allocation.segment.buffer, allocation.refOffset, totalSize); ListPointer.setInlineComposite(allocation.segment.buffer, allocation.refOffset, totalSize);
short dataSize = (short)roundBitsUpToWords(value.structDataSize); short dataSize = (short)roundBitsUpToWords(value.structDataSize);
short pointerCount = value.structPointerCount; short pointerCount = value.structPointerCount;
@ -594,10 +593,10 @@ final class WireHelpers {
static void memcpy(ByteBuffer dstBuffer, int dstByteOffset, ByteBuffer srcBuffer, int srcByteOffset, int length) { static void memcpy(ByteBuffer dstBuffer, int dstByteOffset, ByteBuffer srcBuffer, int srcByteOffset, int length) {
ByteBuffer dstDup = dstBuffer.duplicate(); ByteBuffer dstDup = dstBuffer.duplicate();
dstDup.position(dstByteOffset); dstDup.position(dstByteOffset);
dstDup.limit(length); dstDup.limit(dstByteOffset + length);
ByteBuffer srcDup = srcBuffer.duplicate(); ByteBuffer srcDup = srcBuffer.duplicate();
srcDup.position(srcByteOffset); srcDup.position(srcByteOffset);
srcDup.limit(length); srcDup.limit(srcByteOffset + length);
dstDup.put(srcDup); dstDup.put(srcDup);
} }