some simplification
This commit is contained in:
parent
80e1471323
commit
f9dbcc3a53
2 changed files with 11 additions and 27 deletions
|
@ -701,7 +701,11 @@ private:
|
||||||
typeName(elementType, kj::str(".Reader")), ">(",
|
typeName(elementType, kj::str(".Reader")), ">(",
|
||||||
typeName(elementType, kj::str("")), ".factory)");
|
typeName(elementType, kj::str("")), ".factory)");
|
||||||
case schema::Type::LIST:
|
case schema::Type::LIST:
|
||||||
return makeListListFactoryArg(elementType);
|
return kj::str("new org.capnproto.ListList.Factory<",
|
||||||
|
typeName(elementType, kj::str(".Builder")),", ",
|
||||||
|
typeName(elementType, kj::str(".Reader")), ">(",
|
||||||
|
makeListListFactoryArg(elementType),
|
||||||
|
")");
|
||||||
case schema::Type::ENUM:
|
case schema::Type::ENUM:
|
||||||
return kj::str("new org.capnproto.EnumList.Factory<",
|
return kj::str("new org.capnproto.EnumList.Factory<",
|
||||||
typeName(elementType), ">(",
|
typeName(elementType), ">(",
|
||||||
|
@ -1049,8 +1053,7 @@ private:
|
||||||
",\n ::capnp::schemas::s_", kj::hex(typeId), ".encodedNode + ", defaultOffset,
|
",\n ::capnp::schemas::s_", kj::hex(typeId), ".encodedNode + ", defaultOffset,
|
||||||
defaultSize == 0 ? kj::strTree() : kj::strTree(", ", defaultSize));
|
defaultSize == 0 ? kj::strTree() : kj::strTree(", ", defaultSize));
|
||||||
|
|
||||||
kj::String builderFactoryArg = kj::str("");
|
kj::String listFactory = makeListFactoryArg(typeBody);
|
||||||
kj::String readerFactoryArg = kj::str("");
|
|
||||||
kj::String fieldSize;
|
kj::String fieldSize;
|
||||||
kj::String readerClass = kj::str(typeName(typeBody, kj::str(".Reader")));
|
kj::String readerClass = kj::str(typeName(typeBody, kj::str(".Reader")));
|
||||||
kj::String builderClass = kj::str(typeName(typeBody, kj::str(".Builder")));
|
kj::String builderClass = kj::str(typeName(typeBody, kj::str(".Builder")));
|
||||||
|
@ -1100,8 +1103,6 @@ private:
|
||||||
case schema::Type::ENUM:
|
case schema::Type::ENUM:
|
||||||
primitiveElement = true;
|
primitiveElement = true;
|
||||||
fieldSize = kj::str("org.capnproto.FieldSize.TWO_BYTES");
|
fieldSize = kj::str("org.capnproto.FieldSize.TWO_BYTES");
|
||||||
readerFactoryArg = kj::str(typeName(typeBody.getList().getElementType(), kj::str("")), ".values(), ");
|
|
||||||
builderFactoryArg = kj::str(typeName(typeBody.getList().getElementType(), nullptr), ".values(), ");
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case schema::Type::TEXT:
|
case schema::Type::TEXT:
|
||||||
|
@ -1115,8 +1116,6 @@ private:
|
||||||
case schema::Type::LIST:
|
case schema::Type::LIST:
|
||||||
primitiveElement = false;
|
primitiveElement = false;
|
||||||
fieldSize = kj::str("org.capnproto.FieldSize.POINTER");
|
fieldSize = kj::str("org.capnproto.FieldSize.POINTER");
|
||||||
readerFactoryArg = kj::str(makeListListFactoryArg(typeBody.getList().getElementType()), ", ");
|
|
||||||
builderFactoryArg = kj::str(readerFactoryArg);
|
|
||||||
break;
|
break;
|
||||||
case schema::Type::ANY_POINTER:
|
case schema::Type::ANY_POINTER:
|
||||||
primitiveElement = false;
|
primitiveElement = false;
|
||||||
|
@ -1132,8 +1131,6 @@ private:
|
||||||
isStructList = true;
|
isStructList = true;
|
||||||
isStructOrCapList = true;
|
isStructOrCapList = true;
|
||||||
primitiveElement = false;
|
primitiveElement = false;
|
||||||
readerFactoryArg = kj::str(typeName(typeBody.getList().getElementType()), ".factory, ");
|
|
||||||
builderFactoryArg = kj::str(typeName(typeBody.getList().getElementType()), ".factory, ");
|
|
||||||
fieldSize = kj::str(typeName(typeBody.getList().getElementType()),".STRUCT_SIZE.preferredListEncoding");
|
fieldSize = kj::str(typeName(typeBody.getList().getElementType()),".STRUCT_SIZE.preferredListEncoding");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1149,10 +1146,7 @@ private:
|
||||||
|
|
||||||
spaces(indent), " public final ", readerClass,
|
spaces(indent), " public final ", readerClass,
|
||||||
" get", titleCase, "() {\n",
|
" get", titleCase, "() {\n",
|
||||||
spaces(indent), " return new ", readerClass, "(\n",
|
spaces(indent), " return (", listFactory, ").fromPointerReader(_reader.getPointerField(", offset, "));\n",
|
||||||
spaces(indent), " ", readerFactoryArg, "_reader.getPointerField(", offset, ").getList(",
|
|
||||||
fieldSize, ")",
|
|
||||||
");\n",
|
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
"\n"),
|
"\n"),
|
||||||
|
|
||||||
|
@ -1164,12 +1158,7 @@ private:
|
||||||
|
|
||||||
spaces(indent), " public final ", builderClass,
|
spaces(indent), " public final ", builderClass,
|
||||||
" get", titleCase, "() {\n",
|
" get", titleCase, "() {\n",
|
||||||
spaces(indent), " return new ", builderClass, " (\n",
|
spaces(indent), " return (", listFactory, ").fromPointerBuilder(_builder.getPointerField(", offset, "));\n",
|
||||||
spaces(indent), " ", builderFactoryArg, "_builder.getPointerField(", offset, ").get",
|
|
||||||
(isStructList ?
|
|
||||||
kj::strTree("StructList(", typeName(typeBody.getList().getElementType()),".STRUCT_SIZE)") :
|
|
||||||
kj::strTree("List(", fieldSize, ")")),
|
|
||||||
");\n",
|
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
|
|
||||||
spaces(indent), " public final void set", titleCase, "(", readerClass, " value) {\n",
|
spaces(indent), " public final void set", titleCase, "(", readerClass, " value) {\n",
|
||||||
|
@ -1178,12 +1167,7 @@ private:
|
||||||
|
|
||||||
spaces(indent), " public final ", builderClass,
|
spaces(indent), " public final ", builderClass,
|
||||||
" init", titleCase, "(int size) {\n",
|
" init", titleCase, "(int size) {\n",
|
||||||
spaces(indent), " return new ", builderClass, "(\n",
|
spaces(indent), " return (", listFactory, ").initFromPointerBuilder(_builder.getPointerField(", offset, "), size);\n",
|
||||||
spaces(indent), " ", builderFactoryArg, "_builder.getPointerField(", offset, ").init",
|
|
||||||
(isStructList ?
|
|
||||||
kj::strTree("StructList(size,", typeName(typeBody.getList().getElementType()),".STRUCT_SIZE)") :
|
|
||||||
kj::strTree("List(", fieldSize, ", size)")),
|
|
||||||
");\n",
|
|
||||||
spaces(indent), " }\n"),
|
spaces(indent), " }\n"),
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -15,11 +15,11 @@ public final class StructList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder) {
|
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder) {
|
||||||
return new Builder<ElementBuilder>(factory, builder.getList(FieldSize.INLINE_COMPOSITE));
|
return new Builder<ElementBuilder>(factory, builder.getStructList(this.factory.structSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder, int size) {
|
public final Builder<ElementBuilder> initFromPointerBuilder(PointerBuilder builder, int size) {
|
||||||
return new Builder<ElementBuilder>(factory, builder.initList(FieldSize.INLINE_COMPOSITE, size));
|
return new Builder<ElementBuilder>(factory, builder.initStructList(size, this.factory.structSize()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue