@stryke/capnp
Version:
A package to assist in running the Cap'n Proto compiler and creating Cap'n Proto serialization protocol schemas.
1 lines • 121 kB
Source Map (JSON)
{"version":3,"file":"schema.mjs","names":["$.Struct","$.ObjectSize","$.getUint16Mask","$.CompositeList"],"sources":["../../schemas/schema.ts"],"sourcesContent":["/* eslint-disable */\n// biome-ignore lint: disable\n// Generated by storm-capnpc\n// Note: Do not edit this file manually - it will be overwritten automatically\nimport * as $ from \"@stryke/capnp\";\nexport const _capnpFileId = BigInt(\"0xa93fc509624c72d9\");\n/**\n* Information about one of the node's parameters.\n*\n*/\nexport class Node_Parameter extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"Parameter\",\n id: \"b9521bccf10fa3b1\",\n size: new $.ObjectSize(0, 1),\n };\n get name(): string {\n return $.utils.getText(0, this);\n }\n set name(value: string) {\n $.utils.setText(0, value, this);\n }\n public override toString(): string { return \"Node_Parameter_\" + super.toString(); }\n}\nexport class Node_NestedNode extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"NestedNode\",\n id: \"debf55bbfa0fc242\",\n size: new $.ObjectSize(8, 1),\n };\n /**\n* Unqualified symbol name. Unlike Node.displayName, this *can* be used programmatically.\n*\n* (On Zooko's triangle, this is the node's petname according to its parent scope.)\n*\n*/\n get name(): string {\n return $.utils.getText(0, this);\n }\n set name(value: string) {\n $.utils.setText(0, value, this);\n }\n /**\n* ID of the nested node. Typically, the target node's scopeId points back to this node, but\n* robust code should avoid relying on this.\n*\n*/\n get id(): bigint {\n return $.utils.getUint64(0, this);\n }\n set id(value: bigint) {\n $.utils.setUint64(0, value, this);\n }\n public override toString(): string { return \"Node_NestedNode_\" + super.toString(); }\n}\nexport class Node_SourceInfo_Member extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"Member\",\n id: \"c2ba9038898e1fa2\",\n size: new $.ObjectSize(0, 1),\n };\n /**\n* Doc comment on the member.\n*\n*/\n get docComment(): string {\n return $.utils.getText(0, this);\n }\n set docComment(value: string) {\n $.utils.setText(0, value, this);\n }\n public override toString(): string { return \"Node_SourceInfo_Member_\" + super.toString(); }\n}\n/**\n* Additional information about a node which is not needed at runtime, but may be useful for\n* documentation or debugging purposes. This is kept in a separate struct to make sure it\n* doesn't accidentally get included in contexts where it is not needed. The\n* `CodeGeneratorRequest` includes this information in a separate array.\n*\n*/\nexport class Node_SourceInfo extends $.Struct {\n static readonly Member = Node_SourceInfo_Member;\n public static override readonly _capnp = {\n displayName: \"SourceInfo\",\n id: \"f38e1de3041357ae\",\n size: new $.ObjectSize(8, 2),\n };\n static _Members: $.ListCtor<Node_SourceInfo_Member>;\n /**\n* ID of the Node which this info describes.\n*\n*/\n get id(): bigint {\n return $.utils.getUint64(0, this);\n }\n set id(value: bigint) {\n $.utils.setUint64(0, value, this);\n }\n /**\n* The top-level doc comment for the Node.\n*\n*/\n get docComment(): string {\n return $.utils.getText(0, this);\n }\n set docComment(value: string) {\n $.utils.setText(0, value, this);\n }\n _adoptMembers(value: $.Orphan<$.List<Node_SourceInfo_Member>>): void {\n $.utils.adopt(value, $.utils.getPointer(1, this));\n }\n _disownMembers(): $.Orphan<$.List<Node_SourceInfo_Member>> {\n return $.utils.disown(this.members);\n }\n /**\n* Information about each member -- i.e. fields (for structs), enumerants (for enums), or\n* methods (for interfaces).\n*\n* This list is the same length and order as the corresponding list in the Node, i.e.\n* Node.struct.fields, Node.enum.enumerants, or Node.interface.methods.\n*\n*/\n get members(): $.List<Node_SourceInfo_Member> {\n return $.utils.getList(1, Node_SourceInfo._Members, this);\n }\n _hasMembers(): boolean {\n return !$.utils.isNull($.utils.getPointer(1, this));\n }\n _initMembers(length: number): $.List<Node_SourceInfo_Member> {\n return $.utils.initList(1, Node_SourceInfo._Members, length, this);\n }\n set members(value: $.List<Node_SourceInfo_Member>) {\n $.utils.copyFrom(value, $.utils.getPointer(1, this));\n }\n public override toString(): string { return \"Node_SourceInfo_\" + super.toString(); }\n}\nexport class Node_Struct extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"struct\",\n id: \"9ea0b19b37fb4435\",\n size: new $.ObjectSize(40, 6),\n };\n static _Fields: $.ListCtor<Field>;\n /**\n* Size of the data section, in words.\n*\n*/\n get dataWordCount(): number {\n return $.utils.getUint16(14, this);\n }\n set dataWordCount(value: number) {\n $.utils.setUint16(14, value, this);\n }\n /**\n* Size of the pointer section, in pointers (which are one word each).\n*\n*/\n get pointerCount(): number {\n return $.utils.getUint16(24, this);\n }\n set pointerCount(value: number) {\n $.utils.setUint16(24, value, this);\n }\n /**\n* The preferred element size to use when encoding a list of this struct. If this is anything\n* other than `inlineComposite` then the struct is one word or less in size and is a candidate\n* for list packing optimization.\n*\n*/\n get preferredListEncoding(): ElementSize {\n return $.utils.getUint16(26, this) as ElementSize;\n }\n set preferredListEncoding(value: ElementSize) {\n $.utils.setUint16(26, value, this);\n }\n /**\n* If true, then this \"struct\" node is actually not an independent node, but merely represents\n* some named union or group within a particular parent struct. This node's scopeId refers\n* to the parent struct, which may itself be a union/group in yet another struct.\n*\n* All group nodes share the same dataWordCount and pointerCount as the top-level\n* struct, and their fields live in the same ordinal and offset spaces as all other fields in\n* the struct.\n*\n* Note that a named union is considered a special kind of group -- in fact, a named union\n* is exactly equivalent to a group that contains nothing but an unnamed union.\n*\n*/\n get isGroup(): boolean {\n return $.utils.getBit(224, this);\n }\n set isGroup(value: boolean) {\n $.utils.setBit(224, value, this);\n }\n /**\n* Number of fields in this struct which are members of an anonymous union, and thus may\n* overlap. If this is non-zero, then a 16-bit discriminant is present indicating which\n* of the overlapping fields is active. This can never be 1 -- if it is non-zero, it must be\n* two or more.\n*\n* Note that the fields of an unnamed union are considered fields of the scope containing the\n* union -- an unnamed union is not its own group. So, a top-level struct may contain a\n* non-zero discriminant count. Named unions, on the other hand, are equivalent to groups\n* containing unnamed unions. So, a named union has its own independent schema node, with\n* `isGroup` = true.\n*\n*/\n get discriminantCount(): number {\n return $.utils.getUint16(30, this);\n }\n set discriminantCount(value: number) {\n $.utils.setUint16(30, value, this);\n }\n /**\n* If `discriminantCount` is non-zero, this is the offset of the union discriminant, in\n* multiples of 16 bits.\n*\n*/\n get discriminantOffset(): number {\n return $.utils.getUint32(32, this);\n }\n set discriminantOffset(value: number) {\n $.utils.setUint32(32, value, this);\n }\n _adoptFields(value: $.Orphan<$.List<Field>>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownFields(): $.Orphan<$.List<Field>> {\n return $.utils.disown(this.fields);\n }\n /**\n* Fields defined within this scope (either the struct's top-level fields, or the fields of\n* a particular group; see `isGroup`).\n*\n* The fields are sorted by ordinal number, but note that because groups share the same\n* ordinal space, the field's index in this list is not necessarily exactly its ordinal.\n* On the other hand, the field's position in this list does remain the same even as the\n* protocol evolves, since it is not possible to insert or remove an earlier ordinal.\n* Therefore, for most use cases, if you want to identify a field by number, it may make the\n* most sense to use the field's index in this list rather than its ordinal.\n*\n*/\n get fields(): $.List<Field> {\n return $.utils.getList(3, Node_Struct._Fields, this);\n }\n _hasFields(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initFields(length: number): $.List<Field> {\n return $.utils.initList(3, Node_Struct._Fields, length, this);\n }\n set fields(value: $.List<Field>) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n public override toString(): string { return \"Node_Struct_\" + super.toString(); }\n}\nexport class Node_Enum extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"enum\",\n id: \"b54ab3364333f598\",\n size: new $.ObjectSize(40, 6),\n };\n static _Enumerants: $.ListCtor<Enumerant>;\n _adoptEnumerants(value: $.Orphan<$.List<Enumerant>>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownEnumerants(): $.Orphan<$.List<Enumerant>> {\n return $.utils.disown(this.enumerants);\n }\n /**\n* Enumerants ordered by numeric value (ordinal).\n*\n*/\n get enumerants(): $.List<Enumerant> {\n return $.utils.getList(3, Node_Enum._Enumerants, this);\n }\n _hasEnumerants(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initEnumerants(length: number): $.List<Enumerant> {\n return $.utils.initList(3, Node_Enum._Enumerants, length, this);\n }\n set enumerants(value: $.List<Enumerant>) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n public override toString(): string { return \"Node_Enum_\" + super.toString(); }\n}\nexport class Node_Interface extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"interface\",\n id: \"e82753cff0c2218f\",\n size: new $.ObjectSize(40, 6),\n };\n static _Methods: $.ListCtor<Method>;\n static _Superclasses: $.ListCtor<Superclass>;\n _adoptMethods(value: $.Orphan<$.List<Method>>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownMethods(): $.Orphan<$.List<Method>> {\n return $.utils.disown(this.methods);\n }\n /**\n* Methods ordered by ordinal.\n*\n*/\n get methods(): $.List<Method> {\n return $.utils.getList(3, Node_Interface._Methods, this);\n }\n _hasMethods(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initMethods(length: number): $.List<Method> {\n return $.utils.initList(3, Node_Interface._Methods, length, this);\n }\n set methods(value: $.List<Method>) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n _adoptSuperclasses(value: $.Orphan<$.List<Superclass>>): void {\n $.utils.adopt(value, $.utils.getPointer(4, this));\n }\n _disownSuperclasses(): $.Orphan<$.List<Superclass>> {\n return $.utils.disown(this.superclasses);\n }\n /**\n* Superclasses of this interface.\n*\n*/\n get superclasses(): $.List<Superclass> {\n return $.utils.getList(4, Node_Interface._Superclasses, this);\n }\n _hasSuperclasses(): boolean {\n return !$.utils.isNull($.utils.getPointer(4, this));\n }\n _initSuperclasses(length: number): $.List<Superclass> {\n return $.utils.initList(4, Node_Interface._Superclasses, length, this);\n }\n set superclasses(value: $.List<Superclass>) {\n $.utils.copyFrom(value, $.utils.getPointer(4, this));\n }\n public override toString(): string { return \"Node_Interface_\" + super.toString(); }\n}\nexport class Node_Const extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"const\",\n id: \"b18aa5ac7a0d9420\",\n size: new $.ObjectSize(40, 6),\n };\n _adoptType(value: $.Orphan<Type>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownType(): $.Orphan<Type> {\n return $.utils.disown(this.type);\n }\n get type(): Type {\n return $.utils.getStruct(3, Type, this);\n }\n _hasType(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initType(): Type {\n return $.utils.initStructAt(3, Type, this);\n }\n set type(value: Type) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n _adoptValue(value: $.Orphan<Value>): void {\n $.utils.adopt(value, $.utils.getPointer(4, this));\n }\n _disownValue(): $.Orphan<Value> {\n return $.utils.disown(this.value);\n }\n get value(): Value {\n return $.utils.getStruct(4, Value, this);\n }\n _hasValue(): boolean {\n return !$.utils.isNull($.utils.getPointer(4, this));\n }\n _initValue(): Value {\n return $.utils.initStructAt(4, Value, this);\n }\n set value(value: Value) {\n $.utils.copyFrom(value, $.utils.getPointer(4, this));\n }\n public override toString(): string { return \"Node_Const_\" + super.toString(); }\n}\nexport class Node_Annotation extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"annotation\",\n id: \"ec1619d4400a0290\",\n size: new $.ObjectSize(40, 6),\n };\n _adoptType(value: $.Orphan<Type>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownType(): $.Orphan<Type> {\n return $.utils.disown(this.type);\n }\n get type(): Type {\n return $.utils.getStruct(3, Type, this);\n }\n _hasType(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initType(): Type {\n return $.utils.initStructAt(3, Type, this);\n }\n set type(value: Type) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n get targetsFile(): boolean {\n return $.utils.getBit(112, this);\n }\n set targetsFile(value: boolean) {\n $.utils.setBit(112, value, this);\n }\n get targetsConst(): boolean {\n return $.utils.getBit(113, this);\n }\n set targetsConst(value: boolean) {\n $.utils.setBit(113, value, this);\n }\n get targetsEnum(): boolean {\n return $.utils.getBit(114, this);\n }\n set targetsEnum(value: boolean) {\n $.utils.setBit(114, value, this);\n }\n get targetsEnumerant(): boolean {\n return $.utils.getBit(115, this);\n }\n set targetsEnumerant(value: boolean) {\n $.utils.setBit(115, value, this);\n }\n get targetsStruct(): boolean {\n return $.utils.getBit(116, this);\n }\n set targetsStruct(value: boolean) {\n $.utils.setBit(116, value, this);\n }\n get targetsField(): boolean {\n return $.utils.getBit(117, this);\n }\n set targetsField(value: boolean) {\n $.utils.setBit(117, value, this);\n }\n get targetsUnion(): boolean {\n return $.utils.getBit(118, this);\n }\n set targetsUnion(value: boolean) {\n $.utils.setBit(118, value, this);\n }\n get targetsGroup(): boolean {\n return $.utils.getBit(119, this);\n }\n set targetsGroup(value: boolean) {\n $.utils.setBit(119, value, this);\n }\n get targetsInterface(): boolean {\n return $.utils.getBit(120, this);\n }\n set targetsInterface(value: boolean) {\n $.utils.setBit(120, value, this);\n }\n get targetsMethod(): boolean {\n return $.utils.getBit(121, this);\n }\n set targetsMethod(value: boolean) {\n $.utils.setBit(121, value, this);\n }\n get targetsParam(): boolean {\n return $.utils.getBit(122, this);\n }\n set targetsParam(value: boolean) {\n $.utils.setBit(122, value, this);\n }\n get targetsAnnotation(): boolean {\n return $.utils.getBit(123, this);\n }\n set targetsAnnotation(value: boolean) {\n $.utils.setBit(123, value, this);\n }\n public override toString(): string { return \"Node_Annotation_\" + super.toString(); }\n}\nexport const Node_Which = {\n FILE: 0,\n /**\n* Name to present to humans to identify this Node. You should not attempt to parse this. Its\n* format could change. It is not guaranteed to be unique.\n*\n* (On Zooko's triangle, this is the node's nickname.)\n*\n*/\n STRUCT: 1,\n /**\n* If you want a shorter version of `displayName` (just naming this node, without its surrounding\n* scope), chop off this many characters from the beginning of `displayName`.\n*\n*/\n ENUM: 2,\n /**\n* ID of the lexical parent node. Typically, the scope node will have a NestedNode pointing back\n* at this node, but robust code should avoid relying on this (and, in fact, group nodes are not\n* listed in the outer struct's nestedNodes, since they are listed in the fields). `scopeId` is\n* zero if the node has no parent, which is normally only the case with files, but should be\n* allowed for any kind of node (in order to make runtime type generation easier).\n*\n*/\n INTERFACE: 3,\n /**\n* List of nodes nested within this node, along with the names under which they were declared.\n*\n*/\n CONST: 4,\n /**\n* Annotations applied to this node.\n*\n*/\n ANNOTATION: 5\n} as const;\nexport type Node_Which = (typeof Node_Which)[keyof typeof Node_Which];\nexport class Node extends $.Struct {\n static readonly FILE = Node_Which.FILE;\n static readonly STRUCT = Node_Which.STRUCT;\n static readonly ENUM = Node_Which.ENUM;\n static readonly INTERFACE = Node_Which.INTERFACE;\n static readonly CONST = Node_Which.CONST;\n static readonly ANNOTATION = Node_Which.ANNOTATION;\n static readonly Parameter = Node_Parameter;\n static readonly NestedNode = Node_NestedNode;\n static readonly SourceInfo = Node_SourceInfo;\n public static override readonly _capnp = {\n displayName: \"Node\",\n id: \"e682ab4cf923a417\",\n size: new $.ObjectSize(40, 6),\n };\n static _Parameters: $.ListCtor<Node_Parameter>;\n static _NestedNodes: $.ListCtor<Node_NestedNode>;\n static _Annotations: $.ListCtor<Annotation>;\n get id(): bigint {\n return $.utils.getUint64(0, this);\n }\n set id(value: bigint) {\n $.utils.setUint64(0, value, this);\n }\n /**\n* Name to present to humans to identify this Node. You should not attempt to parse this. Its\n* format could change. It is not guaranteed to be unique.\n*\n* (On Zooko's triangle, this is the node's nickname.)\n*\n*/\n get displayName(): string {\n return $.utils.getText(0, this);\n }\n set displayName(value: string) {\n $.utils.setText(0, value, this);\n }\n /**\n* If you want a shorter version of `displayName` (just naming this node, without its surrounding\n* scope), chop off this many characters from the beginning of `displayName`.\n*\n*/\n get displayNamePrefixLength(): number {\n return $.utils.getUint32(8, this);\n }\n set displayNamePrefixLength(value: number) {\n $.utils.setUint32(8, value, this);\n }\n /**\n* ID of the lexical parent node. Typically, the scope node will have a NestedNode pointing back\n* at this node, but robust code should avoid relying on this (and, in fact, group nodes are not\n* listed in the outer struct's nestedNodes, since they are listed in the fields). `scopeId` is\n* zero if the node has no parent, which is normally only the case with files, but should be\n* allowed for any kind of node (in order to make runtime type generation easier).\n*\n*/\n get scopeId(): bigint {\n return $.utils.getUint64(16, this);\n }\n set scopeId(value: bigint) {\n $.utils.setUint64(16, value, this);\n }\n _adoptParameters(value: $.Orphan<$.List<Node_Parameter>>): void {\n $.utils.adopt(value, $.utils.getPointer(5, this));\n }\n _disownParameters(): $.Orphan<$.List<Node_Parameter>> {\n return $.utils.disown(this.parameters);\n }\n /**\n* If this node is parameterized (generic), the list of parameters. Empty for non-generic types.\n*\n*/\n get parameters(): $.List<Node_Parameter> {\n return $.utils.getList(5, Node._Parameters, this);\n }\n _hasParameters(): boolean {\n return !$.utils.isNull($.utils.getPointer(5, this));\n }\n _initParameters(length: number): $.List<Node_Parameter> {\n return $.utils.initList(5, Node._Parameters, length, this);\n }\n set parameters(value: $.List<Node_Parameter>) {\n $.utils.copyFrom(value, $.utils.getPointer(5, this));\n }\n /**\n* True if this node is generic, meaning that it or one of its parent scopes has a non-empty\n* `parameters`.\n*\n*/\n get isGeneric(): boolean {\n return $.utils.getBit(288, this);\n }\n set isGeneric(value: boolean) {\n $.utils.setBit(288, value, this);\n }\n _adoptNestedNodes(value: $.Orphan<$.List<Node_NestedNode>>): void {\n $.utils.adopt(value, $.utils.getPointer(1, this));\n }\n _disownNestedNodes(): $.Orphan<$.List<Node_NestedNode>> {\n return $.utils.disown(this.nestedNodes);\n }\n /**\n* List of nodes nested within this node, along with the names under which they were declared.\n*\n*/\n get nestedNodes(): $.List<Node_NestedNode> {\n return $.utils.getList(1, Node._NestedNodes, this);\n }\n _hasNestedNodes(): boolean {\n return !$.utils.isNull($.utils.getPointer(1, this));\n }\n _initNestedNodes(length: number): $.List<Node_NestedNode> {\n return $.utils.initList(1, Node._NestedNodes, length, this);\n }\n set nestedNodes(value: $.List<Node_NestedNode>) {\n $.utils.copyFrom(value, $.utils.getPointer(1, this));\n }\n _adoptAnnotations(value: $.Orphan<$.List<Annotation>>): void {\n $.utils.adopt(value, $.utils.getPointer(2, this));\n }\n _disownAnnotations(): $.Orphan<$.List<Annotation>> {\n return $.utils.disown(this.annotations);\n }\n /**\n* Annotations applied to this node.\n*\n*/\n get annotations(): $.List<Annotation> {\n return $.utils.getList(2, Node._Annotations, this);\n }\n _hasAnnotations(): boolean {\n return !$.utils.isNull($.utils.getPointer(2, this));\n }\n _initAnnotations(length: number): $.List<Annotation> {\n return $.utils.initList(2, Node._Annotations, length, this);\n }\n set annotations(value: $.List<Annotation>) {\n $.utils.copyFrom(value, $.utils.getPointer(2, this));\n }\n get _isFile(): boolean {\n return $.utils.getUint16(12, this) === 0;\n }\n set file(_: true) {\n $.utils.setUint16(12, 0, this);\n }\n get struct(): Node_Struct {\n $.utils.testWhich(\"struct\", $.utils.getUint16(12, this), 1, this);\n return $.utils.getAs(Node_Struct, this);\n }\n _initStruct(): Node_Struct {\n $.utils.setUint16(12, 1, this);\n return $.utils.getAs(Node_Struct, this);\n }\n get _isStruct(): boolean {\n return $.utils.getUint16(12, this) === 1;\n }\n set struct(_: true) {\n $.utils.setUint16(12, 1, this);\n }\n get enum(): Node_Enum {\n $.utils.testWhich(\"enum\", $.utils.getUint16(12, this), 2, this);\n return $.utils.getAs(Node_Enum, this);\n }\n _initEnum(): Node_Enum {\n $.utils.setUint16(12, 2, this);\n return $.utils.getAs(Node_Enum, this);\n }\n get _isEnum(): boolean {\n return $.utils.getUint16(12, this) === 2;\n }\n set enum(_: true) {\n $.utils.setUint16(12, 2, this);\n }\n get interface(): Node_Interface {\n $.utils.testWhich(\"interface\", $.utils.getUint16(12, this), 3, this);\n return $.utils.getAs(Node_Interface, this);\n }\n _initInterface(): Node_Interface {\n $.utils.setUint16(12, 3, this);\n return $.utils.getAs(Node_Interface, this);\n }\n get _isInterface(): boolean {\n return $.utils.getUint16(12, this) === 3;\n }\n set interface(_: true) {\n $.utils.setUint16(12, 3, this);\n }\n get const(): Node_Const {\n $.utils.testWhich(\"const\", $.utils.getUint16(12, this), 4, this);\n return $.utils.getAs(Node_Const, this);\n }\n _initConst(): Node_Const {\n $.utils.setUint16(12, 4, this);\n return $.utils.getAs(Node_Const, this);\n }\n get _isConst(): boolean {\n return $.utils.getUint16(12, this) === 4;\n }\n set const(_: true) {\n $.utils.setUint16(12, 4, this);\n }\n get annotation(): Node_Annotation {\n $.utils.testWhich(\"annotation\", $.utils.getUint16(12, this), 5, this);\n return $.utils.getAs(Node_Annotation, this);\n }\n _initAnnotation(): Node_Annotation {\n $.utils.setUint16(12, 5, this);\n return $.utils.getAs(Node_Annotation, this);\n }\n get _isAnnotation(): boolean {\n return $.utils.getUint16(12, this) === 5;\n }\n set annotation(_: true) {\n $.utils.setUint16(12, 5, this);\n }\n public override toString(): string { return \"Node_\" + super.toString(); }\n which(): Node_Which {\n return $.utils.getUint16(12, this) as Node_Which;\n }\n}\n/**\n* A regular, non-group, non-fixed-list field.\n*\n*/\nexport class Field_Slot extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"slot\",\n id: \"c42305476bb4746f\",\n size: new $.ObjectSize(24, 4),\n };\n /**\n* Offset, in units of the field's size, from the beginning of the section in which the field\n* resides. E.g. for a UInt32 field, multiply this by 4 to get the byte offset from the\n* beginning of the data section.\n*\n*/\n get offset(): number {\n return $.utils.getUint32(4, this);\n }\n set offset(value: number) {\n $.utils.setUint32(4, value, this);\n }\n _adoptType(value: $.Orphan<Type>): void {\n $.utils.adopt(value, $.utils.getPointer(2, this));\n }\n _disownType(): $.Orphan<Type> {\n return $.utils.disown(this.type);\n }\n get type(): Type {\n return $.utils.getStruct(2, Type, this);\n }\n _hasType(): boolean {\n return !$.utils.isNull($.utils.getPointer(2, this));\n }\n _initType(): Type {\n return $.utils.initStructAt(2, Type, this);\n }\n set type(value: Type) {\n $.utils.copyFrom(value, $.utils.getPointer(2, this));\n }\n _adoptDefaultValue(value: $.Orphan<Value>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownDefaultValue(): $.Orphan<Value> {\n return $.utils.disown(this.defaultValue);\n }\n get defaultValue(): Value {\n return $.utils.getStruct(3, Value, this);\n }\n _hasDefaultValue(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initDefaultValue(): Value {\n return $.utils.initStructAt(3, Value, this);\n }\n set defaultValue(value: Value) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n /**\n* Whether the default value was specified explicitly. Non-explicit default values are always\n* zero or empty values. Usually, whether the default value was explicit shouldn't matter.\n* The main use case for this flag is for structs representing method parameters:\n* explicitly-defaulted parameters may be allowed to be omitted when calling the method.\n*\n*/\n get hadExplicitDefault(): boolean {\n return $.utils.getBit(128, this);\n }\n set hadExplicitDefault(value: boolean) {\n $.utils.setBit(128, value, this);\n }\n public override toString(): string { return \"Field_Slot_\" + super.toString(); }\n}\n/**\n* A group.\n*\n*/\nexport class Field_Group extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"group\",\n id: \"cafccddb68db1d11\",\n size: new $.ObjectSize(24, 4),\n };\n /**\n* The ID of the group's node.\n*\n*/\n get typeId(): bigint {\n return $.utils.getUint64(16, this);\n }\n set typeId(value: bigint) {\n $.utils.setUint64(16, value, this);\n }\n public override toString(): string { return \"Field_Group_\" + super.toString(); }\n}\nexport const Field_Ordinal_Which = {\n IMPLICIT: 0,\n /**\n* The original ordinal number given to the field. You probably should NOT use this; if you need\n* a numeric identifier for a field, use its position within the field array for its scope.\n* The ordinal is given here mainly just so that the original schema text can be reproduced given\n* the compiled version -- i.e. so that `capnp compile -ocapnp` can do its job.\n*\n*/\n EXPLICIT: 1\n} as const;\nexport type Field_Ordinal_Which = (typeof Field_Ordinal_Which)[keyof typeof Field_Ordinal_Which];\nexport class Field_Ordinal extends $.Struct {\n static readonly IMPLICIT = Field_Ordinal_Which.IMPLICIT;\n static readonly EXPLICIT = Field_Ordinal_Which.EXPLICIT;\n public static override readonly _capnp = {\n displayName: \"ordinal\",\n id: \"bb90d5c287870be6\",\n size: new $.ObjectSize(24, 4),\n };\n get _isImplicit(): boolean {\n return $.utils.getUint16(10, this) === 0;\n }\n set implicit(_: true) {\n $.utils.setUint16(10, 0, this);\n }\n /**\n* The original ordinal number given to the field. You probably should NOT use this; if you need\n* a numeric identifier for a field, use its position within the field array for its scope.\n* The ordinal is given here mainly just so that the original schema text can be reproduced given\n* the compiled version -- i.e. so that `capnp compile -ocapnp` can do its job.\n*\n*/\n get explicit(): number {\n $.utils.testWhich(\"explicit\", $.utils.getUint16(10, this), 1, this);\n return $.utils.getUint16(12, this);\n }\n get _isExplicit(): boolean {\n return $.utils.getUint16(10, this) === 1;\n }\n set explicit(value: number) {\n $.utils.setUint16(10, 1, this);\n $.utils.setUint16(12, value, this);\n }\n public override toString(): string { return \"Field_Ordinal_\" + super.toString(); }\n which(): Field_Ordinal_Which {\n return $.utils.getUint16(10, this) as Field_Ordinal_Which;\n }\n}\nexport const Field_Which = {\n SLOT: 0,\n /**\n* Indicates where this member appeared in the code, relative to other members.\n* Code ordering may have semantic relevance -- programmers tend to place related fields\n* together. So, using code ordering makes sense in human-readable formats where ordering is\n* otherwise irrelevant, like JSON. The values of codeOrder are tightly-packed, so the maximum\n* value is count(members) - 1. Fields that are members of a union are only ordered relative to\n* the other members of that union, so the maximum value there is count(union.members).\n*\n*/\n GROUP: 1\n} as const;\nexport type Field_Which = (typeof Field_Which)[keyof typeof Field_Which];\n/**\n* Schema for a field of a struct.\n*\n*/\nexport class Field extends $.Struct {\n static readonly NO_DISCRIMINANT = 65535;\n static readonly SLOT = Field_Which.SLOT;\n static readonly GROUP = Field_Which.GROUP;\n public static override readonly _capnp = {\n displayName: \"Field\",\n id: \"9aad50a41f4af45f\",\n size: new $.ObjectSize(24, 4),\n defaultDiscriminantValue: $.getUint16Mask(65535)\n };\n static _Annotations: $.ListCtor<Annotation>;\n get name(): string {\n return $.utils.getText(0, this);\n }\n set name(value: string) {\n $.utils.setText(0, value, this);\n }\n /**\n* Indicates where this member appeared in the code, relative to other members.\n* Code ordering may have semantic relevance -- programmers tend to place related fields\n* together. So, using code ordering makes sense in human-readable formats where ordering is\n* otherwise irrelevant, like JSON. The values of codeOrder are tightly-packed, so the maximum\n* value is count(members) - 1. Fields that are members of a union are only ordered relative to\n* the other members of that union, so the maximum value there is count(union.members).\n*\n*/\n get codeOrder(): number {\n return $.utils.getUint16(0, this);\n }\n set codeOrder(value: number) {\n $.utils.setUint16(0, value, this);\n }\n _adoptAnnotations(value: $.Orphan<$.List<Annotation>>): void {\n $.utils.adopt(value, $.utils.getPointer(1, this));\n }\n _disownAnnotations(): $.Orphan<$.List<Annotation>> {\n return $.utils.disown(this.annotations);\n }\n get annotations(): $.List<Annotation> {\n return $.utils.getList(1, Field._Annotations, this);\n }\n _hasAnnotations(): boolean {\n return !$.utils.isNull($.utils.getPointer(1, this));\n }\n _initAnnotations(length: number): $.List<Annotation> {\n return $.utils.initList(1, Field._Annotations, length, this);\n }\n set annotations(value: $.List<Annotation>) {\n $.utils.copyFrom(value, $.utils.getPointer(1, this));\n }\n /**\n* If the field is in a union, this is the value which the union's discriminant should take when\n* the field is active. If the field is not in a union, this is 0xffff.\n*\n*/\n get discriminantValue(): number {\n return $.utils.getUint16(2, this, Field._capnp.defaultDiscriminantValue);\n }\n set discriminantValue(value: number) {\n $.utils.setUint16(2, value, this, Field._capnp.defaultDiscriminantValue);\n }\n /**\n* A regular, non-group, non-fixed-list field.\n*\n*/\n get slot(): Field_Slot {\n $.utils.testWhich(\"slot\", $.utils.getUint16(8, this), 0, this);\n return $.utils.getAs(Field_Slot, this);\n }\n _initSlot(): Field_Slot {\n $.utils.setUint16(8, 0, this);\n return $.utils.getAs(Field_Slot, this);\n }\n get _isSlot(): boolean {\n return $.utils.getUint16(8, this) === 0;\n }\n set slot(_: true) {\n $.utils.setUint16(8, 0, this);\n }\n /**\n* A group.\n*\n*/\n get group(): Field_Group {\n $.utils.testWhich(\"group\", $.utils.getUint16(8, this), 1, this);\n return $.utils.getAs(Field_Group, this);\n }\n _initGroup(): Field_Group {\n $.utils.setUint16(8, 1, this);\n return $.utils.getAs(Field_Group, this);\n }\n get _isGroup(): boolean {\n return $.utils.getUint16(8, this) === 1;\n }\n set group(_: true) {\n $.utils.setUint16(8, 1, this);\n }\n get ordinal(): Field_Ordinal {\n return $.utils.getAs(Field_Ordinal, this);\n }\n _initOrdinal(): Field_Ordinal {\n return $.utils.getAs(Field_Ordinal, this);\n }\n public override toString(): string { return \"Field_\" + super.toString(); }\n which(): Field_Which {\n return $.utils.getUint16(8, this) as Field_Which;\n }\n}\n/**\n* Schema for member of an enum.\n*\n*/\nexport class Enumerant extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"Enumerant\",\n id: \"978a7cebdc549a4d\",\n size: new $.ObjectSize(8, 2),\n };\n static _Annotations: $.ListCtor<Annotation>;\n get name(): string {\n return $.utils.getText(0, this);\n }\n set name(value: string) {\n $.utils.setText(0, value, this);\n }\n /**\n* Specifies order in which the enumerants were declared in the code.\n* Like utils.Field.codeOrder.\n*\n*/\n get codeOrder(): number {\n return $.utils.getUint16(0, this);\n }\n set codeOrder(value: number) {\n $.utils.setUint16(0, value, this);\n }\n _adoptAnnotations(value: $.Orphan<$.List<Annotation>>): void {\n $.utils.adopt(value, $.utils.getPointer(1, this));\n }\n _disownAnnotations(): $.Orphan<$.List<Annotation>> {\n return $.utils.disown(this.annotations);\n }\n get annotations(): $.List<Annotation> {\n return $.utils.getList(1, Enumerant._Annotations, this);\n }\n _hasAnnotations(): boolean {\n return !$.utils.isNull($.utils.getPointer(1, this));\n }\n _initAnnotations(length: number): $.List<Annotation> {\n return $.utils.initList(1, Enumerant._Annotations, length, this);\n }\n set annotations(value: $.List<Annotation>) {\n $.utils.copyFrom(value, $.utils.getPointer(1, this));\n }\n public override toString(): string { return \"Enumerant_\" + super.toString(); }\n}\nexport class Superclass extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"Superclass\",\n id: \"a9962a9ed0a4d7f8\",\n size: new $.ObjectSize(8, 1),\n };\n get id(): bigint {\n return $.utils.getUint64(0, this);\n }\n set id(value: bigint) {\n $.utils.setUint64(0, value, this);\n }\n _adoptBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(0, this));\n }\n _disownBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.brand);\n }\n get brand(): Brand {\n return $.utils.getStruct(0, Brand, this);\n }\n _hasBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(0, this));\n }\n _initBrand(): Brand {\n return $.utils.initStructAt(0, Brand, this);\n }\n set brand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(0, this));\n }\n public override toString(): string { return \"Superclass_\" + super.toString(); }\n}\n/**\n* Schema for method of an interface.\n*\n*/\nexport class Method extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"Method\",\n id: \"9500cce23b334d80\",\n size: new $.ObjectSize(24, 5),\n };\n static _ImplicitParameters: $.ListCtor<Node_Parameter>;\n static _Annotations: $.ListCtor<Annotation>;\n get name(): string {\n return $.utils.getText(0, this);\n }\n set name(value: string) {\n $.utils.setText(0, value, this);\n }\n /**\n* Specifies order in which the methods were declared in the code.\n* Like utils.Field.codeOrder.\n*\n*/\n get codeOrder(): number {\n return $.utils.getUint16(0, this);\n }\n set codeOrder(value: number) {\n $.utils.setUint16(0, value, this);\n }\n _adoptImplicitParameters(value: $.Orphan<$.List<Node_Parameter>>): void {\n $.utils.adopt(value, $.utils.getPointer(4, this));\n }\n _disownImplicitParameters(): $.Orphan<$.List<Node_Parameter>> {\n return $.utils.disown(this.implicitParameters);\n }\n /**\n* The parameters listed in [] (typically, type / generic parameters), whose bindings are intended\n* to be inferred rather than specified explicitly, although not all languages support this.\n*\n*/\n get implicitParameters(): $.List<Node_Parameter> {\n return $.utils.getList(4, Method._ImplicitParameters, this);\n }\n _hasImplicitParameters(): boolean {\n return !$.utils.isNull($.utils.getPointer(4, this));\n }\n _initImplicitParameters(length: number): $.List<Node_Parameter> {\n return $.utils.initList(4, Method._ImplicitParameters, length, this);\n }\n set implicitParameters(value: $.List<Node_Parameter>) {\n $.utils.copyFrom(value, $.utils.getPointer(4, this));\n }\n /**\n* ID of the parameter struct type. If a named parameter list was specified in the method\n* declaration (rather than a single struct parameter type) then a corresponding struct type is\n* auto-generated. Such an auto-generated type will not be listed in the interface's\n* `nestedNodes` and its `scopeId` will be zero -- it is completely detached from the namespace.\n* (Awkwardly, it does of course inherit generic parameters from the method's scope, which makes\n* this a situation where you can't just climb the scope chain to find where a particular\n* generic parameter was introduced. Making the `scopeId` zero was a mistake.)\n*\n*/\n get paramStructType(): bigint {\n return $.utils.getUint64(8, this);\n }\n set paramStructType(value: bigint) {\n $.utils.setUint64(8, value, this);\n }\n _adoptParamBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(2, this));\n }\n _disownParamBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.paramBrand);\n }\n /**\n* Brand of param struct type.\n*\n*/\n get paramBrand(): Brand {\n return $.utils.getStruct(2, Brand, this);\n }\n _hasParamBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(2, this));\n }\n _initParamBrand(): Brand {\n return $.utils.initStructAt(2, Brand, this);\n }\n set paramBrand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(2, this));\n }\n /**\n* ID of the return struct type; similar to `paramStructType`.\n*\n*/\n get resultStructType(): bigint {\n return $.utils.getUint64(16, this);\n }\n set resultStructType(value: bigint) {\n $.utils.setUint64(16, value, this);\n }\n _adoptResultBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(3, this));\n }\n _disownResultBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.resultBrand);\n }\n /**\n* Brand of result struct type.\n*\n*/\n get resultBrand(): Brand {\n return $.utils.getStruct(3, Brand, this);\n }\n _hasResultBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(3, this));\n }\n _initResultBrand(): Brand {\n return $.utils.initStructAt(3, Brand, this);\n }\n set resultBrand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(3, this));\n }\n _adoptAnnotations(value: $.Orphan<$.List<Annotation>>): void {\n $.utils.adopt(value, $.utils.getPointer(1, this));\n }\n _disownAnnotations(): $.Orphan<$.List<Annotation>> {\n return $.utils.disown(this.annotations);\n }\n get annotations(): $.List<Annotation> {\n return $.utils.getList(1, Method._Annotations, this);\n }\n _hasAnnotations(): boolean {\n return !$.utils.isNull($.utils.getPointer(1, this));\n }\n _initAnnotations(length: number): $.List<Annotation> {\n return $.utils.initList(1, Method._Annotations, length, this);\n }\n set annotations(value: $.List<Annotation>) {\n $.utils.copyFrom(value, $.utils.getPointer(1, this));\n }\n public override toString(): string { return \"Method_\" + super.toString(); }\n}\nexport class Type_List extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"list\",\n id: \"87e739250a60ea97\",\n size: new $.ObjectSize(24, 1),\n };\n _adoptElementType(value: $.Orphan<Type>): void {\n $.utils.adopt(value, $.utils.getPointer(0, this));\n }\n _disownElementType(): $.Orphan<Type> {\n return $.utils.disown(this.elementType);\n }\n get elementType(): Type {\n return $.utils.getStruct(0, Type, this);\n }\n _hasElementType(): boolean {\n return !$.utils.isNull($.utils.getPointer(0, this));\n }\n _initElementType(): Type {\n return $.utils.initStructAt(0, Type, this);\n }\n set elementType(value: Type) {\n $.utils.copyFrom(value, $.utils.getPointer(0, this));\n }\n public override toString(): string { return \"Type_List_\" + super.toString(); }\n}\nexport class Type_Enum extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"enum\",\n id: \"9e0e78711a7f87a9\",\n size: new $.ObjectSize(24, 1),\n };\n get typeId(): bigint {\n return $.utils.getUint64(8, this);\n }\n set typeId(value: bigint) {\n $.utils.setUint64(8, value, this);\n }\n _adoptBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(0, this));\n }\n _disownBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.brand);\n }\n get brand(): Brand {\n return $.utils.getStruct(0, Brand, this);\n }\n _hasBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(0, this));\n }\n _initBrand(): Brand {\n return $.utils.initStructAt(0, Brand, this);\n }\n set brand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(0, this));\n }\n public override toString(): string { return \"Type_Enum_\" + super.toString(); }\n}\nexport class Type_Struct extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"struct\",\n id: \"ac3a6f60ef4cc6d3\",\n size: new $.ObjectSize(24, 1),\n };\n get typeId(): bigint {\n return $.utils.getUint64(8, this);\n }\n set typeId(value: bigint) {\n $.utils.setUint64(8, value, this);\n }\n _adoptBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(0, this));\n }\n _disownBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.brand);\n }\n get brand(): Brand {\n return $.utils.getStruct(0, Brand, this);\n }\n _hasBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(0, this));\n }\n _initBrand(): Brand {\n return $.utils.initStructAt(0, Brand, this);\n }\n set brand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(0, this));\n }\n public override toString(): string { return \"Type_Struct_\" + super.toString(); }\n}\nexport class Type_Interface extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"interface\",\n id: \"ed8bca69f7fb0cbf\",\n size: new $.ObjectSize(24, 1),\n };\n get typeId(): bigint {\n return $.utils.getUint64(8, this);\n }\n set typeId(value: bigint) {\n $.utils.setUint64(8, value, this);\n }\n _adoptBrand(value: $.Orphan<Brand>): void {\n $.utils.adopt(value, $.utils.getPointer(0, this));\n }\n _disownBrand(): $.Orphan<Brand> {\n return $.utils.disown(this.brand);\n }\n get brand(): Brand {\n return $.utils.getStruct(0, Brand, this);\n }\n _hasBrand(): boolean {\n return !$.utils.isNull($.utils.getPointer(0, this));\n }\n _initBrand(): Brand {\n return $.utils.initStructAt(0, Brand, this);\n }\n set brand(value: Brand) {\n $.utils.copyFrom(value, $.utils.getPointer(0, this));\n }\n public override toString(): string { return \"Type_Interface_\" + super.toString(); }\n}\nexport const Type_AnyPointer_Unconstrained_Which = {\n /**\n* truly AnyPointer\n*\n*/\n ANY_KIND: 0,\n /**\n* AnyStruct\n*\n*/\n STRUCT: 1,\n /**\n* AnyList\n*\n*/\n LIST: 2,\n /**\n* Capability\n*\n*/\n CAPABILITY: 3\n} as const;\nexport type Type_AnyPointer_Unconstrained_Which = (typeof Type_AnyPointer_Unconstrained_Which)[keyof typeof Type_AnyPointer_Unconstrained_Which];\n/**\n* A regular AnyPointer.\n*\n* The name \"unconstrained\" means as opposed to constraining it to match a type parameter.\n* In retrospect this name is probably a poor choice given that it may still be constrained\n* to be a struct, list, or capability.\n*\n*/\nexport class Type_AnyPointer_Unconstrained extends $.Struct {\n static readonly ANY_KIND = Type_AnyPointer_Unconstrained_Which.ANY_KIND;\n static readonly STRUCT = Type_AnyPointer_Unconstrained_Which.STRUCT;\n static readonly LIST = Type_AnyPointer_Unconstrained_Which.LIST;\n static readonly CAPABILITY = Type_AnyPointer_Unconstrained_Which.CAPABILITY;\n public static override readonly _capnp = {\n displayName: \"unconstrained\",\n id: \"8e3b5f79fe593656\",\n size: new $.ObjectSize(24, 1),\n };\n get _isAnyKind(): boolean {\n return $.utils.getUint16(10, this) === 0;\n }\n set anyKind(_: true) {\n $.utils.setUint16(10, 0, this);\n }\n get _isStruct(): boolean {\n return $.utils.getUint16(10, this) === 1;\n }\n set struct(_: true) {\n $.utils.setUint16(10, 1, this);\n }\n get _isList(): boolean {\n return $.utils.getUint16(10, this) === 2;\n }\n set list(_: true) {\n $.utils.setUint16(10, 2, this);\n }\n get _isCapability(): boolean {\n return $.utils.getUint16(10, this) === 3;\n }\n set capability(_: true) {\n $.utils.setUint16(10, 3, this);\n }\n public override toString(): string { return \"Type_AnyPointer_Unconstrained_\" + super.toString(); }\n which(): Type_AnyPointer_Unconstrained_Which {\n return $.utils.getUint16(10, this) as Type_AnyPointer_Unconstrained_Which;\n }\n}\n/**\n* This is actually a reference to a type parameter defined within this scope.\n*\n*/\nexport class Type_AnyPointer_Parameter extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"parameter\",\n id: \"9dd1f724f4614a85\",\n size: new $.ObjectSize(24, 1),\n };\n /**\n* ID of the generic type whose parameter we're referencing. This should be a parent of the\n* current scope.\n*\n*/\n get scopeId(): bigint {\n return $.utils.getUint64(16, this);\n }\n set scopeId(value: bigint) {\n $.utils.setUint64(16, value, this);\n }\n /**\n* Index of the parameter within the generic type's parameter list.\n*\n*/\n get parameterIndex(): number {\n return $.utils.getUint16(10, this);\n }\n set parameterIndex(value: number) {\n $.utils.setUint16(10, value, this);\n }\n public override toString(): string { return \"Type_AnyPointer_Parameter_\" + super.toString(); }\n}\n/**\n* This is actually a reference to an implicit (generic) parameter of a method. The only\n* legal context for this type to appear is inside Method.paramBrand or Method.resultBrand.\n*\n*/\nexport class Type_AnyPointer_ImplicitMethodParameter extends $.Struct {\n public static override readonly _capnp = {\n displayName: \"implicitMethodParameter\",\n id: \"baefc9120c56e274\",\n size: new $.ObjectSize(24, 1),\n };\n get parameterIndex(): number {\n return $.utils.getUint16(10, this);\n }\n set parameterIndex(value: number) {\n $.utils.setUint16(10, value, this);\n }\n public override toString(): string { return \"Type_AnyPointer_ImplicitMethodParameter_\" + super.toString(); }\n}\nexport const Type_AnyPointer_Which = {\n /**\n* A regular AnyPointer.\n*\n* The name \"unconstrained\" means as opposed to constraining it to match a type parameter.\n* In retrospect this name is probably a poor choice given that it may still be constrained\n* to be a struct, list, or capability.\n*\n*/\n UNCONSTRAINED: 0,\n /**\n* This is actually a reference to a type parameter defined within this scope.\n*\n*/\n PARAMETER: 1,\n /**\n* This is actually a reference to an implicit (generic) parameter of a method. The only\n* legal context for this type to appear is inside Method.paramBrand or Method.resultBrand.\n*\n*/\n IMPLICIT_METHOD_PARAMETER: 2\n} as const;\nexport type Type_AnyPointer_Which = (typeof Type_AnyPointer_Which)[keyof typeof Type_AnyPointer_Which];\nexport class Type_AnyPointer extends $.Struct {\n static readonly UNCONSTRAINED = Type_AnyPointer_Which.UNCONSTRAINED;\n static readonly PARAMETER = Type_AnyPointer_Which.PARAMETER;\n static readonly IMPLICIT_METHOD_PARAMETER = Type_AnyPointer_Which.IMPLICIT_METHOD_PARAMETER;\n public static override readonly _capnp = {\n displayName: \"anyPointer\",\n id: \"c2573fe8a23e49f1\",\n size: new $.ObjectSize(24, 1),\n };\n /**\n* A regular AnyPointer.\n*\n* The name \"unconstrained\" means as opposed to constraining it to match a type parameter.\n* In retrospect this name is probably a poor choice given that it may still be constrained\n* to be a struct, list, or capability.\n*\n*/\n get unconstrained(): Type_AnyPointer_Unconstrained {\n $.utils.testWhich(\"unconstrained\", $.utils.getUint16(8, this), 0, this);\n return $.utils.getAs(Type_AnyPointer_Unconstrained, this);\n }\n _initUnconst