generate init methods for AnyPointer fields
This commit is contained in:
parent
811286806d
commit
6ce41d20bd
2 changed files with 14 additions and 21 deletions
|
@ -898,20 +898,19 @@ private:
|
||||||
spaces(indent), " return new org.capnproto.AnyPointer.Builder(_builder.getPointerField(",
|
spaces(indent), " return new org.capnproto.AnyPointer.Builder(_builder.getPointerField(",
|
||||||
offset, "));\n",
|
offset, "));\n",
|
||||||
spaces(indent), " }\n",
|
spaces(indent), " }\n",
|
||||||
//" inline ::capnp::AnyPointer::Builder init", titleCase, "();\n"
|
|
||||||
|
spaces(indent), " public org.capnproto.AnyPointer.Builder init", titleCase, "() {\n",
|
||||||
|
unionDiscrim.set,
|
||||||
|
spaces(indent), " org.capnproto.AnyPointer.Builder result =\n",
|
||||||
|
spaces(indent), " new org.capnproto.AnyPointer.Builder(_builder.getPointerField(",
|
||||||
|
offset, "));\n",
|
||||||
|
spaces(indent), " result.clear();\n",
|
||||||
|
spaces(indent), " return result;\n",
|
||||||
|
spaces(indent), " }\n",
|
||||||
"\n"),
|
"\n"),
|
||||||
|
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
|
kj::strTree()
|
||||||
kj::strTree(
|
|
||||||
"inline ::capnp::AnyPointer::Builder ", scope, "Builder::init", titleCase, "() {\n",
|
|
||||||
unionDiscrim.set,
|
|
||||||
" auto result = ::capnp::AnyPointer::Builder(\n"
|
|
||||||
" _builder.getPointerField(", offset, " * ::capnp::POINTERS));\n"
|
|
||||||
" result.clear();\n"
|
|
||||||
" return result;\n"
|
|
||||||
"}\n"
|
|
||||||
"\n")
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} else if (kind == FieldKind::STRUCT) {
|
} else if (kind == FieldKind::STRUCT) {
|
||||||
|
@ -1189,16 +1188,6 @@ private:
|
||||||
|
|
||||||
kj::strTree(
|
kj::strTree(
|
||||||
kj::mv(unionDiscrim.isDefs),
|
kj::mv(unionDiscrim.isDefs),
|
||||||
"inline ", type, "::Reader ", scope, "Reader::get", titleCase, "() const {\n",
|
|
||||||
unionDiscrim.check,
|
|
||||||
" return ::capnp::_::PointerHelpers<", type, ">::get(\n"
|
|
||||||
" _reader.getPointerField(", offset, " * ::capnp::POINTERS)", defaultParam, ");\n"
|
|
||||||
"}\n"
|
|
||||||
"inline ", type, "::Builder ", scope, "Builder::get", titleCase, "() {\n",
|
|
||||||
unionDiscrim.check,
|
|
||||||
" return ::capnp::_::PointerHelpers<", type, ">::get(\n"
|
|
||||||
" _builder.getPointerField(", offset, " * ::capnp::POINTERS)", defaultParam, ");\n"
|
|
||||||
"}\n",
|
|
||||||
kind == FieldKind::STRUCT && !hasDiscriminantValue(proto)
|
kind == FieldKind::STRUCT && !hasDiscriminantValue(proto)
|
||||||
? kj::strTree(
|
? kj::strTree(
|
||||||
"inline ", type, "::Pipeline ", scope, "Pipeline::get", titleCase, "() {\n",
|
"inline ", type, "::Pipeline ", scope, "Pipeline::get", titleCase, "() {\n",
|
||||||
|
|
|
@ -24,6 +24,10 @@ public final class AnyPointer {
|
||||||
public final <T> T initAsStruct(FromStructBuilder<T> factory) {
|
public final <T> T initAsStruct(FromStructBuilder<T> factory) {
|
||||||
return factory.fromStructBuilder(this.builder.initStruct(factory.structSize()));
|
return factory.fromStructBuilder(this.builder.initStruct(factory.structSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final void clear() {
|
||||||
|
this.builder.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue