update typeName and javaFullName to take capnp::Type

This commit is contained in:
David Renshaw 2014-10-28 13:17:02 -04:00
parent 4870faf255
commit 6403f605aa

View file

@ -251,7 +251,7 @@ private:
return kj::mv(result);
}
kj::StringTree typeName(schema::Type::Reader type, kj::String suffix = nullptr) {
kj::StringTree typeName(capnp::Type type, kj::String suffix = nullptr) {
switch (type.which()) {
case schema::Type::VOID: return kj::strTree("org.capnproto.Void");
@ -270,16 +270,15 @@ private:
case schema::Type::TEXT: return kj::strTree(" org.capnproto.Text", suffix);
case schema::Type::DATA: return kj::strTree(" org.capnproto.Data", suffix);
case schema::Type::ENUM:
return javaFullName(schemaLoader.get(type.getEnum().getTypeId()));
case schema::Type::ENUM: return javaFullName(type.asEnum());
case schema::Type::STRUCT:
return kj::strTree(javaFullName(schemaLoader.get(type.getStruct().getTypeId())), suffix);
return kj::strTree(javaFullName(type.asStruct()), suffix);
case schema::Type::INTERFACE:
return javaFullName(schemaLoader.get(type.getInterface().getTypeId()));
return javaFullName(type.asInterface());
case schema::Type::LIST:
{
auto elementType = type.getList().getElementType();
auto elementType = type.asList().getElementType();
switch (elementType.which()) {
case schema::Type::VOID:
return kj::strTree(" org.capnproto.PrimitiveList.Void", suffix);
@ -669,8 +668,8 @@ private:
);
}
kj::String makeListFactoryArg(schema::Type::Reader type) {
auto elementType = type.getList().getElementType();
kj::String makeListFactoryArg(capnp::Type type) {
auto elementType = type.asList().getElementType();
switch (elementType.which()) {
case schema::Type::STRUCT:
return kj::str(typeName(elementType, kj::str(".listFactory")));
@ -753,7 +752,7 @@ private:
FieldKind kind = FieldKind::PRIMITIVE;
kj::String ownedType;
kj::String type = typeName(slot.getType(), kj::str("")).flatten();
kj::String type = typeName(field.getType(), kj::str("")).flatten();
kj::StringPtr setterDefault; // only for void
kj::String defaultMask; // primitives only
size_t defaultOffset = 0; // pointers only: offset of the default value within the schema.
@ -1075,9 +1074,9 @@ private:
kj::String defaultParams = defaultOffset == 0 ? kj::str("null, 0") : kj::str(
"Schemas.b_", kj::hex(typeId), ", ", defaultOffset);
kj::String listFactory = makeListFactoryArg(typeBody);
kj::String readerClass = kj::str(typeName(typeBody, kj::str(".Reader")));
kj::String builderClass = kj::str(typeName(typeBody, kj::str(".Builder")));
kj::String listFactory = makeListFactoryArg(field.getType());
kj::String readerClass = kj::str(typeName(field.getType(), kj::str(".Reader")));
kj::String builderClass = kj::str(typeName(field.getType(), kj::str(".Builder")));
return FieldText {
kj::strTree(
@ -1336,7 +1335,7 @@ private:
ConstText makeConstText(kj::StringPtr scope, kj::StringPtr name, ConstSchema schema, int indent) {
auto proto = schema.getProto();
auto constProto = proto.getConst();
auto type = constProto.getType();
auto type = schema.getType();
auto typeName_ = typeName(type).flatten();
auto upperCase = toUpperCase(name);