From fb296d1e8625926f0545925e9248f5d1089e2526 Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Sat, 10 May 2014 16:42:59 -0400 Subject: [PATCH] shuffling things --- src/compiler/capnpc-java.c++ | 64 +++++------------------------------- 1 file changed, 8 insertions(+), 56 deletions(-) diff --git a/src/compiler/capnpc-java.c++ b/src/compiler/capnpc-java.c++ index b0db83c..bb141e5 100644 --- a/src/compiler/capnpc-java.c++ +++ b/src/compiler/capnpc-java.c++ @@ -1066,12 +1066,8 @@ private: kj::StringTree makeReaderDef(kj::StringPtr fullName, kj::StringPtr unqualifiedParentType, bool isUnion, kj::Array&& methodDecls) { return kj::strTree( - "class ", fullName, "::Reader {\n" - "public:\n" - " typedef ", unqualifiedParentType, " Reads;\n" - "\n" - " Reader() = default;\n" - " inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}\n" + "public static class Reader {\n" + " public Reader(::capnp::_::StructReader base): _reader(base) {}\n" "\n" " inline ::capnp::MessageSize totalSize() const {\n" " return _reader.totalSize().asPublic();\n" @@ -1087,14 +1083,7 @@ private: " friend struct ::capnp::_::PointerHelpers;\n" " template \n" " friend struct ::capnp::List;\n" - " friend class ::capnp::MessageBuilder;\n" - " friend class ::capnp::Orphanage;\n" - " friend ::kj::StringTree KJ_STRINGIFY(", fullName, "::Reader reader);\n" "};\n" - "\n" - "inline ::kj::StringTree KJ_STRINGIFY(", fullName, "::Reader reader) {\n" - " return ::capnp::_::structString<", fullName, ">(reader._reader);\n" - "}\n" "\n"); } @@ -1102,12 +1091,6 @@ private: bool isUnion, kj::Array&& methodDecls) { return kj::strTree( "class ", fullName, "::Builder {\n" - "public:\n" - " typedef ", unqualifiedParentType, " Builds;\n" - "\n" - " Builder() = delete; // Deleted to discourage incorrect usage.\n" - " // You can explicitly initialize to nullptr instead.\n" - " inline Builder(decltype(nullptr)) {}\n" " inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}\n" " inline operator Reader() const { return Reader(_builder.asReader()); }\n" " inline Reader asReader() const { return *this; }\n" @@ -1116,36 +1099,6 @@ private: "\n", isUnion ? kj::strTree(" inline Which which();\n") : kj::strTree(), kj::mv(methodDecls), - "private:\n" - " ::capnp::_::StructBuilder _builder;\n" - " template \n" - " friend struct ::capnp::ToDynamic_;\n" - " friend class ::capnp::Orphanage;\n" - " friend ::kj::StringTree KJ_STRINGIFY(", fullName, "::Builder builder);\n" - "};\n" - "\n" - "inline ::kj::StringTree KJ_STRINGIFY(", fullName, "::Builder builder) {\n" - " return ::capnp::_::structString<", fullName, ">(builder._builder.asReader());\n" - "}\n" - "\n"); - } - - kj::StringTree makePipelineDef(kj::StringPtr fullName, kj::StringPtr unqualifiedParentType, - bool isUnion, kj::Array&& methodDecls) { - return kj::strTree( - "class ", fullName, "::Pipeline {\n" - "public:\n" - " typedef ", unqualifiedParentType, " Pipelines;\n" - "\n" - " inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}\n" - " inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)\n" - " : _typeless(kj::mv(typeless)) {}\n" - "\n", - kj::mv(methodDecls), - "private:\n" - " ::capnp::AnyPointer::Pipeline _typeless;\n" - " template \n" - " friend struct ::capnp::ToDynamic_;\n" "};\n" "\n"); } @@ -1164,8 +1117,10 @@ private: kj::strTree( " struct ", name, ";\n"), - kj::strTree( + kj::strTree( "public static class ", fullName, " {\n", + kj::strTree(makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0, + KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); })), " class Reader;\n" " class Builder;\n" " class Pipeline;\n", @@ -1184,12 +1139,9 @@ private: "\n"), kj::strTree( - makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0, - KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); }), + makeBuilderDef(fullName, name, structNode.getDiscriminantCount() != 0, - KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); }), - makePipelineDef(fullName, name, structNode.getDiscriminantCount() != 0, - KJ_MAP(f, fieldTexts) { return kj::mv(f.pipelineMethodDecls); })), + KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); })), kj::strTree( structNode.getDiscriminantCount() == 0 ? kj::strTree() : kj::strTree( @@ -1630,7 +1582,7 @@ private: "// Generated by Cap'n Proto compiler, DO NOT EDIT\n" "// source: ", baseName(displayName), "\n" "\n" - "//#include \n", + "import capnp;\n", hasInterfaces ? kj::strTree("#include \n") : kj::strTree(), "\n" "\n",