reader factories
This commit is contained in:
parent
7405e3171f
commit
b771c3baa4
1 changed files with 22 additions and 6 deletions
|
@ -1142,7 +1142,7 @@ private:
|
||||||
}, ", ");
|
}, ", ");
|
||||||
|
|
||||||
kj::StringTree factoryMembers = kj::strTree(KJ_MAP(p, typeParamVec) {
|
kj::StringTree factoryMembers = kj::strTree(KJ_MAP(p, typeParamVec) {
|
||||||
return kj::strTree(spaces(indent), " org.capnproto.PointerFactory<", p, "_Builder, ", p, "_Reader> ", p, "_Factory;\n");
|
return kj::strTree(spaces(indent), " final org.capnproto.PointerFactory<", p, "_Builder, ", p, "_Reader> ", p, "_Factory;\n");
|
||||||
});
|
});
|
||||||
|
|
||||||
return StructText {
|
return StructText {
|
||||||
|
@ -1155,9 +1155,7 @@ private:
|
||||||
|
|
||||||
spaces(indent), " public static final class Factory", builderTypeParams,
|
spaces(indent), " public static final class Factory", builderTypeParams,
|
||||||
" extends org.capnproto.StructFactory<Builder", builderTypeParams, ", Reader", readerTypeParams, "> {\n",
|
" extends org.capnproto.StructFactory<Builder", builderTypeParams, ", Reader", readerTypeParams, "> {\n",
|
||||||
|
|
||||||
factoryMembers.flatten(),
|
factoryMembers.flatten(),
|
||||||
|
|
||||||
spaces(indent), " public Factory(",
|
spaces(indent), " public Factory(",
|
||||||
factoryArgs.flatten(),
|
factoryArgs.flatten(),
|
||||||
") {\n",
|
") {\n",
|
||||||
|
@ -1169,7 +1167,11 @@ private:
|
||||||
spaces(indent),
|
spaces(indent),
|
||||||
" public final Reader", readerTypeParams, " constructReader(org.capnproto.SegmentReader segment, int data,",
|
" public final Reader", readerTypeParams, " constructReader(org.capnproto.SegmentReader segment, int data,",
|
||||||
"int pointers, int dataSize, short pointerCount, int nestingLimit) {\n",
|
"int pointers, int dataSize, short pointerCount, int nestingLimit) {\n",
|
||||||
spaces(indent), " return new Reader", readerTypeParams, "(segment,data,pointers,dataSize,pointerCount,nestingLimit);\n",
|
spaces(indent), " return new Reader", readerTypeParams, "(",
|
||||||
|
KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(p, "_Factory, ");
|
||||||
|
},
|
||||||
|
"segment,data,pointers,dataSize,pointerCount,nestingLimit);\n",
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
spaces(indent), " public final Builder", builderTypeParams, " constructBuilder(org.capnproto.SegmentBuilder segment, int data,",
|
spaces(indent), " public final Builder", builderTypeParams, " constructBuilder(org.capnproto.SegmentBuilder segment, int data,",
|
||||||
"int pointers, int dataSize, short pointerCount) {\n",
|
"int pointers, int dataSize, short pointerCount) {\n",
|
||||||
|
@ -1209,7 +1211,11 @@ private:
|
||||||
spaces(indent+1), " }\n",
|
spaces(indent+1), " }\n",
|
||||||
makeWhich(schema, indent+2),
|
makeWhich(schema, indent+2),
|
||||||
spaces(indent+1), " public final Reader", readerTypeParams, " asReader() {\n",
|
spaces(indent+1), " public final Reader", readerTypeParams, " asReader() {\n",
|
||||||
spaces(indent+1), " return new Reader", readerTypeParams, "(segment, data, pointers, dataSize, pointerCount, 0x7fffffff);\n",
|
spaces(indent+1), " return new Reader", readerTypeParams, "(",
|
||||||
|
KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(p, "_Factory, ");
|
||||||
|
},
|
||||||
|
"segment, data, pointers, dataSize, pointerCount, 0x7fffffff);\n",
|
||||||
spaces(indent+1), " }\n",
|
spaces(indent+1), " }\n",
|
||||||
KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); },
|
KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); },
|
||||||
spaces(indent+1), "}\n",
|
spaces(indent+1), "}\n",
|
||||||
|
@ -1217,9 +1223,19 @@ private:
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
spaces(indent+1), "public static final class Reader", readerTypeParams, " extends org.capnproto.StructReader {\n",
|
spaces(indent+1), "public static final class Reader", readerTypeParams, " extends org.capnproto.StructReader {\n",
|
||||||
spaces(indent+1), " Reader(org.capnproto.SegmentReader segment, int data, int pointers,",
|
KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(spaces(indent), " final org.capnproto.FromPointerReader<", p, "_Reader> ", p, "_Factory;\n");
|
||||||
|
},
|
||||||
|
spaces(indent+1), " Reader(",
|
||||||
|
KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree("org.capnproto.FromPointerReader<", p, "_Reader> ", p, "_Factory,");
|
||||||
|
},
|
||||||
|
"org.capnproto.SegmentReader segment, int data, int pointers,",
|
||||||
"int dataSize, short pointerCount, int nestingLimit){\n",
|
"int dataSize, short pointerCount, int nestingLimit){\n",
|
||||||
spaces(indent+1), " super(segment, data, pointers, dataSize, pointerCount, nestingLimit);\n",
|
spaces(indent+1), " super(segment, data, pointers, dataSize, pointerCount, nestingLimit);\n",
|
||||||
|
KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(spaces(indent), " this.", p, "_Factory = ", p, "_Factory;\n");
|
||||||
|
},
|
||||||
spaces(indent+1), " }\n",
|
spaces(indent+1), " }\n",
|
||||||
"\n",
|
"\n",
|
||||||
makeWhich(schema, indent+2),
|
makeWhich(schema, indent+2),
|
||||||
|
|
Loading…
Reference in a new issue