fewer type parameters
This commit is contained in:
parent
b771c3baa4
commit
2da0d65423
1 changed files with 23 additions and 7 deletions
|
@ -1119,7 +1119,14 @@ private:
|
||||||
|
|
||||||
kj::StringTree readerTypeParamsTree;
|
kj::StringTree readerTypeParamsTree;
|
||||||
kj::StringTree builderTypeParamsTree;
|
kj::StringTree builderTypeParamsTree;
|
||||||
|
kj::StringTree factoryTypeParamsTree;
|
||||||
if (hasTypeParams) {
|
if (hasTypeParams) {
|
||||||
|
builderTypeParamsTree = kj::strTree(
|
||||||
|
"<",
|
||||||
|
kj::StringTree(KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(p, "_Builder");
|
||||||
|
}, ", "),
|
||||||
|
">");
|
||||||
readerTypeParamsTree = kj::strTree(
|
readerTypeParamsTree = kj::strTree(
|
||||||
"<",
|
"<",
|
||||||
kj::StringTree(KJ_MAP(p, typeParamVec) {
|
kj::StringTree(KJ_MAP(p, typeParamVec) {
|
||||||
|
@ -1127,7 +1134,7 @@ private:
|
||||||
}, ", "),
|
}, ", "),
|
||||||
">");
|
">");
|
||||||
|
|
||||||
builderTypeParamsTree = kj::strTree(
|
factoryTypeParamsTree = kj::strTree(
|
||||||
"<",
|
"<",
|
||||||
kj::StringTree(KJ_MAP(p, typeParamVec) {
|
kj::StringTree(KJ_MAP(p, typeParamVec) {
|
||||||
return kj::strTree(p, "_Builder, ", p, "_Reader");
|
return kj::strTree(p, "_Builder, ", p, "_Reader");
|
||||||
|
@ -1136,6 +1143,7 @@ private:
|
||||||
}
|
}
|
||||||
kj::String readerTypeParams = readerTypeParamsTree.flatten();
|
kj::String readerTypeParams = readerTypeParamsTree.flatten();
|
||||||
kj::String builderTypeParams = builderTypeParamsTree.flatten();
|
kj::String builderTypeParams = builderTypeParamsTree.flatten();
|
||||||
|
kj::String factoryTypeParams = factoryTypeParamsTree.flatten();
|
||||||
|
|
||||||
kj::StringTree factoryArgs = kj::StringTree(KJ_MAP(p, typeParamVec) {
|
kj::StringTree factoryArgs = kj::StringTree(KJ_MAP(p, typeParamVec) {
|
||||||
return kj::strTree("org.capnproto.PointerFactory<", p, "_Builder, ", p, "_Reader> ", p, "_Factory");
|
return kj::strTree("org.capnproto.PointerFactory<", p, "_Builder, ", p, "_Reader> ", p, "_Factory");
|
||||||
|
@ -1153,7 +1161,7 @@ private:
|
||||||
" new org.capnproto.StructSize((short)", structNode.getDataWordCount(),
|
" new org.capnproto.StructSize((short)", structNode.getDataWordCount(),
|
||||||
",(short)", structNode.getPointerCount(), ");\n"),
|
",(short)", structNode.getPointerCount(), ");\n"),
|
||||||
|
|
||||||
spaces(indent), " public static final class Factory", builderTypeParams,
|
spaces(indent), " public static final class Factory", factoryTypeParams,
|
||||||
" 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(",
|
||||||
|
@ -1185,7 +1193,9 @@ private:
|
||||||
spaces(indent), " return ", fullName, ".STRUCT_SIZE;\n",
|
spaces(indent), " return ", fullName, ".STRUCT_SIZE;\n",
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
spaces(indent), " public final Reader", readerTypeParams, " asReader(Builder", builderTypeParams, " builder) {\n",
|
spaces(indent), " public final Reader", readerTypeParams, " asReader(Builder", builderTypeParams, " builder) {\n",
|
||||||
spaces(indent), " return builder.asReader();\n",
|
spaces(indent), " return builder.asReader(",
|
||||||
|
(hasTypeParams ? kj::strTree("this") : kj::strTree()),
|
||||||
|
");\n",
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
|
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
|
@ -1197,10 +1207,12 @@ private:
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
spaces(indent+1), "public static final class Builder", builderTypeParams, " extends org.capnproto.StructBuilder {\n",
|
spaces(indent+1), "public static final class Builder", builderTypeParams, " extends org.capnproto.StructBuilder {\n",
|
||||||
factoryMembers.flatten(),
|
kj::strTree(KJ_MAP(p, typeParamVec) {
|
||||||
|
return kj::strTree(spaces(indent), " final org.capnproto.FromPointerBuilder<", p, "_Builder> ", p, "_Factory;\n");
|
||||||
|
}),
|
||||||
spaces(indent+1), " Builder(",
|
spaces(indent+1), " Builder(",
|
||||||
KJ_MAP(p, typeParamVec) {
|
KJ_MAP(p, typeParamVec) {
|
||||||
return kj::strTree("org.capnproto.PointerFactory<", p, "_Builder, ", p, "_Reader> ", p, "_Factory,");
|
return kj::strTree("org.capnproto.FromPointerBuilder<", p, "_Builder> ", p, "_Factory,");
|
||||||
},
|
},
|
||||||
"org.capnproto.SegmentBuilder segment, int data, int pointers,",
|
"org.capnproto.SegmentBuilder segment, int data, int pointers,",
|
||||||
"int dataSize, short pointerCount){\n",
|
"int dataSize, short pointerCount){\n",
|
||||||
|
@ -1210,10 +1222,14 @@ 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 ", readerTypeParams, "Reader", readerTypeParams, " asReader(",
|
||||||
|
(!hasTypeParams ? kj::strTree() :
|
||||||
|
kj::strTree(name, ".Factory", factoryTypeParams, " factory")
|
||||||
|
),
|
||||||
|
") {\n",
|
||||||
spaces(indent+1), " return new Reader", readerTypeParams, "(",
|
spaces(indent+1), " return new Reader", readerTypeParams, "(",
|
||||||
KJ_MAP(p, typeParamVec) {
|
KJ_MAP(p, typeParamVec) {
|
||||||
return kj::strTree(p, "_Factory, ");
|
return kj::strTree("factory.", p, "_Factory, ");
|
||||||
},
|
},
|
||||||
"segment, data, pointers, dataSize, pointerCount, 0x7fffffff);\n",
|
"segment, data, pointers, dataSize, pointerCount, 0x7fffffff);\n",
|
||||||
spaces(indent+1), " }\n",
|
spaces(indent+1), " }\n",
|
||||||
|
|
Loading…
Reference in a new issue