some cleanup
This commit is contained in:
parent
f0839b314e
commit
8cc6584d02
2 changed files with 43 additions and 41 deletions
|
@ -174,9 +174,9 @@ kj::String safeIdentifier(kj::StringPtr identifier) {
|
||||||
|
|
||||||
// =======================================================================================
|
// =======================================================================================
|
||||||
|
|
||||||
class CapnpcCppMain {
|
class CapnpcJavaMain {
|
||||||
public:
|
public:
|
||||||
CapnpcCppMain(kj::ProcessContext& context): context(context) {}
|
CapnpcJavaMain(kj::ProcessContext& context): context(context) {}
|
||||||
|
|
||||||
kj::MainFunc getMain() {
|
kj::MainFunc getMain() {
|
||||||
return kj::MainBuilder(context, "Cap'n Proto loopback plugin version " VERSION,
|
return kj::MainBuilder(context, "Cap'n Proto loopback plugin version " VERSION,
|
||||||
|
@ -270,9 +270,11 @@ private:
|
||||||
return javaFullName(schemaLoader.get(type.getInterface().getTypeId()));
|
return javaFullName(schemaLoader.get(type.getInterface().getTypeId()));
|
||||||
|
|
||||||
case schema::Type::LIST:
|
case schema::Type::LIST:
|
||||||
|
{
|
||||||
|
auto elemenType = type.getList().getElementType();
|
||||||
// XXX
|
// XXX
|
||||||
return kj::strTree(" org.capnproto.StructList");
|
return kj::strTree(" org.capnproto.StructList");
|
||||||
|
}
|
||||||
case schema::Type::ANY_POINTER:
|
case schema::Type::ANY_POINTER:
|
||||||
// Not used.
|
// Not used.
|
||||||
return kj::strTree();
|
return kj::strTree();
|
||||||
|
@ -1019,8 +1021,7 @@ private:
|
||||||
|
|
||||||
spaces(indent), " public final ", type, ".Reader<", elementReaderType, ">",
|
spaces(indent), " public final ", type, ".Reader<", elementReaderType, ">",
|
||||||
" get", titleCase, "() {\n",
|
" get", titleCase, "() {\n",
|
||||||
spaces(indent), " return new ", type, ".Reader<",
|
spaces(indent), " return new ", type, ".Reader<", elementReaderType, ">(\n",
|
||||||
elementReaderType, ">(\n",
|
|
||||||
spaces(indent), " ", elementReaderType, ".factory,\n",
|
spaces(indent), " ", elementReaderType, ".factory,\n",
|
||||||
spaces(indent), " _reader.getPointerField(", offset, ").getList(",
|
spaces(indent), " _reader.getPointerField(", offset, ").getList(",
|
||||||
// XXX what about lists of non-structs?
|
// XXX what about lists of non-structs?
|
||||||
|
@ -1196,45 +1197,44 @@ private:
|
||||||
structNode.getPointerCount();
|
structNode.getPointerCount();
|
||||||
|
|
||||||
return StructText {
|
return StructText {
|
||||||
|
kj::strTree(" struct ", name, ";\n"),
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
" struct ", name, ";\n"),
|
spaces(indent), "public static class ", name, " {\n",
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
spaces(indent), "public static class ", name, " {\n",
|
spaces(indent), " public static final org.capnproto.StructSize STRUCT_SIZE =\n",
|
||||||
kj::strTree(
|
spaces(indent), " new org.capnproto.StructSize((short)", structNode.getDataWordCount(),
|
||||||
spaces(indent), " public static final org.capnproto.StructSize STRUCT_SIZE =\n",
|
",(short)", structNode.getPointerCount(),
|
||||||
spaces(indent), " new org.capnproto.StructSize((short)", structNode.getDataWordCount(),
|
", org.capnproto.FieldSize.", FIELD_SIZE_NAMES[(int)structNode.getPreferredListEncoding()], ");\n"),
|
||||||
",(short)", structNode.getPointerCount(),
|
|
||||||
", org.capnproto.FieldSize.", FIELD_SIZE_NAMES[(int)structNode.getPreferredListEncoding()], ");\n"),
|
|
||||||
|
|
||||||
kj::strTree(makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0,
|
kj::strTree(makeReaderDef(fullName, name, structNode.getDiscriminantCount() != 0,
|
||||||
structNode.getDiscriminantOffset(),
|
structNode.getDiscriminantOffset(),
|
||||||
KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); },
|
KJ_MAP(f, fieldTexts) { return kj::mv(f.readerMethodDecls); },
|
||||||
indent + 1),
|
indent + 1),
|
||||||
makeBuilderDef(fullName, name, structNode,
|
makeBuilderDef(fullName, name, structNode,
|
||||||
KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); },
|
KJ_MAP(f, fieldTexts) { return kj::mv(f.builderMethodDecls); },
|
||||||
indent + 1)),
|
indent + 1)),
|
||||||
|
|
||||||
structNode.getDiscriminantCount() == 0 ?
|
structNode.getDiscriminantCount() == 0 ?
|
||||||
kj::strTree() :
|
kj::strTree() :
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
spaces(indent), " public enum Which {\n",
|
spaces(indent), " public enum Which {\n",
|
||||||
KJ_MAP(f, structNode.getFields()) {
|
KJ_MAP(f, structNode.getFields()) {
|
||||||
if (hasDiscriminantValue(f)) {
|
if (hasDiscriminantValue(f)) {
|
||||||
return kj::strTree(spaces(indent), " ", toUpperCase(f.getName()), ",\n");
|
return kj::strTree(spaces(indent), " ", toUpperCase(f.getName()), ",\n");
|
||||||
} else {
|
} else {
|
||||||
return kj::strTree();
|
return kj::strTree();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
spaces(indent), " }\n"),
|
spaces(indent), " }\n"),
|
||||||
KJ_MAP(n, nestedTypeDecls) { return kj::mv(n); },
|
KJ_MAP(n, nestedTypeDecls) { return kj::mv(n); },
|
||||||
spaces(indent), "}\n"
|
spaces(indent), "}\n"
|
||||||
"\n",
|
"\n",
|
||||||
"\n"),
|
"\n"),
|
||||||
|
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
kj::strTree()
|
kj::strTree()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1572,10 +1572,8 @@ private:
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
|
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
|
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1718,4 +1716,4 @@ private:
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace capnp
|
} // namespace capnp
|
||||||
|
|
||||||
KJ_MAIN(capnp::CapnpcCppMain);
|
KJ_MAIN(capnp::CapnpcJavaMain);
|
||||||
|
|
|
@ -32,6 +32,10 @@ struct TestAllTypes {
|
||||||
dataField @13 : Data;
|
dataField @13 : Data;
|
||||||
structField @14 : TestAllTypes;
|
structField @14 : TestAllTypes;
|
||||||
enumField @15 : TestEnum;
|
enumField @15 : TestEnum;
|
||||||
|
interfaceField @16 : Void; # TODO
|
||||||
|
|
||||||
|
# voidList @17 : List(Void);
|
||||||
|
# boolList @18 : List(Bool);
|
||||||
# ...
|
# ...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue