fill in a bit
This commit is contained in:
parent
89ea97a401
commit
3aefbb76e0
2 changed files with 19 additions and 9 deletions
|
@ -37,13 +37,12 @@ public final class StructList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
|
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
|
||||||
throw new Error();
|
return WireHelpers.getWritableStructListPointer(this,
|
||||||
/* return WireHelpers.getWritableStructListPointer(this,
|
|
||||||
builder.pointer,
|
builder.pointer,
|
||||||
builder.segment,
|
builder.segment,
|
||||||
FieldSize.POINTER,
|
factory.structSize(),
|
||||||
defaultSegment,
|
defaultSegment,
|
||||||
defaultOffset,0); */
|
defaultOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder,
|
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder,
|
||||||
|
|
|
@ -296,6 +296,15 @@ final class WireHelpers {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static <T> T getWritableStructListPointer(FromPointerBuilder<T> factory,
|
||||||
|
int origRefOffset,
|
||||||
|
SegmentBuilder origSegment,
|
||||||
|
StructSize elementSize,
|
||||||
|
SegmentReader defaultSegment,
|
||||||
|
int defaultOffset) {
|
||||||
|
throw new Error("getWritableStructListPointer is unimplemented");
|
||||||
|
}
|
||||||
|
|
||||||
// size is in bytes
|
// size is in bytes
|
||||||
static Text.Builder initTextPointer(int refOffset,
|
static Text.Builder initTextPointer(int refOffset,
|
||||||
SegmentBuilder segment,
|
SegmentBuilder segment,
|
||||||
|
@ -435,9 +444,11 @@ final class WireHelpers {
|
||||||
long ref = WirePointer.get(segment.buffer, refOffset);
|
long ref = WirePointer.get(segment.buffer, refOffset);
|
||||||
if (WirePointer.isNull(ref)) {
|
if (WirePointer.isNull(ref)) {
|
||||||
if (defaultSegment == null) {
|
if (defaultSegment == null) {
|
||||||
throw new Error();//return new StructReader();
|
return factory.fromStructReader(SegmentReader.EMPTY, 0, 0, 0, (short) 0, (byte) 0, 0x7fffffff);
|
||||||
} else {
|
} else {
|
||||||
return (new PointerReader(defaultSegment, defaultOffset, 0x7fffffff)).getStruct(factory);
|
segment = defaultSegment;
|
||||||
|
refOffset = defaultOffset;
|
||||||
|
ref = WirePointer.get(segment.buffer, refOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue