drat, this doesn't quite work
This commit is contained in:
parent
3d8537521c
commit
a578dd1332
3 changed files with 25 additions and 6 deletions
|
@ -370,9 +370,16 @@ private:
|
||||||
}
|
}
|
||||||
KJ_UNREACHABLE;
|
KJ_UNREACHABLE;
|
||||||
}
|
}
|
||||||
case schema::Type::ANY_POINTER:
|
case schema::Type::ANY_POINTER: {
|
||||||
// Not used.
|
KJ_IF_MAYBE(brandParam, type.getBrandParameter()) {
|
||||||
return kj::strTree();
|
return
|
||||||
|
kj::strTree(schemaLoader.get(brandParam->scopeId).getProto().getParameters()[brandParam->index].getName(),
|
||||||
|
"_", kj::hex(brandParam->scopeId), "_", suffix);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return kj::strTree("org.capnproto.AnyPointer.", suffix);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
KJ_UNREACHABLE;
|
KJ_UNREACHABLE;
|
||||||
}
|
}
|
||||||
|
@ -721,6 +728,16 @@ private:
|
||||||
case schema::Type::DATA : {
|
case schema::Type::DATA : {
|
||||||
return kj::str("org.capnproto.Data.factory");
|
return kj::str("org.capnproto.Data.factory");
|
||||||
}
|
}
|
||||||
|
case schema::Type::ANY_POINTER : {
|
||||||
|
KJ_IF_MAYBE(brandParam, type.getBrandParameter()) {
|
||||||
|
return
|
||||||
|
kj::str(schemaLoader.get(brandParam->scopeId).getProto().getParameters()[brandParam->index].getName(),
|
||||||
|
"_", kj::hex(brandParam->scopeId), "_Factory");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return kj::str("org.capnproto.AnyPointer.factory");
|
||||||
|
}
|
||||||
|
}
|
||||||
case schema::Type::STRUCT : {
|
case schema::Type::STRUCT : {
|
||||||
auto structSchema = type.asStruct();
|
auto structSchema = type.asStruct();
|
||||||
auto node = structSchema.getProto();
|
auto node = structSchema.getProto();
|
||||||
|
@ -1530,14 +1547,14 @@ private:
|
||||||
kj::Vector<NodeText> nestedTexts(proto.getNestedNodes().size());
|
kj::Vector<NodeText> nestedTexts(proto.getNestedNodes().size());
|
||||||
for (auto nested: proto.getNestedNodes()) {
|
for (auto nested: proto.getNestedNodes()) {
|
||||||
nestedTexts.add(makeNodeText(
|
nestedTexts.add(makeNodeText(
|
||||||
subScope, nested.getName(), schemaLoader.get(nested.getId()), indent + 1));
|
subScope, nested.getName(), schemaLoader.getUnbound(nested.getId()), indent + 1));
|
||||||
};
|
};
|
||||||
|
|
||||||
if (proto.isStruct()) {
|
if (proto.isStruct()) {
|
||||||
for (auto field: proto.getStruct().getFields()) {
|
for (auto field: proto.getStruct().getFields()) {
|
||||||
if (field.isGroup()) {
|
if (field.isGroup()) {
|
||||||
nestedTexts.add(makeNodeText(subScope, toTitleCase(field.getName()),
|
nestedTexts.add(makeNodeText(subScope, toTitleCase(field.getName()),
|
||||||
schemaLoader.get(field.getGroup().getTypeId()), indent + 1));
|
schemaLoader.getUnbound(field.getGroup().getTypeId()), indent + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (proto.isInterface()) {
|
} else if (proto.isInterface()) {
|
||||||
|
@ -1769,7 +1786,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
auto nodeTexts = KJ_MAP(nested, node.getNestedNodes()) {
|
auto nodeTexts = KJ_MAP(nested, node.getNestedNodes()) {
|
||||||
return makeNodeText("", nested.getName(), schemaLoader.get(nested.getId()), 1);
|
return makeNodeText("", nested.getName(), schemaLoader.getUnbound(nested.getId()), 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
kj::String separator = kj::str("// ", kj::repeat('=', 87), "\n");
|
kj::String separator = kj::str("// ", kj::repeat('=', 87), "\n");
|
||||||
|
|
|
@ -325,6 +325,7 @@ struct TestNewVersion {
|
||||||
struct TestGenerics(Foo, Bar) {
|
struct TestGenerics(Foo, Bar) {
|
||||||
foo @0 :Foo;
|
foo @0 :Foo;
|
||||||
rev @1 :TestGenerics(Text, List(UInt8));
|
rev @1 :TestGenerics(Text, List(UInt8));
|
||||||
|
# dub @2 :TestGenerics(Foo, Bar);
|
||||||
|
|
||||||
# struct Inner {
|
# struct Inner {
|
||||||
# foo @0 :Foo;
|
# foo @0 :Foo;
|
||||||
|
|
|
@ -35,6 +35,7 @@ public final class AnyPointer {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static final Factory factory = new Factory();
|
||||||
|
|
||||||
public final static class Reader {
|
public final static class Reader {
|
||||||
final SegmentReader segment;
|
final SegmentReader segment;
|
||||||
|
|
Loading…
Reference in a new issue