towards builder pointer defaults

This commit is contained in:
David Renshaw 2014-10-06 15:06:56 -04:00
parent 195d688970
commit f84e1fa430
9 changed files with 33 additions and 32 deletions

View file

@ -1081,7 +1081,8 @@ private:
spaces(indent), " public final ", builderClass,
" get", titleCase, "() {\n",
spaces(indent), " return (", listFactory, ").fromPointerBuilder(_builder.getPointerField(", offset, "));\n",
spaces(indent), " return (", listFactory, ").fromPointerBuilder(_builder.getPointerField(", offset, "),",
defaultParams, ");\n",
spaces(indent), " }\n",
spaces(indent), " public final void set", titleCase, "(", readerClass, " value) {\n",

View file

@ -6,8 +6,8 @@ public final class DataList {
return new Reader(reader.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.POINTER));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {

View file

@ -20,8 +20,8 @@ public class EnumList {
return new Reader<T>(values, reader.getList(FieldSize.TWO_BYTES, defaultSegment, defaultOffset));
}
public final Builder<T> fromPointerBuilder(PointerBuilder builder) {
return new Builder<T>(values, builder.getList(FieldSize.TWO_BYTES));
public final Builder<T> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder<T>(values, builder.getList(FieldSize.TWO_BYTES, defaultSegment, defaultOffset));
}
public final Builder<T> initFromPointerBuilder(PointerBuilder builder, int size) {

View file

@ -1,6 +1,6 @@
package org.capnproto;
public interface FromPointerBuilder<T> {
T fromPointerBuilder(PointerBuilder builder);
T fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset);
T initFromPointerBuilder(PointerBuilder value, int size);
}

View file

@ -14,8 +14,8 @@ public final class ListList {
return new Reader<ElementReader>(factory, reader.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder) {
return new Builder<ElementBuilder>(factory, builder.getList(FieldSize.POINTER));
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder<ElementBuilder>(factory, builder.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder, int size) {
@ -61,7 +61,7 @@ public final class ListList {
}
public final T get(int index) {
return this.factory.fromPointerBuilder(this.builder.getPointerElement(index));
return this.factory.fromPointerBuilder(this.builder.getPointerElement(index), null, 0);
}
}
}

View file

@ -25,11 +25,11 @@ public final class PointerBuilder {
return WireHelpers.getWritableStructPointer(this.pointer, this.segment, size, defaultBuffer, defaultOffset);
}
public final ListBuilder getList(byte elementSize) {
public final ListBuilder getList(byte elementSize, SegmentReader defaultBuffer, int defaultOffset) {
return WireHelpers.getWritableListPointer(this.pointer, this.segment, elementSize);
}
public final ListBuilder getStructList(StructSize elementSize) {
public final ListBuilder getStructList(StructSize elementSize, SegmentReader defaultSegment, int defaultOffset) {
throw new Error("unimplemented");
}

View file

@ -7,8 +7,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.VOID, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.VOID));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.VOID, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -54,8 +54,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.BIT, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.BIT));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.BIT, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -107,8 +107,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.BYTE, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.BYTE));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.BYTE, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -161,8 +161,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.TWO_BYTES, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.TWO_BYTES));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.TWO_BYTES, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -215,8 +215,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.FOUR_BYTES, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.FOUR_BYTES));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.FOUR_BYTES, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -268,8 +268,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.FOUR_BYTES, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.FOUR_BYTES));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.FOUR_BYTES, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -319,11 +319,11 @@ public class PrimitiveList {
public static class Long {
public static final class Factory implements ListFactory<Builder, Reader> {
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return new Reader(reader.getList(FieldSize.EIGHT_BYTES));
return new Reader(reader.getList(FieldSize.EIGHT_BYTES, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.EIGHT_BYTES));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.EIGHT_BYTES, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {
@ -375,8 +375,8 @@ public class PrimitiveList {
return new Reader(reader.getList(FieldSize.EIGHT_BYTES, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.EIGHT_BYTES));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.EIGHT_BYTES, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {

View file

@ -14,8 +14,8 @@ public final class StructList {
return new Reader<ElementReader>(factory, reader.getList(FieldSize.INLINE_COMPOSITE, defaultSegment, defaultOffset));
}
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder) {
return new Builder<ElementBuilder>(factory, builder.getStructList(this.factory.structSize()));
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder<ElementBuilder>(factory, builder.getStructList(this.factory.structSize(), defaultSegment, defaultOffset));
}
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder, int size) {

View file

@ -6,8 +6,8 @@ public final class TextList {
return new Reader(reader.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder fromPointerBuilder(PointerBuilder builder) {
return new Builder(builder.getList(FieldSize.POINTER));
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return new Builder(builder.getList(FieldSize.POINTER, defaultSegment, defaultOffset));
}
public final Builder initFromPointerBuilder(PointerBuilder builder, int size) {