From 4d842f0ef764eeaeece46ca150f3609e665d072a Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Tue, 7 Oct 2014 22:35:08 -0400 Subject: [PATCH] abstracting --- compiler/src/main/cpp/capnpc-java.c++ | 25 ++++++++----------- .../scala/org/capnproto/EncodingTest.scala | 2 +- .../main/java/org/capnproto/AnyPointer.java | 14 +++++------ .../src/main/java/org/capnproto/DataList.java | 2 +- .../src/main/java/org/capnproto/EnumList.java | 2 +- .../org/capnproto/FromPointerBuilder.java | 1 - .../org/capnproto/InitFromPointerBuilder.java | 5 ++++ .../InitSizedFromPointerBuilder.java | 5 ++++ .../main/java/org/capnproto/ListFactory.java | 1 + .../src/main/java/org/capnproto/ListList.java | 8 +++--- .../java/org/capnproto/MessageBuilder.java | 4 +-- .../java/org/capnproto/MessageReader.java | 4 +-- .../java/org/capnproto/PointerBuilder.java | 13 ---------- .../java/org/capnproto/PointerReader.java | 16 ------------ .../java/org/capnproto/PrimitiveList.java | 16 ++++++------ .../java/org/capnproto/StructBuilder.java | 3 +-- .../java/org/capnproto/StructFactory.java | 20 +++++++++++++-- .../main/java/org/capnproto/StructList.java | 2 +- .../main/java/org/capnproto/StructReader.java | 7 +++--- .../src/main/java/org/capnproto/TextList.java | 2 +- .../test/scala/org/capnproto/LayoutTest.scala | 10 +++++--- 21 files changed, 78 insertions(+), 84 deletions(-) create mode 100644 runtime/src/main/java/org/capnproto/InitFromPointerBuilder.java create mode 100644 runtime/src/main/java/org/capnproto/InitSizedFromPointerBuilder.java diff --git a/compiler/src/main/cpp/capnpc-java.c++ b/compiler/src/main/cpp/capnpc-java.c++ index b900380..8011546 100644 --- a/compiler/src/main/cpp/capnpc-java.c++ +++ b/compiler/src/main/cpp/capnpc-java.c++ @@ -981,17 +981,16 @@ private: spaces(indent), " public ", type, ".Reader get", titleCase, "() {\n", unionDiscrim.check, - spaces(indent), " return ", - "_getPointerField(", offset,").getStruct(", type, ".factory,", defaultParams, ");\n", + spaces(indent), " return ", type, ".factory.fromPointerReader(", + "_getPointerField(", offset,"),", defaultParams, ");\n", spaces(indent), " }\n", "\n"), kj::strTree( kj::mv(unionDiscrim.builderIsDecl), spaces(indent), " public final ", type, ".Builder get", titleCase, "() {\n", unionDiscrim.check, - spaces(indent), " return ", - "_getPointerField(", offset, ").getStruct(", - type, ".factory,", defaultParams,");\n", + spaces(indent), " return ", type, ".factory.fromPointerBuilder(" + "_getPointerField(", offset, "),", defaultParams,");\n", spaces(indent), " }\n", spaces(indent), " public final void set", titleCase, "(", type, ".Reader value) {\n", unionDiscrim.set, @@ -999,9 +998,8 @@ private: spaces(indent), " }\n", spaces(indent), " public final ", type, ".Builder init", titleCase, "() {\n", unionDiscrim.set, - spaces(indent), " return ", - "_getPointerField(", offset, ").initStruct(", - type, ".factory", ");\n", + spaces(indent), " return ", type, ".factory.initFromPointerBuilder(", + "_getPointerField(", offset, "));\n", spaces(indent), " }\n"), }; @@ -1094,7 +1092,7 @@ private: spaces(indent), " public final ", builderClass, " init", titleCase, "(int size) {\n", - spaces(indent), " return (", listFactory, ").initFromPointerBuilder(_getPointerField(", offset, "), size);\n", + spaces(indent), " return (", listFactory, ").initSizedFromPointerBuilder(_getPointerField(", offset, "), size);\n", spaces(indent), " }\n"), }; } else { @@ -1187,7 +1185,7 @@ private: ",(short)", structNode.getPointerCount(), ", org.capnproto.FieldSize.", FIELD_SIZE_NAMES[(int)structNode.getPreferredListEncoding()], ");\n"), - spaces(indent), " public static class Factory implements org.capnproto.StructFactory {\n", + spaces(indent), " public static class Factory extends org.capnproto.StructFactory {\n", spaces(indent), " public final Reader constructReader(org.capnproto.SegmentReader segment, int data,", "int pointers, int dataSize, short pointerCount, byte bit0Offset, int nestingLimit) {\n", @@ -1303,10 +1301,9 @@ private: true, kj::strTree(spaces(indent), "public static final ", typeName_, ".Reader ", upperCase, " =\n", - spaces(indent), " ", + spaces(indent), " ", typeName_, ".factory.fromPointerReader" "(new org.capnproto.PointerReader(Schemas.b_", - kj::hex(proto.getId()), ",", schema.getValueSchemaOffset(), ",0x7fffffff)).getStruct(", - typeName_, ".factory"");\n") + kj::hex(proto.getId()), ",", schema.getValueSchemaOffset(), ",0x7fffffff), null, 0);\n") }; } @@ -1319,7 +1316,7 @@ private: "public static final ", constType, ' ', upperCase, " =\n", spaces(indent), " (", "new org.capnproto.AnyPointer.Reader(new org.capnproto.PointerReader(Schemas.b_", - kj::hex(proto.getId()), ",", schema.getValueSchemaOffset(), ",0x7fffffff)).getAsList(", + kj::hex(proto.getId()), ",", schema.getValueSchemaOffset(), ",0x7fffffff)).getAs(", makeListFactoryArg(type), "));\n") }; } diff --git a/compiler/src/test/scala/org/capnproto/EncodingTest.scala b/compiler/src/test/scala/org/capnproto/EncodingTest.scala index 6e42aa2..cacb829 100644 --- a/compiler/src/test/scala/org/capnproto/EncodingTest.scala +++ b/compiler/src/test/scala/org/capnproto/EncodingTest.scala @@ -103,7 +103,7 @@ class EncodingSuite extends FunSuite { val oldReader = { - val oldVersion = root.getAnyPointerField().initAsStruct(TestOldVersion.factory); + val oldVersion = root.getAnyPointerField().initAs(TestOldVersion.factory); oldVersion.setOld1(123); oldVersion.setOld2("foo"); val sub = oldVersion.initOld3(); diff --git a/runtime/src/main/java/org/capnproto/AnyPointer.java b/runtime/src/main/java/org/capnproto/AnyPointer.java index a4e38aa..160cc6a 100644 --- a/runtime/src/main/java/org/capnproto/AnyPointer.java +++ b/runtime/src/main/java/org/capnproto/AnyPointer.java @@ -9,11 +9,7 @@ public final class AnyPointer { this.reader = reader; } - public final T getAsStruct(StructReader.Factory factory) { - return this.reader.getStruct(factory); - } - - public final T getAsList(FromPointerReader factory) { + public final T getAs(FromPointerReader factory) { return factory.fromPointerReader(this.reader, null, 0); } } @@ -25,8 +21,12 @@ public final class AnyPointer { this.builder = builder; } - public final T initAsStruct(StructBuilder.Factory factory) { - return this.builder.initStruct(factory); + public final T initAs(InitFromPointerBuilder factory) { + return factory.initFromPointerBuilder(this.builder); + } + + public final T initAs(InitSizedFromPointerBuilder factory, int elementCount) { + return factory.initSizedFromPointerBuilder(this.builder, elementCount); } public final void clear() { diff --git a/runtime/src/main/java/org/capnproto/DataList.java b/runtime/src/main/java/org/capnproto/DataList.java index 7224502..efbcbe9 100644 --- a/runtime/src/main/java/org/capnproto/DataList.java +++ b/runtime/src/main/java/org/capnproto/DataList.java @@ -36,7 +36,7 @@ public final class DataList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER); } } diff --git a/runtime/src/main/java/org/capnproto/EnumList.java b/runtime/src/main/java/org/capnproto/EnumList.java index 18f8e2b..583d4fd 100644 --- a/runtime/src/main/java/org/capnproto/EnumList.java +++ b/runtime/src/main/java/org/capnproto/EnumList.java @@ -50,7 +50,7 @@ public class EnumList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.TWO_BYTES); } } diff --git a/runtime/src/main/java/org/capnproto/FromPointerBuilder.java b/runtime/src/main/java/org/capnproto/FromPointerBuilder.java index 8369334..dc1ac03 100644 --- a/runtime/src/main/java/org/capnproto/FromPointerBuilder.java +++ b/runtime/src/main/java/org/capnproto/FromPointerBuilder.java @@ -2,5 +2,4 @@ package org.capnproto; public interface FromPointerBuilder { T fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset); - T initFromPointerBuilder(PointerBuilder builder, int elementCount); } diff --git a/runtime/src/main/java/org/capnproto/InitFromPointerBuilder.java b/runtime/src/main/java/org/capnproto/InitFromPointerBuilder.java new file mode 100644 index 0000000..c5882f6 --- /dev/null +++ b/runtime/src/main/java/org/capnproto/InitFromPointerBuilder.java @@ -0,0 +1,5 @@ +package org.capnproto; + +public interface InitFromPointerBuilder { + T initFromPointerBuilder(PointerBuilder builder); +} diff --git a/runtime/src/main/java/org/capnproto/InitSizedFromPointerBuilder.java b/runtime/src/main/java/org/capnproto/InitSizedFromPointerBuilder.java new file mode 100644 index 0000000..cf18e75 --- /dev/null +++ b/runtime/src/main/java/org/capnproto/InitSizedFromPointerBuilder.java @@ -0,0 +1,5 @@ +package org.capnproto; + +public interface InitSizedFromPointerBuilder { + T initSizedFromPointerBuilder(PointerBuilder builder, int elementCount); +} diff --git a/runtime/src/main/java/org/capnproto/ListFactory.java b/runtime/src/main/java/org/capnproto/ListFactory.java index 85cedea..f8f9380 100644 --- a/runtime/src/main/java/org/capnproto/ListFactory.java +++ b/runtime/src/main/java/org/capnproto/ListFactory.java @@ -1,6 +1,7 @@ package org.capnproto; public interface ListFactory extends ListBuilder.Factory, FromPointerBuilder, + InitSizedFromPointerBuilder, ListReader.Factory, FromPointerReader { } diff --git a/runtime/src/main/java/org/capnproto/ListList.java b/runtime/src/main/java/org/capnproto/ListList.java index 7c9ace8..9eb28a6 100644 --- a/runtime/src/main/java/org/capnproto/ListList.java +++ b/runtime/src/main/java/org/capnproto/ListList.java @@ -44,7 +44,7 @@ public final class ListList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER); } @@ -70,9 +70,9 @@ public final class ListList { } public static final class Builder extends ListBuilder { - private final FromPointerBuilder factory; + private final ListFactory factory; - public Builder(FromPointerBuilder factory, + public Builder(ListFactory factory, SegmentBuilder segment, int ptr, int elementCount, int step, int structDataSize, short structPointerCount){ @@ -81,7 +81,7 @@ public final class ListList { } public final T init(int index, int size) { - return this.factory.initFromPointerBuilder(_getPointerElement(index), size); + return this.factory.initSizedFromPointerBuilder(_getPointerElement(index), size); } public final T get(int index) { diff --git a/runtime/src/main/java/org/capnproto/MessageBuilder.java b/runtime/src/main/java/org/capnproto/MessageBuilder.java index a4d0eb8..129001e 100644 --- a/runtime/src/main/java/org/capnproto/MessageBuilder.java +++ b/runtime/src/main/java/org/capnproto/MessageBuilder.java @@ -23,7 +23,7 @@ public final class MessageBuilder { throw new Error("unimplemented"); } - public T initRoot(StructBuilder.Factory factory) { + public T initRoot(InitFromPointerBuilder factory) { SegmentBuilder rootSegment = this.arena.segments.get(0); int location = rootSegment.allocate(1); if (location == SegmentBuilder.FAILED_ALLOCATION) { @@ -31,7 +31,7 @@ public final class MessageBuilder { } AnyPointer.Builder ptr = new AnyPointer.Builder(PointerBuilder.getRoot(rootSegment, location)); - return ptr.initAsStruct(factory); + return ptr.initAs(factory); } public final java.nio.ByteBuffer[] getSegmentsForOutput() { diff --git a/runtime/src/main/java/org/capnproto/MessageReader.java b/runtime/src/main/java/org/capnproto/MessageReader.java index 0ade469..0749beb 100644 --- a/runtime/src/main/java/org/capnproto/MessageReader.java +++ b/runtime/src/main/java/org/capnproto/MessageReader.java @@ -9,11 +9,11 @@ public final class MessageReader { this.arena = new ReaderArena(segmentSlices); } - public T getRoot(StructReader.Factory factory) { + public T getRoot(FromPointerReader factory) { SegmentReader segment = this.arena.tryGetSegment(0); PointerReader pointerReader = PointerReader.getRoot(segment, 0, 0x7fffffff /* XXX */); AnyPointer.Reader any = new AnyPointer.Reader(pointerReader); - return any.getAsStruct(factory); + return any.getAs(factory); } } diff --git a/runtime/src/main/java/org/capnproto/PointerBuilder.java b/runtime/src/main/java/org/capnproto/PointerBuilder.java index 1cc2c83..a981a6e 100644 --- a/runtime/src/main/java/org/capnproto/PointerBuilder.java +++ b/runtime/src/main/java/org/capnproto/PointerBuilder.java @@ -18,15 +18,6 @@ public final class PointerBuilder { } - public final T getStruct(StructBuilder.Factory factory) { - return WireHelpers.getWritableStructPointer(factory, this.pointer, this.segment, factory.structSize(), null, 0); - } - - public final T getStruct(StructBuilder.Factory factory, SegmentReader defaultReader, int defaultOffset) { - return WireHelpers.getWritableStructPointer(factory, this.pointer, this.segment, factory.structSize(), - defaultReader, defaultOffset); - } - public final Text.Builder getText() { return WireHelpers.getWritableTextPointer( this.pointer, this.segment, null, 0, 0); @@ -54,10 +45,6 @@ public final class PointerBuilder { defaultSize); } - public final T initStruct(StructBuilder.Factory factory) { - return WireHelpers.initStructPointer(factory, this.pointer, this.segment, factory.structSize()); - } - public final Text.Builder initText(int size) { return WireHelpers.initTextPointer(this.pointer, this.segment, size); } diff --git a/runtime/src/main/java/org/capnproto/PointerReader.java b/runtime/src/main/java/org/capnproto/PointerReader.java index 1e1d1f7..8a84f3e 100644 --- a/runtime/src/main/java/org/capnproto/PointerReader.java +++ b/runtime/src/main/java/org/capnproto/PointerReader.java @@ -28,22 +28,6 @@ public final class PointerReader { return this.segment.buffer.getLong(this.pointer) == 0; } - public T getStruct(StructReader.Factory factory) { - return WireHelpers.readStructPointer(factory, - this.segment, - this.pointer, - null, 0, - this.nestingLimit); - } - - public T getStruct(StructReader.Factory factory, SegmentReader defaultSegment, int defaultOffset) { - return WireHelpers.readStructPointer(factory, - this.segment, - this.pointer, - defaultSegment, defaultOffset, - this.nestingLimit); - } - public Text.Reader getText() { return WireHelpers.readTextPointer(this.segment, this.pointer, null, 0, 0); } diff --git a/runtime/src/main/java/org/capnproto/PrimitiveList.java b/runtime/src/main/java/org/capnproto/PrimitiveList.java index 90b33ef..43a63a1 100644 --- a/runtime/src/main/java/org/capnproto/PrimitiveList.java +++ b/runtime/src/main/java/org/capnproto/PrimitiveList.java @@ -37,7 +37,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.VOID); } } @@ -102,7 +102,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.BIT); } } @@ -175,7 +175,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.BYTE); } } @@ -249,7 +249,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.TWO_BYTES); } } @@ -323,7 +323,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.FOUR_BYTES); } } @@ -397,7 +397,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.FOUR_BYTES); } @@ -472,7 +472,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.EIGHT_BYTES); } } @@ -545,7 +545,7 @@ public class PrimitiveList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.EIGHT_BYTES); } } diff --git a/runtime/src/main/java/org/capnproto/StructBuilder.java b/runtime/src/main/java/org/capnproto/StructBuilder.java index 8b24772..4406b38 100644 --- a/runtime/src/main/java/org/capnproto/StructBuilder.java +++ b/runtime/src/main/java/org/capnproto/StructBuilder.java @@ -1,10 +1,9 @@ package org.capnproto; public class StructBuilder { - public interface Factory { T constructBuilder(SegmentBuilder segment, int data, int pointers, int dataSize, - short pointerCount, byte bit0Offset); + short pointerCount, byte bit0Offset); StructSize structSize(); } diff --git a/runtime/src/main/java/org/capnproto/StructFactory.java b/runtime/src/main/java/org/capnproto/StructFactory.java index ba2d760..c9c754a 100644 --- a/runtime/src/main/java/org/capnproto/StructFactory.java +++ b/runtime/src/main/java/org/capnproto/StructFactory.java @@ -1,5 +1,21 @@ package org.capnproto; -public interface StructFactory extends StructBuilder.Factory, StructReader.Factory{ - public Reader asReader(Builder builder); +public abstract class StructFactory implements FromPointerBuilder, StructBuilder.Factory, + InitFromPointerBuilder, + FromPointerReader, StructReader.Factory { + public Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) { + return WireHelpers.getWritableStructPointer(this, builder.pointer, builder.segment, this.structSize(), + defaultSegment, defaultOffset); + } + public Builder initFromPointerBuilder(PointerBuilder builder) { + return WireHelpers.initStructPointer(this, builder.pointer, builder.segment, this.structSize()); + } + public Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) { + return WireHelpers.readStructPointer(this, + reader.segment, + reader.pointer, + defaultSegment, defaultOffset, + reader.nestingLimit); + } + public abstract Reader asReader(Builder builder); } diff --git a/runtime/src/main/java/org/capnproto/StructList.java b/runtime/src/main/java/org/capnproto/StructList.java index 7a3adaa..99946fa 100644 --- a/runtime/src/main/java/org/capnproto/StructList.java +++ b/runtime/src/main/java/org/capnproto/StructList.java @@ -45,7 +45,7 @@ public final class StructList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initStructListPointer(this, builder.pointer, builder.segment, elementCount, factory.structSize()); } diff --git a/runtime/src/main/java/org/capnproto/StructReader.java b/runtime/src/main/java/org/capnproto/StructReader.java index 7a1a775..8874426 100644 --- a/runtime/src/main/java/org/capnproto/StructReader.java +++ b/runtime/src/main/java/org/capnproto/StructReader.java @@ -1,11 +1,10 @@ package org.capnproto; - public class StructReader { public interface Factory { - T constructReader(SegmentReader segment, int data, int pointers, - int dataSize, short pointerCount, - byte bit0Offset, int nestingLimit); + abstract T constructReader(SegmentReader segment, int data, int pointers, + int dataSize, short pointerCount, + byte bit0Offset, int nestingLimit); } protected final SegmentReader segment; diff --git a/runtime/src/main/java/org/capnproto/TextList.java b/runtime/src/main/java/org/capnproto/TextList.java index 0e25bd2..57dd58a 100644 --- a/runtime/src/main/java/org/capnproto/TextList.java +++ b/runtime/src/main/java/org/capnproto/TextList.java @@ -36,7 +36,7 @@ public final class TextList { defaultOffset); } - public final Builder initFromPointerBuilder(PointerBuilder builder, int elementCount) { + public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) { return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER); } diff --git a/runtime/src/test/scala/org/capnproto/LayoutTest.scala b/runtime/src/test/scala/org/capnproto/LayoutTest.scala index 2fffe16..9da3a99 100644 --- a/runtime/src/test/scala/org/capnproto/LayoutTest.scala +++ b/runtime/src/test/scala/org/capnproto/LayoutTest.scala @@ -12,7 +12,6 @@ class LayoutSuite extends FunSuite { } } - test("SimpleRawDataStruct") { val data : Array[Byte] = Array(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, @@ -24,7 +23,10 @@ class LayoutSuite extends FunSuite { val arena = new ReaderArena(Array(buffer)); val pointerReader = new PointerReader(arena.tryGetSegment(0), 0, 0x7fffffff); - val reader = pointerReader.getStruct(new BareStructReader()); + + val reader = WireHelpers.readStructPointer(new BareStructReader(), + pointerReader.segment, + pointerReader.pointer, null, 0, 0x7fffffff); assert(reader._getLongField(0) === 0xefcdab8967452301L); assert(reader._getLongField(1) === 0L); @@ -117,9 +119,9 @@ class LayoutSuite extends FunSuite { new SegmentBuilder(buffer, new BuilderArena(BuilderArena.SUGGESTED_FIRST_SEGMENT_WORDS, BuilderArena.SUGGESTED_ALLOCATION_STRATEGY)), 0); - val builder = pointerBuilder.initStruct(new BareStructBuilder(new StructSize(2, 4, FieldSize.INLINE_COMPOSITE))); + val factory = new BareStructBuilder(new StructSize(2, 4, FieldSize.INLINE_COMPOSITE)); + val builder = WireHelpers.initStructPointer(factory, pointerBuilder.pointer, pointerBuilder.segment, factory.structSize()); setupStruct(builder); - checkStruct(builder); }