more
This commit is contained in:
parent
c3ac2bb786
commit
1d36fffae0
1 changed files with 10 additions and 24 deletions
|
@ -529,7 +529,8 @@ private:
|
||||||
|
|
||||||
DiscriminantChecks makeDiscriminantChecks(kj::StringPtr scope,
|
DiscriminantChecks makeDiscriminantChecks(kj::StringPtr scope,
|
||||||
kj::StringPtr memberName,
|
kj::StringPtr memberName,
|
||||||
StructSchema containingStruct) {
|
StructSchema containingStruct,
|
||||||
|
int indent) {
|
||||||
auto discrimOffset = containingStruct.getProto().getStruct().getDiscriminantOffset();
|
auto discrimOffset = containingStruct.getProto().getStruct().getDiscriminantOffset();
|
||||||
|
|
||||||
kj::String titleCase = toTitleCase(memberName);
|
kj::String titleCase = toTitleCase(memberName);
|
||||||
|
@ -545,8 +546,8 @@ private:
|
||||||
" _builder.setDataField<", scope, "Which>(\n"
|
" _builder.setDataField<", scope, "Which>(\n"
|
||||||
" ", discrimOffset, " * ::capnp::ELEMENTS, ",
|
" ", discrimOffset, " * ::capnp::ELEMENTS, ",
|
||||||
scope, upperCase, ");\n"),
|
scope, upperCase, ");\n"),
|
||||||
kj::strTree(" inline bool is", titleCase, "() const;\n"),
|
kj::strTree(spaces(indent), " public bool is", titleCase, "();\n"),
|
||||||
kj::strTree(" inline bool is", titleCase, "();\n"),
|
kj::strTree(spaces(indent), " public bool is", titleCase, "();\n"),
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
"inline bool ", scope, "Reader::is", titleCase, "() const {\n"
|
"inline bool ", scope, "Reader::is", titleCase, "() const {\n"
|
||||||
" return which() == ", scope, upperCase, ";\n"
|
" return which() == ", scope, upperCase, ";\n"
|
||||||
|
@ -581,7 +582,7 @@ private:
|
||||||
|
|
||||||
DiscriminantChecks unionDiscrim;
|
DiscriminantChecks unionDiscrim;
|
||||||
if (hasDiscriminantValue(proto)) {
|
if (hasDiscriminantValue(proto)) {
|
||||||
unionDiscrim = makeDiscriminantChecks(scope, proto.getName(), field.getContainingStruct());
|
unionDiscrim = makeDiscriminantChecks(scope, proto.getName(), field.getContainingStruct(), indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (proto.which()) {
|
switch (proto.which()) {
|
||||||
|
@ -1044,7 +1045,7 @@ private:
|
||||||
" struct ", name, ";\n"),
|
" struct ", name, ";\n"),
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
"public static class ", fullName, " {\n",
|
spaces(indent), "public static class ", fullName, " {\n",
|
||||||
kj::strTree(makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0,
|
kj::strTree(makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0,
|
||||||
KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); },
|
KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); },
|
||||||
indent + 1)),
|
indent + 1)),
|
||||||
|
@ -1059,7 +1060,7 @@ private:
|
||||||
},
|
},
|
||||||
" };\n"),
|
" };\n"),
|
||||||
KJ_MAP(n, nestedTypeDecls) { return kj::mv(n); },
|
KJ_MAP(n, nestedTypeDecls) { return kj::mv(n); },
|
||||||
"};\n"
|
spaces(indent), "};\n"
|
||||||
"\n"),
|
"\n"),
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
|
@ -1297,7 +1298,7 @@ private:
|
||||||
|
|
||||||
NodeTextNoSchema top = makeNodeTextWithoutNested(
|
NodeTextNoSchema top = makeNodeTextWithoutNested(
|
||||||
namespace_, scope, name, schema,
|
namespace_, scope, name, schema,
|
||||||
KJ_MAP(n, nestedTexts) { return kj::mv(n.outerTypeDecl); }, indent);
|
KJ_MAP(n, nestedTexts) { return kj::mv(n.outerTypeDef); }, indent);
|
||||||
|
|
||||||
return NodeText {
|
return NodeText {
|
||||||
kj::mv(top.outerTypeDecl),
|
kj::mv(top.outerTypeDecl),
|
||||||
|
@ -1526,27 +1527,12 @@ private:
|
||||||
KJ_MAP(n, nodeTexts) { return kj::mv(n.outerTypeDef); },
|
KJ_MAP(n, nodeTexts) { return kj::mv(n.outerTypeDef); },
|
||||||
KJ_MAP(n, namespaceParts) { return kj::strTree("} // namespace\n"); }, "\n",
|
KJ_MAP(n, namespaceParts) { return kj::strTree("} // namespace\n"); }, "\n",
|
||||||
|
|
||||||
separator, "\n"
|
|
||||||
"namespace capnp {\n"
|
|
||||||
"namespace schemas {\n"
|
|
||||||
"\n",
|
|
||||||
KJ_MAP(n, nodeTexts) { return kj::mv(n.capnpSchemaDecls); },
|
|
||||||
"\n"
|
|
||||||
"} // namespace schemas\n"
|
|
||||||
"namespace _ { // private\n"
|
|
||||||
"\n",
|
|
||||||
KJ_MAP(n, nodeTexts) { return kj::mv(n.capnpPrivateDecls); },
|
|
||||||
"\n"
|
|
||||||
"} // namespace _ (private)\n"
|
|
||||||
"} // namespace capnp\n"
|
|
||||||
|
|
||||||
"\n", separator, "\n",
|
"\n", separator, "\n",
|
||||||
KJ_MAP(n, namespaceParts) { return kj::strTree("namespace ", n, " {\n"); }, "\n",
|
KJ_MAP(n, namespaceParts) { return kj::strTree("namespace ", n, " {\n"); }, "\n",
|
||||||
KJ_MAP(n, nodeTexts) { return kj::mv(n.readerBuilderDefs); },
|
KJ_MAP(n, nodeTexts) { return kj::mv(n.readerBuilderDefs); },
|
||||||
separator, "\n",
|
separator, "\n",
|
||||||
KJ_MAP(n, nodeTexts) { return kj::mv(n.inlineMethodDefs); },
|
KJ_MAP(n, nodeTexts) { return kj::mv(n.inlineMethodDefs); },
|
||||||
KJ_MAP(n, namespaceParts) { return kj::strTree("} // namespace\n"); }, "\n",
|
KJ_MAP(n, namespaceParts) { return kj::strTree("} // namespace\n"); }, "\n"),
|
||||||
"#endif // CAPNP_INCLUDED_", kj::hex(node.getId()), "_\n"),
|
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
"// Generated by Cap'n Proto compiler, DO NOT EDIT\n"
|
"// Generated by Cap'n Proto compiler, DO NOT EDIT\n"
|
||||||
|
|
Loading…
Reference in a new issue