// Generated by Cap'n Proto compiler, DO NOT EDIT
// source: grammar.capnp

#ifndef CAPNP_INCLUDED_c56be168dcbbc3c6_
#define CAPNP_INCLUDED_c56be168dcbbc3c6_

#include <capnp/generated-header-support.h>

#if CAPNP_VERSION != 5000
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif


namespace capnp {
namespace compiler {

struct LocatedText {
  LocatedText() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct LocatedInteger {
  LocatedInteger() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct LocatedFloat {
  LocatedFloat() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct DeclName {
  DeclName() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  struct Base;
};

struct DeclName::Base {
  Base() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    ABSOLUTE_NAME,
    RELATIVE_NAME,
    IMPORT_NAME,
  };
};

struct TypeExpression {
  TypeExpression() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct ValueExpression {
  ValueExpression() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    UNKNOWN,
    POSITIVE_INT,
    NEGATIVE_INT,
    FLOAT,
    STRING,
    NAME,
    LIST,
    STRUCT,
  };
  struct FieldAssignment;
};

struct ValueExpression::FieldAssignment {
  FieldAssignment() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct Declaration {
  Declaration() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    FILE,
    USING,
    CONST,
    ENUM,
    ENUMERANT,
    STRUCT,
    FIELD,
    UNION,
    GROUP,
    INTERFACE,
    METHOD,
    ANNOTATION,
    NAKED_ID,
    NAKED_ANNOTATION,
    BUILTIN_VOID,
    BUILTIN_BOOL,
    BUILTIN_INT8,
    BUILTIN_INT16,
    BUILTIN_INT32,
    BUILTIN_INT64,
    BUILTIN_U_INT8,
    BUILTIN_U_INT16,
    BUILTIN_U_INT32,
    BUILTIN_U_INT64,
    BUILTIN_FLOAT32,
    BUILTIN_FLOAT64,
    BUILTIN_TEXT,
    BUILTIN_DATA,
    BUILTIN_LIST,
    BUILTIN_OBJECT,
    BUILTIN_ANY_POINTER,
  };
  struct AnnotationApplication;
  struct ParamList;
  struct Param;
  struct Id;
  struct Using;
  struct Const;
  struct Field;
  struct Interface;
  struct Method;
  struct Annotation;
};

struct Declaration::AnnotationApplication {
  AnnotationApplication() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  struct Value;
};

struct Declaration::AnnotationApplication::Value {
  Value() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    NONE,
    EXPRESSION,
  };
};

struct Declaration::ParamList {
  ParamList() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    NAMED_LIST,
    TYPE,
  };
};

struct Declaration::Param {
  Param() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  struct DefaultValue;
};

struct Declaration::Param::DefaultValue {
  DefaultValue() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    NONE,
    VALUE,
  };
};

struct Declaration::Id {
  Id() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    UNSPECIFIED,
    UID,
    ORDINAL,
  };
};

struct Declaration::Using {
  Using() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct Declaration::Const {
  Const() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct Declaration::Field {
  Field() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  struct DefaultValue;
};

struct Declaration::Field::DefaultValue {
  DefaultValue() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    NONE,
    VALUE,
  };
};

struct Declaration::Interface {
  Interface() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct Declaration::Method {
  Method() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  struct Results;
};

struct Declaration::Method::Results {
  Results() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    NONE,
    EXPLICIT,
  };
};

struct Declaration::Annotation {
  Annotation() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

struct ParsedFile {
  ParsedFile() = delete;

  class Reader;
  class Builder;
  class Pipeline;
};

}  // namespace
}  // namespace

// =======================================================================================

namespace capnp {
namespace schemas {

extern const ::capnp::_::RawSchema s_e75816b56529d464;
extern const ::capnp::_::RawSchema s_991c7a3693d62cf2;
extern const ::capnp::_::RawSchema s_90f2a60678fd2367;
extern const ::capnp::_::RawSchema s_ce5c2afd239fe34e;
extern const ::capnp::_::RawSchema s_c42df56830922111;
extern const ::capnp::_::RawSchema s_8751968764a2e298;
extern const ::capnp::_::RawSchema s_9ca8b2acb16fc545;
extern const ::capnp::_::RawSchema s_b6b57cf8b27fba0e;
extern const ::capnp::_::RawSchema s_96efe787c17e83bb;
extern const ::capnp::_::RawSchema s_d00489d473826290;
extern const ::capnp::_::RawSchema s_fb5aeed95cdf6af9;
extern const ::capnp::_::RawSchema s_b3f66e7a79d81bcd;
extern const ::capnp::_::RawSchema s_fffe08a9a697d2a5;
extern const ::capnp::_::RawSchema s_e5104515fd88ea47;
extern const ::capnp::_::RawSchema s_89f0c973c103ae96;
extern const ::capnp::_::RawSchema s_e93164a80bfe2ccf;
extern const ::capnp::_::RawSchema s_b348322a8dcf0d0c;
extern const ::capnp::_::RawSchema s_8f2622208fb358c8;
extern const ::capnp::_::RawSchema s_d0d1a21de617951f;
extern const ::capnp::_::RawSchema s_992a90eaf30235d3;
extern const ::capnp::_::RawSchema s_eb971847d617c0b9;
extern const ::capnp::_::RawSchema s_c6238c7d62d65173;
extern const ::capnp::_::RawSchema s_9cb9e86e3198037f;
extern const ::capnp::_::RawSchema s_84e4f3f5a807605c;

}  // namespace schemas
namespace _ {  // private

CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::LocatedText, e75816b56529d464,
    1, 1, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::LocatedInteger, 991c7a3693d62cf2,
    2, 0, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::LocatedFloat, 90f2a60678fd2367,
    2, 0, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::DeclName, ce5c2afd239fe34e,
    2, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::DeclName::Base, c42df56830922111,
    2, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::TypeExpression, 8751968764a2e298,
    1, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::ValueExpression, 9ca8b2acb16fc545,
    3, 1, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::ValueExpression::FieldAssignment, b6b57cf8b27fba0e,
    0, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration, 96efe787c17e83bb,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::AnnotationApplication, d00489d473826290,
    1, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::AnnotationApplication::Value, fb5aeed95cdf6af9,
    1, 2, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::ParamList, b3f66e7a79d81bcd,
    2, 1, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Param, fffe08a9a697d2a5,
    2, 4, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Param::DefaultValue, e5104515fd88ea47,
    2, 4, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Id, 89f0c973c103ae96,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Using, e93164a80bfe2ccf,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Const, b348322a8dcf0d0c,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Field, 8f2622208fb358c8,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Field::DefaultValue, d0d1a21de617951f,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Interface, 992a90eaf30235d3,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Method, eb971847d617c0b9,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Method::Results, c6238c7d62d65173,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::Declaration::Annotation, 9cb9e86e3198037f,
    2, 7, INLINE_COMPOSITE);
CAPNP_DECLARE_STRUCT(
    ::capnp::compiler::ParsedFile, 84e4f3f5a807605c,
    0, 1, POINTER);

}  // namespace _ (private)
}  // namespace capnp

// =======================================================================================

namespace capnp {
namespace compiler {

class LocatedText::Reader {
public:
  typedef LocatedText Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasValue() const;
  inline  ::capnp::Text::Reader getValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedText::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedText::Reader reader) {
  return ::capnp::_::structString<LocatedText>(reader._reader);
}

class LocatedText::Builder {
public:
  typedef LocatedText Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasValue();
  inline  ::capnp::Text::Builder getValue();
  inline void setValue( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initValue(unsigned int size);
  inline void adoptValue(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownValue();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedText::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedText::Builder builder) {
  return ::capnp::_::structString<LocatedText>(builder._builder.asReader());
}

class LocatedText::Pipeline {
public:
  typedef LocatedText Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class LocatedInteger::Reader {
public:
  typedef LocatedInteger Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline  ::uint64_t getValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedInteger::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedInteger::Reader reader) {
  return ::capnp::_::structString<LocatedInteger>(reader._reader);
}

class LocatedInteger::Builder {
public:
  typedef LocatedInteger Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline  ::uint64_t getValue();
  inline void setValue( ::uint64_t value);

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedInteger::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedInteger::Builder builder) {
  return ::capnp::_::structString<LocatedInteger>(builder._builder.asReader());
}

class LocatedInteger::Pipeline {
public:
  typedef LocatedInteger Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class LocatedFloat::Reader {
public:
  typedef LocatedFloat Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline double getValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedFloat::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedFloat::Reader reader) {
  return ::capnp::_::structString<LocatedFloat>(reader._reader);
}

class LocatedFloat::Builder {
public:
  typedef LocatedFloat Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline double getValue();
  inline void setValue(double value);

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(LocatedFloat::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(LocatedFloat::Builder builder) {
  return ::capnp::_::structString<LocatedFloat>(builder._builder.asReader());
}

class LocatedFloat::Pipeline {
public:
  typedef LocatedFloat Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class DeclName::Reader {
public:
  typedef DeclName Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Base::Reader getBase() const;

  inline bool hasMemberPath() const;
  inline  ::capnp::List< ::capnp::compiler::LocatedText>::Reader getMemberPath() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(DeclName::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(DeclName::Reader reader) {
  return ::capnp::_::structString<DeclName>(reader._reader);
}

class DeclName::Builder {
public:
  typedef DeclName Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Base::Builder getBase();
  inline Base::Builder initBase();

  inline bool hasMemberPath();
  inline  ::capnp::List< ::capnp::compiler::LocatedText>::Builder getMemberPath();
  inline void setMemberPath( ::capnp::List< ::capnp::compiler::LocatedText>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::LocatedText>::Builder initMemberPath(unsigned int size);
  inline void adoptMemberPath(::capnp::Orphan< ::capnp::List< ::capnp::compiler::LocatedText>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::LocatedText>> disownMemberPath();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(DeclName::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(DeclName::Builder builder) {
  return ::capnp::_::structString<DeclName>(builder._builder.asReader());
}

class DeclName::Pipeline {
public:
  typedef DeclName Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline Base::Pipeline getBase();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class DeclName::Base::Reader {
public:
  typedef Base Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isAbsoluteName() const;
  inline bool hasAbsoluteName() const;
  inline  ::capnp::compiler::LocatedText::Reader getAbsoluteName() const;

  inline bool isRelativeName() const;
  inline bool hasRelativeName() const;
  inline  ::capnp::compiler::LocatedText::Reader getRelativeName() const;

  inline bool isImportName() const;
  inline bool hasImportName() const;
  inline  ::capnp::compiler::LocatedText::Reader getImportName() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(DeclName::Base::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(DeclName::Base::Reader reader) {
  return ::capnp::_::structString<DeclName::Base>(reader._reader);
}

class DeclName::Base::Builder {
public:
  typedef Base Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isAbsoluteName();
  inline bool hasAbsoluteName();
  inline  ::capnp::compiler::LocatedText::Builder getAbsoluteName();
  inline void setAbsoluteName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initAbsoluteName();
  inline void adoptAbsoluteName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownAbsoluteName();

  inline bool isRelativeName();
  inline bool hasRelativeName();
  inline  ::capnp::compiler::LocatedText::Builder getRelativeName();
  inline void setRelativeName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initRelativeName();
  inline void adoptRelativeName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownRelativeName();

  inline bool isImportName();
  inline bool hasImportName();
  inline  ::capnp::compiler::LocatedText::Builder getImportName();
  inline void setImportName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initImportName();
  inline void adoptImportName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownImportName();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(DeclName::Base::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(DeclName::Base::Builder builder) {
  return ::capnp::_::structString<DeclName::Base>(builder._builder.asReader());
}

class DeclName::Base::Pipeline {
public:
  typedef Base Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class TypeExpression::Reader {
public:
  typedef TypeExpression Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasName() const;
  inline  ::capnp::compiler::DeclName::Reader getName() const;

  inline bool hasParams() const;
  inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Reader getParams() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(TypeExpression::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(TypeExpression::Reader reader) {
  return ::capnp::_::structString<TypeExpression>(reader._reader);
}

class TypeExpression::Builder {
public:
  typedef TypeExpression Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasName();
  inline  ::capnp::compiler::DeclName::Builder getName();
  inline void setName( ::capnp::compiler::DeclName::Reader value);
  inline  ::capnp::compiler::DeclName::Builder initName();
  inline void adoptName(::capnp::Orphan< ::capnp::compiler::DeclName>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::DeclName> disownName();

  inline bool hasParams();
  inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Builder getParams();
  inline void setParams( ::capnp::List< ::capnp::compiler::TypeExpression>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Builder initParams(unsigned int size);
  inline void adoptParams(::capnp::Orphan< ::capnp::List< ::capnp::compiler::TypeExpression>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::TypeExpression>> disownParams();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(TypeExpression::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(TypeExpression::Builder builder) {
  return ::capnp::_::structString<TypeExpression>(builder._builder.asReader());
}

class TypeExpression::Pipeline {
public:
  typedef TypeExpression Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::DeclName::Pipeline getName();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class ValueExpression::Reader {
public:
  typedef ValueExpression Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isUnknown() const;
  inline  ::capnp::Void getUnknown() const;

  inline bool isPositiveInt() const;
  inline  ::uint64_t getPositiveInt() const;

  inline bool isNegativeInt() const;
  inline  ::uint64_t getNegativeInt() const;

  inline bool isFloat() const;
  inline double getFloat() const;

  inline bool isString() const;
  inline bool hasString() const;
  inline  ::capnp::Text::Reader getString() const;

  inline bool isName() const;
  inline bool hasName() const;
  inline  ::capnp::compiler::DeclName::Reader getName() const;

  inline bool isList() const;
  inline bool hasList() const;
  inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Reader getList() const;

  inline bool isStruct() const;
  inline bool hasStruct() const;
  inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Reader getStruct() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ValueExpression::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(ValueExpression::Reader reader) {
  return ::capnp::_::structString<ValueExpression>(reader._reader);
}

class ValueExpression::Builder {
public:
  typedef ValueExpression Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isUnknown();
  inline  ::capnp::Void getUnknown();
  inline void setUnknown( ::capnp::Void value = ::capnp::VOID);

  inline bool isPositiveInt();
  inline  ::uint64_t getPositiveInt();
  inline void setPositiveInt( ::uint64_t value);

  inline bool isNegativeInt();
  inline  ::uint64_t getNegativeInt();
  inline void setNegativeInt( ::uint64_t value);

  inline bool isFloat();
  inline double getFloat();
  inline void setFloat(double value);

  inline bool isString();
  inline bool hasString();
  inline  ::capnp::Text::Builder getString();
  inline void setString( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initString(unsigned int size);
  inline void adoptString(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownString();

  inline bool isName();
  inline bool hasName();
  inline  ::capnp::compiler::DeclName::Builder getName();
  inline void setName( ::capnp::compiler::DeclName::Reader value);
  inline  ::capnp::compiler::DeclName::Builder initName();
  inline void adoptName(::capnp::Orphan< ::capnp::compiler::DeclName>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::DeclName> disownName();

  inline bool isList();
  inline bool hasList();
  inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Builder getList();
  inline void setList( ::capnp::List< ::capnp::compiler::ValueExpression>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Builder initList(unsigned int size);
  inline void adoptList(::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression>> disownList();

  inline bool isStruct();
  inline bool hasStruct();
  inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Builder getStruct();
  inline void setStruct( ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Builder initStruct(unsigned int size);
  inline void adoptStruct(::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>> disownStruct();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ValueExpression::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(ValueExpression::Builder builder) {
  return ::capnp::_::structString<ValueExpression>(builder._builder.asReader());
}

class ValueExpression::Pipeline {
public:
  typedef ValueExpression Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class ValueExpression::FieldAssignment::Reader {
public:
  typedef FieldAssignment Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasFieldName() const;
  inline  ::capnp::compiler::LocatedText::Reader getFieldName() const;

  inline bool hasValue() const;
  inline  ::capnp::compiler::ValueExpression::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ValueExpression::FieldAssignment::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(ValueExpression::FieldAssignment::Reader reader) {
  return ::capnp::_::structString<ValueExpression::FieldAssignment>(reader._reader);
}

class ValueExpression::FieldAssignment::Builder {
public:
  typedef FieldAssignment Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasFieldName();
  inline  ::capnp::compiler::LocatedText::Builder getFieldName();
  inline void setFieldName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initFieldName();
  inline void adoptFieldName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownFieldName();

  inline bool hasValue();
  inline  ::capnp::compiler::ValueExpression::Builder getValue();
  inline void setValue( ::capnp::compiler::ValueExpression::Reader value);
  inline  ::capnp::compiler::ValueExpression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ValueExpression::FieldAssignment::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(ValueExpression::FieldAssignment::Builder builder) {
  return ::capnp::_::structString<ValueExpression::FieldAssignment>(builder._builder.asReader());
}

class ValueExpression::FieldAssignment::Pipeline {
public:
  typedef FieldAssignment Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::LocatedText::Pipeline getFieldName();
  inline  ::capnp::compiler::ValueExpression::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Reader {
public:
  typedef Declaration Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool hasName() const;
  inline  ::capnp::compiler::LocatedText::Reader getName() const;

  inline Id::Reader getId() const;

  inline bool hasNestedDecls() const;
  inline  ::capnp::List< ::capnp::compiler::Declaration>::Reader getNestedDecls() const;

  inline bool hasAnnotations() const;
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader getAnnotations() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

  inline bool hasDocComment() const;
  inline  ::capnp::Text::Reader getDocComment() const;

  inline bool isFile() const;
  inline  ::capnp::Void getFile() const;

  inline bool isUsing() const;
  inline Using::Reader getUsing() const;

  inline bool isConst() const;
  inline Const::Reader getConst() const;

  inline bool isEnum() const;
  inline  ::capnp::Void getEnum() const;

  inline bool isEnumerant() const;
  inline  ::capnp::Void getEnumerant() const;

  inline bool isStruct() const;
  inline  ::capnp::Void getStruct() const;

  inline bool isField() const;
  inline Field::Reader getField() const;

  inline bool isUnion() const;
  inline  ::capnp::Void getUnion() const;

  inline bool isGroup() const;
  inline  ::capnp::Void getGroup() const;

  inline bool isInterface() const;
  inline Interface::Reader getInterface() const;

  inline bool isMethod() const;
  inline Method::Reader getMethod() const;

  inline bool isAnnotation() const;
  inline Annotation::Reader getAnnotation() const;

  inline bool isNakedId() const;
  inline bool hasNakedId() const;
  inline  ::capnp::compiler::LocatedInteger::Reader getNakedId() const;

  inline bool isNakedAnnotation() const;
  inline bool hasNakedAnnotation() const;
  inline  ::capnp::compiler::Declaration::AnnotationApplication::Reader getNakedAnnotation() const;

  inline bool isBuiltinVoid() const;
  inline  ::capnp::Void getBuiltinVoid() const;

  inline bool isBuiltinBool() const;
  inline  ::capnp::Void getBuiltinBool() const;

  inline bool isBuiltinInt8() const;
  inline  ::capnp::Void getBuiltinInt8() const;

  inline bool isBuiltinInt16() const;
  inline  ::capnp::Void getBuiltinInt16() const;

  inline bool isBuiltinInt32() const;
  inline  ::capnp::Void getBuiltinInt32() const;

  inline bool isBuiltinInt64() const;
  inline  ::capnp::Void getBuiltinInt64() const;

  inline bool isBuiltinUInt8() const;
  inline  ::capnp::Void getBuiltinUInt8() const;

  inline bool isBuiltinUInt16() const;
  inline  ::capnp::Void getBuiltinUInt16() const;

  inline bool isBuiltinUInt32() const;
  inline  ::capnp::Void getBuiltinUInt32() const;

  inline bool isBuiltinUInt64() const;
  inline  ::capnp::Void getBuiltinUInt64() const;

  inline bool isBuiltinFloat32() const;
  inline  ::capnp::Void getBuiltinFloat32() const;

  inline bool isBuiltinFloat64() const;
  inline  ::capnp::Void getBuiltinFloat64() const;

  inline bool isBuiltinText() const;
  inline  ::capnp::Void getBuiltinText() const;

  inline bool isBuiltinData() const;
  inline  ::capnp::Void getBuiltinData() const;

  inline bool isBuiltinList() const;
  inline  ::capnp::Void getBuiltinList() const;

  inline bool isBuiltinObject() const;
  inline  ::capnp::Void getBuiltinObject() const;

  inline bool isBuiltinAnyPointer() const;
  inline  ::capnp::Void getBuiltinAnyPointer() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Reader reader) {
  return ::capnp::_::structString<Declaration>(reader._reader);
}

class Declaration::Builder {
public:
  typedef Declaration Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool hasName();
  inline  ::capnp::compiler::LocatedText::Builder getName();
  inline void setName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initName();
  inline void adoptName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownName();

  inline Id::Builder getId();
  inline Id::Builder initId();

  inline bool hasNestedDecls();
  inline  ::capnp::List< ::capnp::compiler::Declaration>::Builder getNestedDecls();
  inline void setNestedDecls( ::capnp::List< ::capnp::compiler::Declaration>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Declaration>::Builder initNestedDecls(unsigned int size);
  inline void adoptNestedDecls(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration>> disownNestedDecls();

  inline bool hasAnnotations();
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder getAnnotations();
  inline void setAnnotations( ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder initAnnotations(unsigned int size);
  inline void adoptAnnotations(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>> disownAnnotations();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

  inline bool hasDocComment();
  inline  ::capnp::Text::Builder getDocComment();
  inline void setDocComment( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initDocComment(unsigned int size);
  inline void adoptDocComment(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownDocComment();

  inline bool isFile();
  inline  ::capnp::Void getFile();
  inline void setFile( ::capnp::Void value = ::capnp::VOID);

  inline bool isUsing();
  inline Using::Builder getUsing();
  inline Using::Builder initUsing();

  inline bool isConst();
  inline Const::Builder getConst();
  inline Const::Builder initConst();

  inline bool isEnum();
  inline  ::capnp::Void getEnum();
  inline void setEnum( ::capnp::Void value = ::capnp::VOID);

  inline bool isEnumerant();
  inline  ::capnp::Void getEnumerant();
  inline void setEnumerant( ::capnp::Void value = ::capnp::VOID);

  inline bool isStruct();
  inline  ::capnp::Void getStruct();
  inline void setStruct( ::capnp::Void value = ::capnp::VOID);

  inline bool isField();
  inline Field::Builder getField();
  inline Field::Builder initField();

  inline bool isUnion();
  inline  ::capnp::Void getUnion();
  inline void setUnion( ::capnp::Void value = ::capnp::VOID);

  inline bool isGroup();
  inline  ::capnp::Void getGroup();
  inline void setGroup( ::capnp::Void value = ::capnp::VOID);

  inline bool isInterface();
  inline Interface::Builder getInterface();
  inline Interface::Builder initInterface();

  inline bool isMethod();
  inline Method::Builder getMethod();
  inline Method::Builder initMethod();

  inline bool isAnnotation();
  inline Annotation::Builder getAnnotation();
  inline Annotation::Builder initAnnotation();

  inline bool isNakedId();
  inline bool hasNakedId();
  inline  ::capnp::compiler::LocatedInteger::Builder getNakedId();
  inline void setNakedId( ::capnp::compiler::LocatedInteger::Reader value);
  inline  ::capnp::compiler::LocatedInteger::Builder initNakedId();
  inline void adoptNakedId(::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> disownNakedId();

  inline bool isNakedAnnotation();
  inline bool hasNakedAnnotation();
  inline  ::capnp::compiler::Declaration::AnnotationApplication::Builder getNakedAnnotation();
  inline void setNakedAnnotation( ::capnp::compiler::Declaration::AnnotationApplication::Reader value);
  inline  ::capnp::compiler::Declaration::AnnotationApplication::Builder initNakedAnnotation();
  inline void adoptNakedAnnotation(::capnp::Orphan< ::capnp::compiler::Declaration::AnnotationApplication>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Declaration::AnnotationApplication> disownNakedAnnotation();

  inline bool isBuiltinVoid();
  inline  ::capnp::Void getBuiltinVoid();
  inline void setBuiltinVoid( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinBool();
  inline  ::capnp::Void getBuiltinBool();
  inline void setBuiltinBool( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinInt8();
  inline  ::capnp::Void getBuiltinInt8();
  inline void setBuiltinInt8( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinInt16();
  inline  ::capnp::Void getBuiltinInt16();
  inline void setBuiltinInt16( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinInt32();
  inline  ::capnp::Void getBuiltinInt32();
  inline void setBuiltinInt32( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinInt64();
  inline  ::capnp::Void getBuiltinInt64();
  inline void setBuiltinInt64( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinUInt8();
  inline  ::capnp::Void getBuiltinUInt8();
  inline void setBuiltinUInt8( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinUInt16();
  inline  ::capnp::Void getBuiltinUInt16();
  inline void setBuiltinUInt16( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinUInt32();
  inline  ::capnp::Void getBuiltinUInt32();
  inline void setBuiltinUInt32( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinUInt64();
  inline  ::capnp::Void getBuiltinUInt64();
  inline void setBuiltinUInt64( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinFloat32();
  inline  ::capnp::Void getBuiltinFloat32();
  inline void setBuiltinFloat32( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinFloat64();
  inline  ::capnp::Void getBuiltinFloat64();
  inline void setBuiltinFloat64( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinText();
  inline  ::capnp::Void getBuiltinText();
  inline void setBuiltinText( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinData();
  inline  ::capnp::Void getBuiltinData();
  inline void setBuiltinData( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinList();
  inline  ::capnp::Void getBuiltinList();
  inline void setBuiltinList( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinObject();
  inline  ::capnp::Void getBuiltinObject();
  inline void setBuiltinObject( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinAnyPointer();
  inline  ::capnp::Void getBuiltinAnyPointer();
  inline void setBuiltinAnyPointer( ::capnp::Void value = ::capnp::VOID);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Builder builder) {
  return ::capnp::_::structString<Declaration>(builder._builder.asReader());
}

class Declaration::Pipeline {
public:
  typedef Declaration Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::LocatedText::Pipeline getName();
  inline Id::Pipeline getId();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::AnnotationApplication::Reader {
public:
  typedef AnnotationApplication Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasName() const;
  inline  ::capnp::compiler::DeclName::Reader getName() const;

  inline Value::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Reader reader) {
  return ::capnp::_::structString<Declaration::AnnotationApplication>(reader._reader);
}

class Declaration::AnnotationApplication::Builder {
public:
  typedef AnnotationApplication Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasName();
  inline  ::capnp::compiler::DeclName::Builder getName();
  inline void setName( ::capnp::compiler::DeclName::Reader value);
  inline  ::capnp::compiler::DeclName::Builder initName();
  inline void adoptName(::capnp::Orphan< ::capnp::compiler::DeclName>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::DeclName> disownName();

  inline Value::Builder getValue();
  inline Value::Builder initValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Builder builder) {
  return ::capnp::_::structString<Declaration::AnnotationApplication>(builder._builder.asReader());
}

class Declaration::AnnotationApplication::Pipeline {
public:
  typedef AnnotationApplication Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::DeclName::Pipeline getName();
  inline Value::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::AnnotationApplication::Value::Reader {
public:
  typedef Value Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isNone() const;
  inline  ::capnp::Void getNone() const;

  inline bool isExpression() const;
  inline bool hasExpression() const;
  inline  ::capnp::compiler::ValueExpression::Reader getExpression() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Value::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Value::Reader reader) {
  return ::capnp::_::structString<Declaration::AnnotationApplication::Value>(reader._reader);
}

class Declaration::AnnotationApplication::Value::Builder {
public:
  typedef Value Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isNone();
  inline  ::capnp::Void getNone();
  inline void setNone( ::capnp::Void value = ::capnp::VOID);

  inline bool isExpression();
  inline bool hasExpression();
  inline  ::capnp::compiler::ValueExpression::Builder getExpression();
  inline void setExpression( ::capnp::compiler::ValueExpression::Reader value);
  inline  ::capnp::compiler::ValueExpression::Builder initExpression();
  inline void adoptExpression(::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> disownExpression();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Value::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::AnnotationApplication::Value::Builder builder) {
  return ::capnp::_::structString<Declaration::AnnotationApplication::Value>(builder._builder.asReader());
}

class Declaration::AnnotationApplication::Value::Pipeline {
public:
  typedef Value Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::ParamList::Reader {
public:
  typedef ParamList Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isNamedList() const;
  inline bool hasNamedList() const;
  inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Reader getNamedList() const;

  inline bool isType() const;
  inline bool hasType() const;
  inline  ::capnp::compiler::DeclName::Reader getType() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::ParamList::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::ParamList::Reader reader) {
  return ::capnp::_::structString<Declaration::ParamList>(reader._reader);
}

class Declaration::ParamList::Builder {
public:
  typedef ParamList Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isNamedList();
  inline bool hasNamedList();
  inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Builder getNamedList();
  inline void setNamedList( ::capnp::List< ::capnp::compiler::Declaration::Param>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Builder initNamedList(unsigned int size);
  inline void adoptNamedList(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::Param>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::Param>> disownNamedList();

  inline bool isType();
  inline bool hasType();
  inline  ::capnp::compiler::DeclName::Builder getType();
  inline void setType( ::capnp::compiler::DeclName::Reader value);
  inline  ::capnp::compiler::DeclName::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::DeclName>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::DeclName> disownType();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::ParamList::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::ParamList::Builder builder) {
  return ::capnp::_::structString<Declaration::ParamList>(builder._builder.asReader());
}

class Declaration::ParamList::Pipeline {
public:
  typedef ParamList Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Param::Reader {
public:
  typedef Param Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasName() const;
  inline  ::capnp::compiler::LocatedText::Reader getName() const;

  inline bool hasType() const;
  inline  ::capnp::compiler::TypeExpression::Reader getType() const;

  inline bool hasAnnotations() const;
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader getAnnotations() const;

  inline DefaultValue::Reader getDefaultValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Param::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Param::Reader reader) {
  return ::capnp::_::structString<Declaration::Param>(reader._reader);
}

class Declaration::Param::Builder {
public:
  typedef Param Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasName();
  inline  ::capnp::compiler::LocatedText::Builder getName();
  inline void setName( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initName();
  inline void adoptName(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownName();

  inline bool hasType();
  inline  ::capnp::compiler::TypeExpression::Builder getType();
  inline void setType( ::capnp::compiler::TypeExpression::Reader value);
  inline  ::capnp::compiler::TypeExpression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> disownType();

  inline bool hasAnnotations();
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder getAnnotations();
  inline void setAnnotations( ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder initAnnotations(unsigned int size);
  inline void adoptAnnotations(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>> disownAnnotations();

  inline DefaultValue::Builder getDefaultValue();
  inline DefaultValue::Builder initDefaultValue();

  inline  ::uint32_t getStartByte();
  inline void setStartByte( ::uint32_t value);

  inline  ::uint32_t getEndByte();
  inline void setEndByte( ::uint32_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Param::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Param::Builder builder) {
  return ::capnp::_::structString<Declaration::Param>(builder._builder.asReader());
}

class Declaration::Param::Pipeline {
public:
  typedef Param Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::LocatedText::Pipeline getName();
  inline  ::capnp::compiler::TypeExpression::Pipeline getType();
  inline DefaultValue::Pipeline getDefaultValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Param::DefaultValue::Reader {
public:
  typedef DefaultValue Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isNone() const;
  inline  ::capnp::Void getNone() const;

  inline bool isValue() const;
  inline bool hasValue() const;
  inline  ::capnp::compiler::ValueExpression::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Param::DefaultValue::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Param::DefaultValue::Reader reader) {
  return ::capnp::_::structString<Declaration::Param::DefaultValue>(reader._reader);
}

class Declaration::Param::DefaultValue::Builder {
public:
  typedef DefaultValue Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isNone();
  inline  ::capnp::Void getNone();
  inline void setNone( ::capnp::Void value = ::capnp::VOID);

  inline bool isValue();
  inline bool hasValue();
  inline  ::capnp::compiler::ValueExpression::Builder getValue();
  inline void setValue( ::capnp::compiler::ValueExpression::Reader value);
  inline  ::capnp::compiler::ValueExpression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Param::DefaultValue::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Param::DefaultValue::Builder builder) {
  return ::capnp::_::structString<Declaration::Param::DefaultValue>(builder._builder.asReader());
}

class Declaration::Param::DefaultValue::Pipeline {
public:
  typedef DefaultValue Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Id::Reader {
public:
  typedef Id Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isUnspecified() const;
  inline  ::capnp::Void getUnspecified() const;

  inline bool isUid() const;
  inline bool hasUid() const;
  inline  ::capnp::compiler::LocatedInteger::Reader getUid() const;

  inline bool isOrdinal() const;
  inline bool hasOrdinal() const;
  inline  ::capnp::compiler::LocatedInteger::Reader getOrdinal() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Id::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Id::Reader reader) {
  return ::capnp::_::structString<Declaration::Id>(reader._reader);
}

class Declaration::Id::Builder {
public:
  typedef Id Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isUnspecified();
  inline  ::capnp::Void getUnspecified();
  inline void setUnspecified( ::capnp::Void value = ::capnp::VOID);

  inline bool isUid();
  inline bool hasUid();
  inline  ::capnp::compiler::LocatedInteger::Builder getUid();
  inline void setUid( ::capnp::compiler::LocatedInteger::Reader value);
  inline  ::capnp::compiler::LocatedInteger::Builder initUid();
  inline void adoptUid(::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> disownUid();

  inline bool isOrdinal();
  inline bool hasOrdinal();
  inline  ::capnp::compiler::LocatedInteger::Builder getOrdinal();
  inline void setOrdinal( ::capnp::compiler::LocatedInteger::Reader value);
  inline  ::capnp::compiler::LocatedInteger::Builder initOrdinal();
  inline void adoptOrdinal(::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> disownOrdinal();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Id::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Id::Builder builder) {
  return ::capnp::_::structString<Declaration::Id>(builder._builder.asReader());
}

class Declaration::Id::Pipeline {
public:
  typedef Id Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Using::Reader {
public:
  typedef Using Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasTarget() const;
  inline  ::capnp::compiler::DeclName::Reader getTarget() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Using::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Using::Reader reader) {
  return ::capnp::_::structString<Declaration::Using>(reader._reader);
}

class Declaration::Using::Builder {
public:
  typedef Using Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasTarget();
  inline  ::capnp::compiler::DeclName::Builder getTarget();
  inline void setTarget( ::capnp::compiler::DeclName::Reader value);
  inline  ::capnp::compiler::DeclName::Builder initTarget();
  inline void adoptTarget(::capnp::Orphan< ::capnp::compiler::DeclName>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::DeclName> disownTarget();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Using::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Using::Builder builder) {
  return ::capnp::_::structString<Declaration::Using>(builder._builder.asReader());
}

class Declaration::Using::Pipeline {
public:
  typedef Using Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::DeclName::Pipeline getTarget();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Const::Reader {
public:
  typedef Const Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasType() const;
  inline  ::capnp::compiler::TypeExpression::Reader getType() const;

  inline bool hasValue() const;
  inline  ::capnp::compiler::ValueExpression::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Const::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Const::Reader reader) {
  return ::capnp::_::structString<Declaration::Const>(reader._reader);
}

class Declaration::Const::Builder {
public:
  typedef Const Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasType();
  inline  ::capnp::compiler::TypeExpression::Builder getType();
  inline void setType( ::capnp::compiler::TypeExpression::Reader value);
  inline  ::capnp::compiler::TypeExpression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> disownType();

  inline bool hasValue();
  inline  ::capnp::compiler::ValueExpression::Builder getValue();
  inline void setValue( ::capnp::compiler::ValueExpression::Reader value);
  inline  ::capnp::compiler::ValueExpression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Const::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Const::Builder builder) {
  return ::capnp::_::structString<Declaration::Const>(builder._builder.asReader());
}

class Declaration::Const::Pipeline {
public:
  typedef Const Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::TypeExpression::Pipeline getType();
  inline  ::capnp::compiler::ValueExpression::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Field::Reader {
public:
  typedef Field Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasType() const;
  inline  ::capnp::compiler::TypeExpression::Reader getType() const;

  inline DefaultValue::Reader getDefaultValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Field::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Field::Reader reader) {
  return ::capnp::_::structString<Declaration::Field>(reader._reader);
}

class Declaration::Field::Builder {
public:
  typedef Field Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasType();
  inline  ::capnp::compiler::TypeExpression::Builder getType();
  inline void setType( ::capnp::compiler::TypeExpression::Reader value);
  inline  ::capnp::compiler::TypeExpression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> disownType();

  inline DefaultValue::Builder getDefaultValue();
  inline DefaultValue::Builder initDefaultValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Field::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Field::Builder builder) {
  return ::capnp::_::structString<Declaration::Field>(builder._builder.asReader());
}

class Declaration::Field::Pipeline {
public:
  typedef Field Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::TypeExpression::Pipeline getType();
  inline DefaultValue::Pipeline getDefaultValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Field::DefaultValue::Reader {
public:
  typedef DefaultValue Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isNone() const;
  inline  ::capnp::Void getNone() const;

  inline bool isValue() const;
  inline bool hasValue() const;
  inline  ::capnp::compiler::ValueExpression::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Field::DefaultValue::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Field::DefaultValue::Reader reader) {
  return ::capnp::_::structString<Declaration::Field::DefaultValue>(reader._reader);
}

class Declaration::Field::DefaultValue::Builder {
public:
  typedef DefaultValue Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isNone();
  inline  ::capnp::Void getNone();
  inline void setNone( ::capnp::Void value = ::capnp::VOID);

  inline bool isValue();
  inline bool hasValue();
  inline  ::capnp::compiler::ValueExpression::Builder getValue();
  inline void setValue( ::capnp::compiler::ValueExpression::Reader value);
  inline  ::capnp::compiler::ValueExpression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Field::DefaultValue::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Field::DefaultValue::Builder builder) {
  return ::capnp::_::structString<Declaration::Field::DefaultValue>(builder._builder.asReader());
}

class Declaration::Field::DefaultValue::Pipeline {
public:
  typedef DefaultValue Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Interface::Reader {
public:
  typedef Interface Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasExtends() const;
  inline  ::capnp::List< ::capnp::compiler::DeclName>::Reader getExtends() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Interface::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Interface::Reader reader) {
  return ::capnp::_::structString<Declaration::Interface>(reader._reader);
}

class Declaration::Interface::Builder {
public:
  typedef Interface Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasExtends();
  inline  ::capnp::List< ::capnp::compiler::DeclName>::Builder getExtends();
  inline void setExtends( ::capnp::List< ::capnp::compiler::DeclName>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::DeclName>::Builder initExtends(unsigned int size);
  inline void adoptExtends(::capnp::Orphan< ::capnp::List< ::capnp::compiler::DeclName>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::DeclName>> disownExtends();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Interface::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Interface::Builder builder) {
  return ::capnp::_::structString<Declaration::Interface>(builder._builder.asReader());
}

class Declaration::Interface::Pipeline {
public:
  typedef Interface Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Method::Reader {
public:
  typedef Method Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasParams() const;
  inline  ::capnp::compiler::Declaration::ParamList::Reader getParams() const;

  inline Results::Reader getResults() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Reader reader) {
  return ::capnp::_::structString<Declaration::Method>(reader._reader);
}

class Declaration::Method::Builder {
public:
  typedef Method Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasParams();
  inline  ::capnp::compiler::Declaration::ParamList::Builder getParams();
  inline void setParams( ::capnp::compiler::Declaration::ParamList::Reader value);
  inline  ::capnp::compiler::Declaration::ParamList::Builder initParams();
  inline void adoptParams(::capnp::Orphan< ::capnp::compiler::Declaration::ParamList>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList> disownParams();

  inline Results::Builder getResults();
  inline Results::Builder initResults();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Builder builder) {
  return ::capnp::_::structString<Declaration::Method>(builder._builder.asReader());
}

class Declaration::Method::Pipeline {
public:
  typedef Method Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::Declaration::ParamList::Pipeline getParams();
  inline Results::Pipeline getResults();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Method::Results::Reader {
public:
  typedef Results Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline Which which() const;
  inline bool isNone() const;
  inline  ::capnp::Void getNone() const;

  inline bool isExplicit() const;
  inline bool hasExplicit() const;
  inline  ::capnp::compiler::Declaration::ParamList::Reader getExplicit() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Results::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Results::Reader reader) {
  return ::capnp::_::structString<Declaration::Method::Results>(reader._reader);
}

class Declaration::Method::Results::Builder {
public:
  typedef Results Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline Which which();
  inline bool isNone();
  inline  ::capnp::Void getNone();
  inline void setNone( ::capnp::Void value = ::capnp::VOID);

  inline bool isExplicit();
  inline bool hasExplicit();
  inline  ::capnp::compiler::Declaration::ParamList::Builder getExplicit();
  inline void setExplicit( ::capnp::compiler::Declaration::ParamList::Reader value);
  inline  ::capnp::compiler::Declaration::ParamList::Builder initExplicit();
  inline void adoptExplicit(::capnp::Orphan< ::capnp::compiler::Declaration::ParamList>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList> disownExplicit();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Results::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Method::Results::Builder builder) {
  return ::capnp::_::structString<Declaration::Method::Results>(builder._builder.asReader());
}

class Declaration::Method::Results::Pipeline {
public:
  typedef Results Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class Declaration::Annotation::Reader {
public:
  typedef Annotation Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasType() const;
  inline  ::capnp::compiler::TypeExpression::Reader getType() const;

  inline bool getTargetsFile() const;

  inline bool getTargetsConst() const;

  inline bool getTargetsEnum() const;

  inline bool getTargetsEnumerant() const;

  inline bool getTargetsStruct() const;

  inline bool getTargetsField() const;

  inline bool getTargetsUnion() const;

  inline bool getTargetsGroup() const;

  inline bool getTargetsInterface() const;

  inline bool getTargetsMethod() const;

  inline bool getTargetsParam() const;

  inline bool getTargetsAnnotation() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Annotation::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Annotation::Reader reader) {
  return ::capnp::_::structString<Declaration::Annotation>(reader._reader);
}

class Declaration::Annotation::Builder {
public:
  typedef Annotation Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasType();
  inline  ::capnp::compiler::TypeExpression::Builder getType();
  inline void setType( ::capnp::compiler::TypeExpression::Reader value);
  inline  ::capnp::compiler::TypeExpression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> disownType();

  inline bool getTargetsFile();
  inline void setTargetsFile(bool value);

  inline bool getTargetsConst();
  inline void setTargetsConst(bool value);

  inline bool getTargetsEnum();
  inline void setTargetsEnum(bool value);

  inline bool getTargetsEnumerant();
  inline void setTargetsEnumerant(bool value);

  inline bool getTargetsStruct();
  inline void setTargetsStruct(bool value);

  inline bool getTargetsField();
  inline void setTargetsField(bool value);

  inline bool getTargetsUnion();
  inline void setTargetsUnion(bool value);

  inline bool getTargetsGroup();
  inline void setTargetsGroup(bool value);

  inline bool getTargetsInterface();
  inline void setTargetsInterface(bool value);

  inline bool getTargetsMethod();
  inline void setTargetsMethod(bool value);

  inline bool getTargetsParam();
  inline void setTargetsParam(bool value);

  inline bool getTargetsAnnotation();
  inline void setTargetsAnnotation(bool value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(Declaration::Annotation::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(Declaration::Annotation::Builder builder) {
  return ::capnp::_::structString<Declaration::Annotation>(builder._builder.asReader());
}

class Declaration::Annotation::Pipeline {
public:
  typedef Annotation Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::TypeExpression::Pipeline getType();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

class ParsedFile::Reader {
public:
  typedef ParsedFile Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

  inline bool hasRoot() const;
  inline  ::capnp::compiler::Declaration::Reader getRoot() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::_::PointerHelpers;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ParsedFile::Reader reader);
};

inline ::kj::StringTree KJ_STRINGIFY(ParsedFile::Reader reader) {
  return ::capnp::_::structString<ParsedFile>(reader._reader);
}

class ParsedFile::Builder {
public:
  typedef ParsedFile Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }

  inline bool hasRoot();
  inline  ::capnp::compiler::Declaration::Builder getRoot();
  inline void setRoot( ::capnp::compiler::Declaration::Reader value);
  inline  ::capnp::compiler::Declaration::Builder initRoot();
  inline void adoptRoot(::capnp::Orphan< ::capnp::compiler::Declaration>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Declaration> disownRoot();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  friend ::kj::StringTree KJ_STRINGIFY(ParsedFile::Builder builder);
};

inline ::kj::StringTree KJ_STRINGIFY(ParsedFile::Builder builder) {
  return ::capnp::_::structString<ParsedFile>(builder._builder.asReader());
}

class ParsedFile::Pipeline {
public:
  typedef ParsedFile Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

  inline  ::capnp::compiler::Declaration::Pipeline getRoot();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  template <typename T, ::capnp::Kind k>
  friend struct ::capnp::ToDynamic_;
};

// =======================================================================================

inline bool LocatedText::Reader::hasValue() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool LocatedText::Builder::hasValue() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader LocatedText::Reader::getValue() const {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder LocatedText::Builder::getValue() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void LocatedText::Builder::setValue( ::capnp::Text::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder LocatedText::Builder::initValue(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS), size);
}
inline void LocatedText::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> LocatedText::Builder::disownValue() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline  ::uint32_t LocatedText::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedText::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS);
}
inline void LocatedText::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t LocatedText::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedText::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void LocatedText::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint64_t LocatedInteger::Reader::getValue() const {
  return _reader.getDataField< ::uint64_t>(
      0 * ::capnp::ELEMENTS);
}

inline  ::uint64_t LocatedInteger::Builder::getValue() {
  return _builder.getDataField< ::uint64_t>(
      0 * ::capnp::ELEMENTS);
}
inline void LocatedInteger::Builder::setValue( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      0 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t LocatedInteger::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedInteger::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void LocatedInteger::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t LocatedInteger::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedInteger::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS);
}
inline void LocatedInteger::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS, value);
}

inline double LocatedFloat::Reader::getValue() const {
  return _reader.getDataField<double>(
      0 * ::capnp::ELEMENTS);
}

inline double LocatedFloat::Builder::getValue() {
  return _builder.getDataField<double>(
      0 * ::capnp::ELEMENTS);
}
inline void LocatedFloat::Builder::setValue(double value) {
  _builder.setDataField<double>(
      0 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t LocatedFloat::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedFloat::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void LocatedFloat::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t LocatedFloat::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS);
}

inline  ::uint32_t LocatedFloat::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS);
}
inline void LocatedFloat::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      3 * ::capnp::ELEMENTS, value);
}

inline DeclName::Base::Reader DeclName::Reader::getBase() const {
  return DeclName::Base::Reader(_reader);
}
inline DeclName::Base::Builder DeclName::Builder::getBase() {
  return DeclName::Base::Builder(_builder);
}
inline DeclName::Base::Pipeline DeclName::Pipeline::getBase() {
  return DeclName::Base::Pipeline(_typeless.noop());
}
inline DeclName::Base::Builder DeclName::Builder::initBase() {
  _builder.setDataField< ::uint16_t>(0 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(0 * ::capnp::POINTERS).clear();
  return DeclName::Base::Builder(_builder);
}
inline bool DeclName::Reader::hasMemberPath() const {
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool DeclName::Builder::hasMemberPath() {
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::LocatedText>::Reader DeclName::Reader::getMemberPath() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::LocatedText>::Builder DeclName::Builder::getMemberPath() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void DeclName::Builder::setMemberPath( ::capnp::List< ::capnp::compiler::LocatedText>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::LocatedText>::Builder DeclName::Builder::initMemberPath(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS), size);
}
inline void DeclName::Builder::adoptMemberPath(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::LocatedText>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::LocatedText>> DeclName::Builder::disownMemberPath() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::LocatedText>>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline  ::uint32_t DeclName::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t DeclName::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void DeclName::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t DeclName::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t DeclName::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void DeclName::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline DeclName::Base::Which DeclName::Base::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline DeclName::Base::Which DeclName::Base::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool DeclName::Base::Reader::isAbsoluteName() const {
  return which() == DeclName::Base::ABSOLUTE_NAME;
}
inline bool DeclName::Base::Builder::isAbsoluteName() {
  return which() == DeclName::Base::ABSOLUTE_NAME;
}
inline bool DeclName::Base::Reader::hasAbsoluteName() const {
  if (which() != DeclName::Base::ABSOLUTE_NAME) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool DeclName::Base::Builder::hasAbsoluteName() {
  if (which() != DeclName::Base::ABSOLUTE_NAME) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader DeclName::Base::Reader::getAbsoluteName() const {
  KJ_IREQUIRE(which() == DeclName::Base::ABSOLUTE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::getAbsoluteName() {
  KJ_IREQUIRE(which() == DeclName::Base::ABSOLUTE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::setAbsoluteName( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::ABSOLUTE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::initAbsoluteName() {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::ABSOLUTE_NAME);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::adoptAbsoluteName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::ABSOLUTE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> DeclName::Base::Builder::disownAbsoluteName() {
  KJ_IREQUIRE(which() == DeclName::Base::ABSOLUTE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool DeclName::Base::Reader::isRelativeName() const {
  return which() == DeclName::Base::RELATIVE_NAME;
}
inline bool DeclName::Base::Builder::isRelativeName() {
  return which() == DeclName::Base::RELATIVE_NAME;
}
inline bool DeclName::Base::Reader::hasRelativeName() const {
  if (which() != DeclName::Base::RELATIVE_NAME) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool DeclName::Base::Builder::hasRelativeName() {
  if (which() != DeclName::Base::RELATIVE_NAME) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader DeclName::Base::Reader::getRelativeName() const {
  KJ_IREQUIRE(which() == DeclName::Base::RELATIVE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::getRelativeName() {
  KJ_IREQUIRE(which() == DeclName::Base::RELATIVE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::setRelativeName( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::RELATIVE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::initRelativeName() {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::RELATIVE_NAME);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::adoptRelativeName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::RELATIVE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> DeclName::Base::Builder::disownRelativeName() {
  KJ_IREQUIRE(which() == DeclName::Base::RELATIVE_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool DeclName::Base::Reader::isImportName() const {
  return which() == DeclName::Base::IMPORT_NAME;
}
inline bool DeclName::Base::Builder::isImportName() {
  return which() == DeclName::Base::IMPORT_NAME;
}
inline bool DeclName::Base::Reader::hasImportName() const {
  if (which() != DeclName::Base::IMPORT_NAME) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool DeclName::Base::Builder::hasImportName() {
  if (which() != DeclName::Base::IMPORT_NAME) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader DeclName::Base::Reader::getImportName() const {
  KJ_IREQUIRE(which() == DeclName::Base::IMPORT_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::getImportName() {
  KJ_IREQUIRE(which() == DeclName::Base::IMPORT_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::setImportName( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::IMPORT_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder DeclName::Base::Builder::initImportName() {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::IMPORT_NAME);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void DeclName::Base::Builder::adoptImportName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<DeclName::Base::Which>(
      0 * ::capnp::ELEMENTS, DeclName::Base::IMPORT_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> DeclName::Base::Builder::disownImportName() {
  KJ_IREQUIRE(which() == DeclName::Base::IMPORT_NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool TypeExpression::Reader::hasName() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool TypeExpression::Builder::hasName() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::DeclName::Reader TypeExpression::Reader::getName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Builder TypeExpression::Builder::getName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Pipeline TypeExpression::Pipeline::getName() {
  return  ::capnp::compiler::DeclName::Pipeline(_typeless.getPointerField(0));
}
inline void TypeExpression::Builder::setName( ::capnp::compiler::DeclName::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::DeclName::Builder TypeExpression::Builder::initName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void TypeExpression::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::DeclName>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::DeclName> TypeExpression::Builder::disownName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool TypeExpression::Reader::hasParams() const {
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool TypeExpression::Builder::hasParams() {
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Reader TypeExpression::Reader::getParams() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Builder TypeExpression::Builder::getParams() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void TypeExpression::Builder::setParams( ::capnp::List< ::capnp::compiler::TypeExpression>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::TypeExpression>::Builder TypeExpression::Builder::initParams(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS), size);
}
inline void TypeExpression::Builder::adoptParams(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::TypeExpression>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::TypeExpression>> TypeExpression::Builder::disownParams() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::TypeExpression>>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline  ::uint32_t TypeExpression::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS);
}

inline  ::uint32_t TypeExpression::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS);
}
inline void TypeExpression::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      0 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t TypeExpression::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t TypeExpression::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void TypeExpression::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline ValueExpression::Which ValueExpression::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline ValueExpression::Which ValueExpression::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool ValueExpression::Reader::isUnknown() const {
  return which() == ValueExpression::UNKNOWN;
}
inline bool ValueExpression::Builder::isUnknown() {
  return which() == ValueExpression::UNKNOWN;
}
inline  ::capnp::Void ValueExpression::Reader::getUnknown() const {
  KJ_IREQUIRE(which() == ValueExpression::UNKNOWN,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void ValueExpression::Builder::getUnknown() {
  KJ_IREQUIRE(which() == ValueExpression::UNKNOWN,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setUnknown( ::capnp::Void value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::UNKNOWN);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool ValueExpression::Reader::isPositiveInt() const {
  return which() == ValueExpression::POSITIVE_INT;
}
inline bool ValueExpression::Builder::isPositiveInt() {
  return which() == ValueExpression::POSITIVE_INT;
}
inline  ::uint64_t ValueExpression::Reader::getPositiveInt() const {
  KJ_IREQUIRE(which() == ValueExpression::POSITIVE_INT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint64_t ValueExpression::Builder::getPositiveInt() {
  KJ_IREQUIRE(which() == ValueExpression::POSITIVE_INT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setPositiveInt( ::uint64_t value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::POSITIVE_INT);
  _builder.setDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline bool ValueExpression::Reader::isNegativeInt() const {
  return which() == ValueExpression::NEGATIVE_INT;
}
inline bool ValueExpression::Builder::isNegativeInt() {
  return which() == ValueExpression::NEGATIVE_INT;
}
inline  ::uint64_t ValueExpression::Reader::getNegativeInt() const {
  KJ_IREQUIRE(which() == ValueExpression::NEGATIVE_INT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint64_t ValueExpression::Builder::getNegativeInt() {
  KJ_IREQUIRE(which() == ValueExpression::NEGATIVE_INT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setNegativeInt( ::uint64_t value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::NEGATIVE_INT);
  _builder.setDataField< ::uint64_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline bool ValueExpression::Reader::isFloat() const {
  return which() == ValueExpression::FLOAT;
}
inline bool ValueExpression::Builder::isFloat() {
  return which() == ValueExpression::FLOAT;
}
inline double ValueExpression::Reader::getFloat() const {
  KJ_IREQUIRE(which() == ValueExpression::FLOAT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField<double>(
      1 * ::capnp::ELEMENTS);
}

inline double ValueExpression::Builder::getFloat() {
  KJ_IREQUIRE(which() == ValueExpression::FLOAT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField<double>(
      1 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setFloat(double value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::FLOAT);
  _builder.setDataField<double>(
      1 * ::capnp::ELEMENTS, value);
}

inline bool ValueExpression::Reader::isString() const {
  return which() == ValueExpression::STRING;
}
inline bool ValueExpression::Builder::isString() {
  return which() == ValueExpression::STRING;
}
inline bool ValueExpression::Reader::hasString() const {
  if (which() != ValueExpression::STRING) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::Builder::hasString() {
  if (which() != ValueExpression::STRING) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader ValueExpression::Reader::getString() const {
  KJ_IREQUIRE(which() == ValueExpression::STRING,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder ValueExpression::Builder::getString() {
  KJ_IREQUIRE(which() == ValueExpression::STRING,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::Builder::setString( ::capnp::Text::Reader value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRING);
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder ValueExpression::Builder::initString(unsigned int size) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRING);
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS), size);
}
inline void ValueExpression::Builder::adoptString(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRING);
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> ValueExpression::Builder::disownString() {
  KJ_IREQUIRE(which() == ValueExpression::STRING,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool ValueExpression::Reader::isName() const {
  return which() == ValueExpression::NAME;
}
inline bool ValueExpression::Builder::isName() {
  return which() == ValueExpression::NAME;
}
inline bool ValueExpression::Reader::hasName() const {
  if (which() != ValueExpression::NAME) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::Builder::hasName() {
  if (which() != ValueExpression::NAME) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::DeclName::Reader ValueExpression::Reader::getName() const {
  KJ_IREQUIRE(which() == ValueExpression::NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Builder ValueExpression::Builder::getName() {
  KJ_IREQUIRE(which() == ValueExpression::NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::Builder::setName( ::capnp::compiler::DeclName::Reader value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::DeclName::Builder ValueExpression::Builder::initName() {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::NAME);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::DeclName>&& value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::DeclName> ValueExpression::Builder::disownName() {
  KJ_IREQUIRE(which() == ValueExpression::NAME,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool ValueExpression::Reader::isList() const {
  return which() == ValueExpression::LIST;
}
inline bool ValueExpression::Builder::isList() {
  return which() == ValueExpression::LIST;
}
inline bool ValueExpression::Reader::hasList() const {
  if (which() != ValueExpression::LIST) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::Builder::hasList() {
  if (which() != ValueExpression::LIST) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Reader ValueExpression::Reader::getList() const {
  KJ_IREQUIRE(which() == ValueExpression::LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Builder ValueExpression::Builder::getList() {
  KJ_IREQUIRE(which() == ValueExpression::LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::Builder::setList( ::capnp::List< ::capnp::compiler::ValueExpression>::Reader value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression>::Builder ValueExpression::Builder::initList(unsigned int size) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::LIST);
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS), size);
}
inline void ValueExpression::Builder::adoptList(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression>>&& value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression>> ValueExpression::Builder::disownList() {
  KJ_IREQUIRE(which() == ValueExpression::LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression>>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool ValueExpression::Reader::isStruct() const {
  return which() == ValueExpression::STRUCT;
}
inline bool ValueExpression::Builder::isStruct() {
  return which() == ValueExpression::STRUCT;
}
inline bool ValueExpression::Reader::hasStruct() const {
  if (which() != ValueExpression::STRUCT) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::Builder::hasStruct() {
  if (which() != ValueExpression::STRUCT) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Reader ValueExpression::Reader::getStruct() const {
  KJ_IREQUIRE(which() == ValueExpression::STRUCT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Builder ValueExpression::Builder::getStruct() {
  KJ_IREQUIRE(which() == ValueExpression::STRUCT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::Builder::setStruct( ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Reader value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRUCT);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>::Builder ValueExpression::Builder::initStruct(unsigned int size) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRUCT);
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS), size);
}
inline void ValueExpression::Builder::adoptStruct(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>&& value) {
  _builder.setDataField<ValueExpression::Which>(
      0 * ::capnp::ELEMENTS, ValueExpression::STRUCT);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>> ValueExpression::Builder::disownStruct() {
  KJ_IREQUIRE(which() == ValueExpression::STRUCT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::ValueExpression::FieldAssignment>>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline  ::uint32_t ValueExpression::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t ValueExpression::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t ValueExpression::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      4 * ::capnp::ELEMENTS);
}

inline  ::uint32_t ValueExpression::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      4 * ::capnp::ELEMENTS);
}
inline void ValueExpression::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      4 * ::capnp::ELEMENTS, value);
}

inline bool ValueExpression::FieldAssignment::Reader::hasFieldName() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::FieldAssignment::Builder::hasFieldName() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader ValueExpression::FieldAssignment::Reader::getFieldName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder ValueExpression::FieldAssignment::Builder::getFieldName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Pipeline ValueExpression::FieldAssignment::Pipeline::getFieldName() {
  return  ::capnp::compiler::LocatedText::Pipeline(_typeless.getPointerField(0));
}
inline void ValueExpression::FieldAssignment::Builder::setFieldName( ::capnp::compiler::LocatedText::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder ValueExpression::FieldAssignment::Builder::initFieldName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ValueExpression::FieldAssignment::Builder::adoptFieldName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> ValueExpression::FieldAssignment::Builder::disownFieldName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool ValueExpression::FieldAssignment::Reader::hasValue() const {
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool ValueExpression::FieldAssignment::Builder::hasValue() {
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::ValueExpression::Reader ValueExpression::FieldAssignment::Reader::getValue() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Builder ValueExpression::FieldAssignment::Builder::getValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Pipeline ValueExpression::FieldAssignment::Pipeline::getValue() {
  return  ::capnp::compiler::ValueExpression::Pipeline(_typeless.getPointerField(1));
}
inline void ValueExpression::FieldAssignment::Builder::setValue( ::capnp::compiler::ValueExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::ValueExpression::Builder ValueExpression::FieldAssignment::Builder::initValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void ValueExpression::FieldAssignment::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> ValueExpression::FieldAssignment::Builder::disownValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline Declaration::Which Declaration::Reader::which() const {
  return _reader.getDataField<Which>(1 * ::capnp::ELEMENTS);
}
inline Declaration::Which Declaration::Builder::which() {
  return _builder.getDataField<Which>(1 * ::capnp::ELEMENTS);
}

inline bool Declaration::Reader::hasName() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasName() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Declaration::Reader::getName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Builder::getName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Pipeline Declaration::Pipeline::getName() {
  return  ::capnp::compiler::LocatedText::Pipeline(_typeless.getPointerField(0));
}
inline void Declaration::Builder::setName( ::capnp::compiler::LocatedText::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Builder::initName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Declaration::Builder::disownName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline Declaration::Id::Reader Declaration::Reader::getId() const {
  return Declaration::Id::Reader(_reader);
}
inline Declaration::Id::Builder Declaration::Builder::getId() {
  return Declaration::Id::Builder(_builder);
}
inline Declaration::Id::Pipeline Declaration::Pipeline::getId() {
  return Declaration::Id::Pipeline(_typeless.noop());
}
inline Declaration::Id::Builder Declaration::Builder::initId() {
  _builder.setDataField< ::uint16_t>(0 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(1 * ::capnp::POINTERS).clear();
  return Declaration::Id::Builder(_builder);
}
inline bool Declaration::Reader::hasNestedDecls() const {
  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNestedDecls() {
  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Declaration>::Reader Declaration::Reader::getNestedDecls() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::get(
      _reader.getPointerField(2 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration>::Builder Declaration::Builder::getNestedDecls() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::get(
      _builder.getPointerField(2 * ::capnp::POINTERS));
}
inline void Declaration::Builder::setNestedDecls( ::capnp::List< ::capnp::compiler::Declaration>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::set(
      _builder.getPointerField(2 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration>::Builder Declaration::Builder::initNestedDecls(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::init(
      _builder.getPointerField(2 * ::capnp::POINTERS), size);
}
inline void Declaration::Builder::adoptNestedDecls(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::adopt(
      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration>> Declaration::Builder::disownNestedDecls() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::disown(
      _builder.getPointerField(2 * ::capnp::POINTERS));
}

inline bool Declaration::Reader::hasAnnotations() const {
  return !_reader.getPointerField(3 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasAnnotations() {
  return !_builder.getPointerField(3 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader Declaration::Reader::getAnnotations() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::get(
      _reader.getPointerField(3 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder Declaration::Builder::getAnnotations() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::get(
      _builder.getPointerField(3 * ::capnp::POINTERS));
}
inline void Declaration::Builder::setAnnotations( ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::set(
      _builder.getPointerField(3 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder Declaration::Builder::initAnnotations(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::init(
      _builder.getPointerField(3 * ::capnp::POINTERS), size);
}
inline void Declaration::Builder::adoptAnnotations(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::adopt(
      _builder.getPointerField(3 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>> Declaration::Builder::disownAnnotations() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::disown(
      _builder.getPointerField(3 * ::capnp::POINTERS));
}

inline  ::uint32_t Declaration::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t Declaration::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::hasDocComment() const {
  return !_reader.getPointerField(4 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasDocComment() {
  return !_builder.getPointerField(4 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader Declaration::Reader::getDocComment() const {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _reader.getPointerField(4 * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder Declaration::Builder::getDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
      _builder.getPointerField(4 * ::capnp::POINTERS));
}
inline void Declaration::Builder::setDocComment( ::capnp::Text::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
      _builder.getPointerField(4 * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder Declaration::Builder::initDocComment(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
      _builder.getPointerField(4 * ::capnp::POINTERS), size);
}
inline void Declaration::Builder::adoptDocComment(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
      _builder.getPointerField(4 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> Declaration::Builder::disownDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
      _builder.getPointerField(4 * ::capnp::POINTERS));
}

inline bool Declaration::Reader::isFile() const {
  return which() == Declaration::FILE;
}
inline bool Declaration::Builder::isFile() {
  return which() == Declaration::FILE;
}
inline  ::capnp::Void Declaration::Reader::getFile() const {
  KJ_IREQUIRE(which() == Declaration::FILE,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getFile() {
  KJ_IREQUIRE(which() == Declaration::FILE,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setFile( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::FILE);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isUsing() const {
  return which() == Declaration::USING;
}
inline bool Declaration::Builder::isUsing() {
  return which() == Declaration::USING;
}
inline Declaration::Using::Reader Declaration::Reader::getUsing() const {
  KJ_IREQUIRE(which() == Declaration::USING,
              "Must check which() before get()ing a union member.");
  return Declaration::Using::Reader(_reader);
}
inline Declaration::Using::Builder Declaration::Builder::getUsing() {
  KJ_IREQUIRE(which() == Declaration::USING,
              "Must check which() before get()ing a union member.");
  return Declaration::Using::Builder(_builder);
}
inline Declaration::Using::Builder Declaration::Builder::initUsing() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::USING);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  return Declaration::Using::Builder(_builder);
}
inline bool Declaration::Reader::isConst() const {
  return which() == Declaration::CONST;
}
inline bool Declaration::Builder::isConst() {
  return which() == Declaration::CONST;
}
inline Declaration::Const::Reader Declaration::Reader::getConst() const {
  KJ_IREQUIRE(which() == Declaration::CONST,
              "Must check which() before get()ing a union member.");
  return Declaration::Const::Reader(_reader);
}
inline Declaration::Const::Builder Declaration::Builder::getConst() {
  KJ_IREQUIRE(which() == Declaration::CONST,
              "Must check which() before get()ing a union member.");
  return Declaration::Const::Builder(_builder);
}
inline Declaration::Const::Builder Declaration::Builder::initConst() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::CONST);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  _builder.getPointerField(6 * ::capnp::POINTERS).clear();
  return Declaration::Const::Builder(_builder);
}
inline bool Declaration::Reader::isEnum() const {
  return which() == Declaration::ENUM;
}
inline bool Declaration::Builder::isEnum() {
  return which() == Declaration::ENUM;
}
inline  ::capnp::Void Declaration::Reader::getEnum() const {
  KJ_IREQUIRE(which() == Declaration::ENUM,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getEnum() {
  KJ_IREQUIRE(which() == Declaration::ENUM,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setEnum( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::ENUM);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isEnumerant() const {
  return which() == Declaration::ENUMERANT;
}
inline bool Declaration::Builder::isEnumerant() {
  return which() == Declaration::ENUMERANT;
}
inline  ::capnp::Void Declaration::Reader::getEnumerant() const {
  KJ_IREQUIRE(which() == Declaration::ENUMERANT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getEnumerant() {
  KJ_IREQUIRE(which() == Declaration::ENUMERANT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setEnumerant( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::ENUMERANT);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isStruct() const {
  return which() == Declaration::STRUCT;
}
inline bool Declaration::Builder::isStruct() {
  return which() == Declaration::STRUCT;
}
inline  ::capnp::Void Declaration::Reader::getStruct() const {
  KJ_IREQUIRE(which() == Declaration::STRUCT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getStruct() {
  KJ_IREQUIRE(which() == Declaration::STRUCT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setStruct( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::STRUCT);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isField() const {
  return which() == Declaration::FIELD;
}
inline bool Declaration::Builder::isField() {
  return which() == Declaration::FIELD;
}
inline Declaration::Field::Reader Declaration::Reader::getField() const {
  KJ_IREQUIRE(which() == Declaration::FIELD,
              "Must check which() before get()ing a union member.");
  return Declaration::Field::Reader(_reader);
}
inline Declaration::Field::Builder Declaration::Builder::getField() {
  KJ_IREQUIRE(which() == Declaration::FIELD,
              "Must check which() before get()ing a union member.");
  return Declaration::Field::Builder(_builder);
}
inline Declaration::Field::Builder Declaration::Builder::initField() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::FIELD);
  _builder.setDataField< ::uint16_t>(6 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  _builder.getPointerField(6 * ::capnp::POINTERS).clear();
  return Declaration::Field::Builder(_builder);
}
inline bool Declaration::Reader::isUnion() const {
  return which() == Declaration::UNION;
}
inline bool Declaration::Builder::isUnion() {
  return which() == Declaration::UNION;
}
inline  ::capnp::Void Declaration::Reader::getUnion() const {
  KJ_IREQUIRE(which() == Declaration::UNION,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getUnion() {
  KJ_IREQUIRE(which() == Declaration::UNION,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setUnion( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::UNION);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isGroup() const {
  return which() == Declaration::GROUP;
}
inline bool Declaration::Builder::isGroup() {
  return which() == Declaration::GROUP;
}
inline  ::capnp::Void Declaration::Reader::getGroup() const {
  KJ_IREQUIRE(which() == Declaration::GROUP,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getGroup() {
  KJ_IREQUIRE(which() == Declaration::GROUP,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setGroup( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::GROUP);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isInterface() const {
  return which() == Declaration::INTERFACE;
}
inline bool Declaration::Builder::isInterface() {
  return which() == Declaration::INTERFACE;
}
inline Declaration::Interface::Reader Declaration::Reader::getInterface() const {
  KJ_IREQUIRE(which() == Declaration::INTERFACE,
              "Must check which() before get()ing a union member.");
  return Declaration::Interface::Reader(_reader);
}
inline Declaration::Interface::Builder Declaration::Builder::getInterface() {
  KJ_IREQUIRE(which() == Declaration::INTERFACE,
              "Must check which() before get()ing a union member.");
  return Declaration::Interface::Builder(_builder);
}
inline Declaration::Interface::Builder Declaration::Builder::initInterface() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::INTERFACE);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  return Declaration::Interface::Builder(_builder);
}
inline bool Declaration::Reader::isMethod() const {
  return which() == Declaration::METHOD;
}
inline bool Declaration::Builder::isMethod() {
  return which() == Declaration::METHOD;
}
inline Declaration::Method::Reader Declaration::Reader::getMethod() const {
  KJ_IREQUIRE(which() == Declaration::METHOD,
              "Must check which() before get()ing a union member.");
  return Declaration::Method::Reader(_reader);
}
inline Declaration::Method::Builder Declaration::Builder::getMethod() {
  KJ_IREQUIRE(which() == Declaration::METHOD,
              "Must check which() before get()ing a union member.");
  return Declaration::Method::Builder(_builder);
}
inline Declaration::Method::Builder Declaration::Builder::initMethod() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::METHOD);
  _builder.setDataField< ::uint16_t>(6 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  _builder.getPointerField(6 * ::capnp::POINTERS).clear();
  return Declaration::Method::Builder(_builder);
}
inline bool Declaration::Reader::isAnnotation() const {
  return which() == Declaration::ANNOTATION;
}
inline bool Declaration::Builder::isAnnotation() {
  return which() == Declaration::ANNOTATION;
}
inline Declaration::Annotation::Reader Declaration::Reader::getAnnotation() const {
  KJ_IREQUIRE(which() == Declaration::ANNOTATION,
              "Must check which() before get()ing a union member.");
  return Declaration::Annotation::Reader(_reader);
}
inline Declaration::Annotation::Builder Declaration::Builder::getAnnotation() {
  KJ_IREQUIRE(which() == Declaration::ANNOTATION,
              "Must check which() before get()ing a union member.");
  return Declaration::Annotation::Builder(_builder);
}
inline Declaration::Annotation::Builder Declaration::Builder::initAnnotation() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::ANNOTATION);
  _builder.setDataField<bool>(96 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(97 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(98 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(99 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(100 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(101 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(102 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(103 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(104 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(105 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(106 * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(107 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(5 * ::capnp::POINTERS).clear();
  return Declaration::Annotation::Builder(_builder);
}
inline bool Declaration::Reader::isNakedId() const {
  return which() == Declaration::NAKED_ID;
}
inline bool Declaration::Builder::isNakedId() {
  return which() == Declaration::NAKED_ID;
}
inline bool Declaration::Reader::hasNakedId() const {
  if (which() != Declaration::NAKED_ID) return false;
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNakedId() {
  if (which() != Declaration::NAKED_ID) return false;
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedInteger::Reader Declaration::Reader::getNakedId() const {
  KJ_IREQUIRE(which() == Declaration::NAKED_ID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Builder::getNakedId() {
  KJ_IREQUIRE(which() == Declaration::NAKED_ID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Builder::setNakedId( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Builder::initNakedId() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Builder::adoptNakedId(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> Declaration::Builder::disownNakedId() {
  KJ_IREQUIRE(which() == Declaration::NAKED_ID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Reader::isNakedAnnotation() const {
  return which() == Declaration::NAKED_ANNOTATION;
}
inline bool Declaration::Builder::isNakedAnnotation() {
  return which() == Declaration::NAKED_ANNOTATION;
}
inline bool Declaration::Reader::hasNakedAnnotation() const {
  if (which() != Declaration::NAKED_ANNOTATION) return false;
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNakedAnnotation() {
  if (which() != Declaration::NAKED_ANNOTATION) return false;
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Reader Declaration::Reader::getNakedAnnotation() const {
  KJ_IREQUIRE(which() == Declaration::NAKED_ANNOTATION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Builder Declaration::Builder::getNakedAnnotation() {
  KJ_IREQUIRE(which() == Declaration::NAKED_ANNOTATION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Builder::setNakedAnnotation( ::capnp::compiler::Declaration::AnnotationApplication::Reader value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Builder Declaration::Builder::initNakedAnnotation() {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Builder::adoptNakedAnnotation(
    ::capnp::Orphan< ::capnp::compiler::Declaration::AnnotationApplication>&& value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Declaration::AnnotationApplication> Declaration::Builder::disownNakedAnnotation() {
  KJ_IREQUIRE(which() == Declaration::NAKED_ANNOTATION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Reader::isBuiltinVoid() const {
  return which() == Declaration::BUILTIN_VOID;
}
inline bool Declaration::Builder::isBuiltinVoid() {
  return which() == Declaration::BUILTIN_VOID;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinVoid() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_VOID,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinVoid() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_VOID,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinVoid( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_VOID);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinBool() const {
  return which() == Declaration::BUILTIN_BOOL;
}
inline bool Declaration::Builder::isBuiltinBool() {
  return which() == Declaration::BUILTIN_BOOL;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinBool() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_BOOL,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinBool() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_BOOL,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinBool( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_BOOL);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinInt8() const {
  return which() == Declaration::BUILTIN_INT8;
}
inline bool Declaration::Builder::isBuiltinInt8() {
  return which() == Declaration::BUILTIN_INT8;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinInt8() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT8,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinInt8() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT8,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt8( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_INT8);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinInt16() const {
  return which() == Declaration::BUILTIN_INT16;
}
inline bool Declaration::Builder::isBuiltinInt16() {
  return which() == Declaration::BUILTIN_INT16;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinInt16() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT16,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinInt16() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT16,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt16( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_INT16);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinInt32() const {
  return which() == Declaration::BUILTIN_INT32;
}
inline bool Declaration::Builder::isBuiltinInt32() {
  return which() == Declaration::BUILTIN_INT32;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinInt32() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT32,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinInt32() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT32,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_INT32);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinInt64() const {
  return which() == Declaration::BUILTIN_INT64;
}
inline bool Declaration::Builder::isBuiltinInt64() {
  return which() == Declaration::BUILTIN_INT64;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinInt64() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT64,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinInt64() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_INT64,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_INT64);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinUInt8() const {
  return which() == Declaration::BUILTIN_U_INT8;
}
inline bool Declaration::Builder::isBuiltinUInt8() {
  return which() == Declaration::BUILTIN_U_INT8;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinUInt8() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT8,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinUInt8() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT8,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt8( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT8);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinUInt16() const {
  return which() == Declaration::BUILTIN_U_INT16;
}
inline bool Declaration::Builder::isBuiltinUInt16() {
  return which() == Declaration::BUILTIN_U_INT16;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinUInt16() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT16,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinUInt16() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT16,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt16( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT16);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinUInt32() const {
  return which() == Declaration::BUILTIN_U_INT32;
}
inline bool Declaration::Builder::isBuiltinUInt32() {
  return which() == Declaration::BUILTIN_U_INT32;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinUInt32() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT32,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinUInt32() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT32,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT32);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinUInt64() const {
  return which() == Declaration::BUILTIN_U_INT64;
}
inline bool Declaration::Builder::isBuiltinUInt64() {
  return which() == Declaration::BUILTIN_U_INT64;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinUInt64() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT64,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinUInt64() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_U_INT64,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT64);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinFloat32() const {
  return which() == Declaration::BUILTIN_FLOAT32;
}
inline bool Declaration::Builder::isBuiltinFloat32() {
  return which() == Declaration::BUILTIN_FLOAT32;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinFloat32() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_FLOAT32,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinFloat32() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_FLOAT32,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinFloat32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_FLOAT32);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinFloat64() const {
  return which() == Declaration::BUILTIN_FLOAT64;
}
inline bool Declaration::Builder::isBuiltinFloat64() {
  return which() == Declaration::BUILTIN_FLOAT64;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinFloat64() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_FLOAT64,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinFloat64() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_FLOAT64,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinFloat64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_FLOAT64);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinText() const {
  return which() == Declaration::BUILTIN_TEXT;
}
inline bool Declaration::Builder::isBuiltinText() {
  return which() == Declaration::BUILTIN_TEXT;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinText() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_TEXT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinText() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_TEXT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinText( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_TEXT);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinData() const {
  return which() == Declaration::BUILTIN_DATA;
}
inline bool Declaration::Builder::isBuiltinData() {
  return which() == Declaration::BUILTIN_DATA;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinData() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_DATA,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinData() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_DATA,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinData( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_DATA);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinList() const {
  return which() == Declaration::BUILTIN_LIST;
}
inline bool Declaration::Builder::isBuiltinList() {
  return which() == Declaration::BUILTIN_LIST;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinList() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_LIST,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinList() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_LIST,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinList( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_LIST);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinObject() const {
  return which() == Declaration::BUILTIN_OBJECT;
}
inline bool Declaration::Builder::isBuiltinObject() {
  return which() == Declaration::BUILTIN_OBJECT;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinObject() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_OBJECT,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinObject() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_OBJECT,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinObject( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_OBJECT);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isBuiltinAnyPointer() const {
  return which() == Declaration::BUILTIN_ANY_POINTER;
}
inline bool Declaration::Builder::isBuiltinAnyPointer() {
  return which() == Declaration::BUILTIN_ANY_POINTER;
}
inline  ::capnp::Void Declaration::Reader::getBuiltinAnyPointer() const {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_ANY_POINTER,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Builder::getBuiltinAnyPointer() {
  KJ_IREQUIRE(which() == Declaration::BUILTIN_ANY_POINTER,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinAnyPointer( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      1 * ::capnp::ELEMENTS, Declaration::BUILTIN_ANY_POINTER);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::AnnotationApplication::Reader::hasName() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::AnnotationApplication::Builder::hasName() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::DeclName::Reader Declaration::AnnotationApplication::Reader::getName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Builder Declaration::AnnotationApplication::Builder::getName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Pipeline Declaration::AnnotationApplication::Pipeline::getName() {
  return  ::capnp::compiler::DeclName::Pipeline(_typeless.getPointerField(0));
}
inline void Declaration::AnnotationApplication::Builder::setName( ::capnp::compiler::DeclName::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::DeclName::Builder Declaration::AnnotationApplication::Builder::initName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::AnnotationApplication::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::DeclName>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::DeclName> Declaration::AnnotationApplication::Builder::disownName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline Declaration::AnnotationApplication::Value::Reader Declaration::AnnotationApplication::Reader::getValue() const {
  return Declaration::AnnotationApplication::Value::Reader(_reader);
}
inline Declaration::AnnotationApplication::Value::Builder Declaration::AnnotationApplication::Builder::getValue() {
  return Declaration::AnnotationApplication::Value::Builder(_builder);
}
inline Declaration::AnnotationApplication::Value::Pipeline Declaration::AnnotationApplication::Pipeline::getValue() {
  return Declaration::AnnotationApplication::Value::Pipeline(_typeless.noop());
}
inline Declaration::AnnotationApplication::Value::Builder Declaration::AnnotationApplication::Builder::initValue() {
  _builder.setDataField< ::uint16_t>(0 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(1 * ::capnp::POINTERS).clear();
  return Declaration::AnnotationApplication::Value::Builder(_builder);
}
inline Declaration::AnnotationApplication::Value::Which Declaration::AnnotationApplication::Value::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline Declaration::AnnotationApplication::Value::Which Declaration::AnnotationApplication::Value::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool Declaration::AnnotationApplication::Value::Reader::isNone() const {
  return which() == Declaration::AnnotationApplication::Value::NONE;
}
inline bool Declaration::AnnotationApplication::Value::Builder::isNone() {
  return which() == Declaration::AnnotationApplication::Value::NONE;
}
inline  ::capnp::Void Declaration::AnnotationApplication::Value::Reader::getNone() const {
  KJ_IREQUIRE(which() == Declaration::AnnotationApplication::Value::NONE,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::AnnotationApplication::Value::Builder::getNone() {
  KJ_IREQUIRE(which() == Declaration::AnnotationApplication::Value::NONE,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::AnnotationApplication::Value::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      0 * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::NONE);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::AnnotationApplication::Value::Reader::isExpression() const {
  return which() == Declaration::AnnotationApplication::Value::EXPRESSION;
}
inline bool Declaration::AnnotationApplication::Value::Builder::isExpression() {
  return which() == Declaration::AnnotationApplication::Value::EXPRESSION;
}
inline bool Declaration::AnnotationApplication::Value::Reader::hasExpression() const {
  if (which() != Declaration::AnnotationApplication::Value::EXPRESSION) return false;
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::AnnotationApplication::Value::Builder::hasExpression() {
  if (which() != Declaration::AnnotationApplication::Value::EXPRESSION) return false;
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::ValueExpression::Reader Declaration::AnnotationApplication::Value::Reader::getExpression() const {
  KJ_IREQUIRE(which() == Declaration::AnnotationApplication::Value::EXPRESSION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::AnnotationApplication::Value::Builder::getExpression() {
  KJ_IREQUIRE(which() == Declaration::AnnotationApplication::Value::EXPRESSION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::AnnotationApplication::Value::Builder::setExpression( ::capnp::compiler::ValueExpression::Reader value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      0 * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::AnnotationApplication::Value::Builder::initExpression() {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      0 * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::AnnotationApplication::Value::Builder::adoptExpression(
    ::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      0 * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> Declaration::AnnotationApplication::Value::Builder::disownExpression() {
  KJ_IREQUIRE(which() == Declaration::AnnotationApplication::Value::EXPRESSION,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline Declaration::ParamList::Which Declaration::ParamList::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline Declaration::ParamList::Which Declaration::ParamList::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool Declaration::ParamList::Reader::isNamedList() const {
  return which() == Declaration::ParamList::NAMED_LIST;
}
inline bool Declaration::ParamList::Builder::isNamedList() {
  return which() == Declaration::ParamList::NAMED_LIST;
}
inline bool Declaration::ParamList::Reader::hasNamedList() const {
  if (which() != Declaration::ParamList::NAMED_LIST) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::ParamList::Builder::hasNamedList() {
  if (which() != Declaration::ParamList::NAMED_LIST) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Reader Declaration::ParamList::Reader::getNamedList() const {
  KJ_IREQUIRE(which() == Declaration::ParamList::NAMED_LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Builder Declaration::ParamList::Builder::getNamedList() {
  KJ_IREQUIRE(which() == Declaration::ParamList::NAMED_LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::setNamedList( ::capnp::List< ::capnp::compiler::Declaration::Param>::Reader value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Builder Declaration::ParamList::Builder::initNamedList(unsigned int size) {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS), size);
}
inline void Declaration::ParamList::Builder::adoptNamedList(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::Param>>&& value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::Param>> Declaration::ParamList::Builder::disownNamedList() {
  KJ_IREQUIRE(which() == Declaration::ParamList::NAMED_LIST,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool Declaration::ParamList::Reader::isType() const {
  return which() == Declaration::ParamList::TYPE;
}
inline bool Declaration::ParamList::Builder::isType() {
  return which() == Declaration::ParamList::TYPE;
}
inline bool Declaration::ParamList::Reader::hasType() const {
  if (which() != Declaration::ParamList::TYPE) return false;
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::ParamList::Builder::hasType() {
  if (which() != Declaration::ParamList::TYPE) return false;
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::DeclName::Reader Declaration::ParamList::Reader::getType() const {
  KJ_IREQUIRE(which() == Declaration::ParamList::TYPE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Builder Declaration::ParamList::Builder::getType() {
  KJ_IREQUIRE(which() == Declaration::ParamList::TYPE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::setType( ::capnp::compiler::DeclName::Reader value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::DeclName::Builder Declaration::ParamList::Builder::initType() {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::DeclName>&& value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      0 * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::DeclName> Declaration::ParamList::Builder::disownType() {
  KJ_IREQUIRE(which() == Declaration::ParamList::TYPE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline  ::uint32_t Declaration::ParamList::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::ParamList::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void Declaration::ParamList::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t Declaration::ParamList::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::ParamList::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void Declaration::ParamList::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Param::Reader::hasName() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::Builder::hasName() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Declaration::Param::Reader::getName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Param::Builder::getName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Pipeline Declaration::Param::Pipeline::getName() {
  return  ::capnp::compiler::LocatedText::Pipeline(_typeless.getPointerField(0));
}
inline void Declaration::Param::Builder::setName( ::capnp::compiler::LocatedText::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Param::Builder::initName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void Declaration::Param::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Declaration::Param::Builder::disownName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

inline bool Declaration::Param::Reader::hasType() const {
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::Builder::hasType() {
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::TypeExpression::Reader Declaration::Param::Reader::getType() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Param::Builder::getType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Pipeline Declaration::Param::Pipeline::getType() {
  return  ::capnp::compiler::TypeExpression::Pipeline(_typeless.getPointerField(1));
}
inline void Declaration::Param::Builder::setType( ::capnp::compiler::TypeExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Param::Builder::initType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::Param::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> Declaration::Param::Builder::disownType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline bool Declaration::Param::Reader::hasAnnotations() const {
  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::Builder::hasAnnotations() {
  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader Declaration::Param::Reader::getAnnotations() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::get(
      _reader.getPointerField(2 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder Declaration::Param::Builder::getAnnotations() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::get(
      _builder.getPointerField(2 * ::capnp::POINTERS));
}
inline void Declaration::Param::Builder::setAnnotations( ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::set(
      _builder.getPointerField(2 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>::Builder Declaration::Param::Builder::initAnnotations(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::init(
      _builder.getPointerField(2 * ::capnp::POINTERS), size);
}
inline void Declaration::Param::Builder::adoptAnnotations(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::adopt(
      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>> Declaration::Param::Builder::disownAnnotations() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::AnnotationApplication>>::disown(
      _builder.getPointerField(2 * ::capnp::POINTERS));
}

inline Declaration::Param::DefaultValue::Reader Declaration::Param::Reader::getDefaultValue() const {
  return Declaration::Param::DefaultValue::Reader(_reader);
}
inline Declaration::Param::DefaultValue::Builder Declaration::Param::Builder::getDefaultValue() {
  return Declaration::Param::DefaultValue::Builder(_builder);
}
inline Declaration::Param::DefaultValue::Pipeline Declaration::Param::Pipeline::getDefaultValue() {
  return Declaration::Param::DefaultValue::Pipeline(_typeless.noop());
}
inline Declaration::Param::DefaultValue::Builder Declaration::Param::Builder::initDefaultValue() {
  _builder.setDataField< ::uint16_t>(0 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(3 * ::capnp::POINTERS).clear();
  return Declaration::Param::DefaultValue::Builder(_builder);
}
inline  ::uint32_t Declaration::Param::Reader::getStartByte() const {
  return _reader.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::Param::Builder::getStartByte() {
  return _builder.getDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS);
}
inline void Declaration::Param::Builder::setStartByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      1 * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t Declaration::Param::Reader::getEndByte() const {
  return _reader.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}

inline  ::uint32_t Declaration::Param::Builder::getEndByte() {
  return _builder.getDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS);
}
inline void Declaration::Param::Builder::setEndByte( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      2 * ::capnp::ELEMENTS, value);
}

inline Declaration::Param::DefaultValue::Which Declaration::Param::DefaultValue::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline Declaration::Param::DefaultValue::Which Declaration::Param::DefaultValue::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool Declaration::Param::DefaultValue::Reader::isNone() const {
  return which() == Declaration::Param::DefaultValue::NONE;
}
inline bool Declaration::Param::DefaultValue::Builder::isNone() {
  return which() == Declaration::Param::DefaultValue::NONE;
}
inline  ::capnp::Void Declaration::Param::DefaultValue::Reader::getNone() const {
  KJ_IREQUIRE(which() == Declaration::Param::DefaultValue::NONE,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Param::DefaultValue::Builder::getNone() {
  KJ_IREQUIRE(which() == Declaration::Param::DefaultValue::NONE,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Param::DefaultValue::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::NONE);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Param::DefaultValue::Reader::isValue() const {
  return which() == Declaration::Param::DefaultValue::VALUE;
}
inline bool Declaration::Param::DefaultValue::Builder::isValue() {
  return which() == Declaration::Param::DefaultValue::VALUE;
}
inline bool Declaration::Param::DefaultValue::Reader::hasValue() const {
  if (which() != Declaration::Param::DefaultValue::VALUE) return false;
  return !_reader.getPointerField(3 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::DefaultValue::Builder::hasValue() {
  if (which() != Declaration::Param::DefaultValue::VALUE) return false;
  return !_builder.getPointerField(3 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::ValueExpression::Reader Declaration::Param::DefaultValue::Reader::getValue() const {
  KJ_IREQUIRE(which() == Declaration::Param::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _reader.getPointerField(3 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Param::DefaultValue::Builder::getValue() {
  KJ_IREQUIRE(which() == Declaration::Param::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _builder.getPointerField(3 * ::capnp::POINTERS));
}
inline void Declaration::Param::DefaultValue::Builder::setValue( ::capnp::compiler::ValueExpression::Reader value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::set(
      _builder.getPointerField(3 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Param::DefaultValue::Builder::initValue() {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::init(
      _builder.getPointerField(3 * ::capnp::POINTERS));
}
inline void Declaration::Param::DefaultValue::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::adopt(
      _builder.getPointerField(3 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> Declaration::Param::DefaultValue::Builder::disownValue() {
  KJ_IREQUIRE(which() == Declaration::Param::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::disown(
      _builder.getPointerField(3 * ::capnp::POINTERS));
}

inline Declaration::Id::Which Declaration::Id::Reader::which() const {
  return _reader.getDataField<Which>(0 * ::capnp::ELEMENTS);
}
inline Declaration::Id::Which Declaration::Id::Builder::which() {
  return _builder.getDataField<Which>(0 * ::capnp::ELEMENTS);
}

inline bool Declaration::Id::Reader::isUnspecified() const {
  return which() == Declaration::Id::UNSPECIFIED;
}
inline bool Declaration::Id::Builder::isUnspecified() {
  return which() == Declaration::Id::UNSPECIFIED;
}
inline  ::capnp::Void Declaration::Id::Reader::getUnspecified() const {
  KJ_IREQUIRE(which() == Declaration::Id::UNSPECIFIED,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Id::Builder::getUnspecified() {
  KJ_IREQUIRE(which() == Declaration::Id::UNSPECIFIED,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Id::Builder::setUnspecified( ::capnp::Void value) {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::UNSPECIFIED);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Id::Reader::isUid() const {
  return which() == Declaration::Id::UID;
}
inline bool Declaration::Id::Builder::isUid() {
  return which() == Declaration::Id::UID;
}
inline bool Declaration::Id::Reader::hasUid() const {
  if (which() != Declaration::Id::UID) return false;
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Id::Builder::hasUid() {
  if (which() != Declaration::Id::UID) return false;
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedInteger::Reader Declaration::Id::Reader::getUid() const {
  KJ_IREQUIRE(which() == Declaration::Id::UID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::getUid() {
  KJ_IREQUIRE(which() == Declaration::Id::UID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::setUid( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::UID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::initUid() {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::UID);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::adoptUid(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::UID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> Declaration::Id::Builder::disownUid() {
  KJ_IREQUIRE(which() == Declaration::Id::UID,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline bool Declaration::Id::Reader::isOrdinal() const {
  return which() == Declaration::Id::ORDINAL;
}
inline bool Declaration::Id::Builder::isOrdinal() {
  return which() == Declaration::Id::ORDINAL;
}
inline bool Declaration::Id::Reader::hasOrdinal() const {
  if (which() != Declaration::Id::ORDINAL) return false;
  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Id::Builder::hasOrdinal() {
  if (which() != Declaration::Id::ORDINAL) return false;
  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedInteger::Reader Declaration::Id::Reader::getOrdinal() const {
  KJ_IREQUIRE(which() == Declaration::Id::ORDINAL,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _reader.getPointerField(1 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::getOrdinal() {
  KJ_IREQUIRE(which() == Declaration::Id::ORDINAL,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::get(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::setOrdinal( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(
      _builder.getPointerField(1 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::initOrdinal() {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::adoptOrdinal(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Id::Which>(
      0 * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(
      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedInteger> Declaration::Id::Builder::disownOrdinal() {
  KJ_IREQUIRE(which() == Declaration::Id::ORDINAL,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::disown(
      _builder.getPointerField(1 * ::capnp::POINTERS));
}

inline bool Declaration::Using::Reader::hasTarget() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Using::Builder::hasTarget() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::DeclName::Reader Declaration::Using::Reader::getTarget() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Builder Declaration::Using::Builder::getTarget() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::DeclName::Pipeline Declaration::Using::Pipeline::getTarget() {
  return  ::capnp::compiler::DeclName::Pipeline(_typeless.getPointerField(5));
}
inline void Declaration::Using::Builder::setTarget( ::capnp::compiler::DeclName::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::DeclName::Builder Declaration::Using::Builder::initTarget() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Using::Builder::adoptTarget(
    ::capnp::Orphan< ::capnp::compiler::DeclName>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::DeclName> Declaration::Using::Builder::disownTarget() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::DeclName>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Const::Reader::hasType() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Const::Builder::hasType() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::TypeExpression::Reader Declaration::Const::Reader::getType() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Const::Builder::getType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Pipeline Declaration::Const::Pipeline::getType() {
  return  ::capnp::compiler::TypeExpression::Pipeline(_typeless.getPointerField(5));
}
inline void Declaration::Const::Builder::setType( ::capnp::compiler::TypeExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Const::Builder::initType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Const::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> Declaration::Const::Builder::disownType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Const::Reader::hasValue() const {
  return !_reader.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Const::Builder::hasValue() {
  return !_builder.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::ValueExpression::Reader Declaration::Const::Reader::getValue() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _reader.getPointerField(6 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Const::Builder::getValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Pipeline Declaration::Const::Pipeline::getValue() {
  return  ::capnp::compiler::ValueExpression::Pipeline(_typeless.getPointerField(6));
}
inline void Declaration::Const::Builder::setValue( ::capnp::compiler::ValueExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::set(
      _builder.getPointerField(6 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Const::Builder::initValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::init(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline void Declaration::Const::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::adopt(
      _builder.getPointerField(6 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> Declaration::Const::Builder::disownValue() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::disown(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}

inline bool Declaration::Field::Reader::hasType() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Field::Builder::hasType() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::TypeExpression::Reader Declaration::Field::Reader::getType() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Field::Builder::getType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Pipeline Declaration::Field::Pipeline::getType() {
  return  ::capnp::compiler::TypeExpression::Pipeline(_typeless.getPointerField(5));
}
inline void Declaration::Field::Builder::setType( ::capnp::compiler::TypeExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Field::Builder::initType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Field::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> Declaration::Field::Builder::disownType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline Declaration::Field::DefaultValue::Reader Declaration::Field::Reader::getDefaultValue() const {
  return Declaration::Field::DefaultValue::Reader(_reader);
}
inline Declaration::Field::DefaultValue::Builder Declaration::Field::Builder::getDefaultValue() {
  return Declaration::Field::DefaultValue::Builder(_builder);
}
inline Declaration::Field::DefaultValue::Pipeline Declaration::Field::Pipeline::getDefaultValue() {
  return Declaration::Field::DefaultValue::Pipeline(_typeless.noop());
}
inline Declaration::Field::DefaultValue::Builder Declaration::Field::Builder::initDefaultValue() {
  _builder.setDataField< ::uint16_t>(6 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(6 * ::capnp::POINTERS).clear();
  return Declaration::Field::DefaultValue::Builder(_builder);
}
inline Declaration::Field::DefaultValue::Which Declaration::Field::DefaultValue::Reader::which() const {
  return _reader.getDataField<Which>(6 * ::capnp::ELEMENTS);
}
inline Declaration::Field::DefaultValue::Which Declaration::Field::DefaultValue::Builder::which() {
  return _builder.getDataField<Which>(6 * ::capnp::ELEMENTS);
}

inline bool Declaration::Field::DefaultValue::Reader::isNone() const {
  return which() == Declaration::Field::DefaultValue::NONE;
}
inline bool Declaration::Field::DefaultValue::Builder::isNone() {
  return which() == Declaration::Field::DefaultValue::NONE;
}
inline  ::capnp::Void Declaration::Field::DefaultValue::Reader::getNone() const {
  KJ_IREQUIRE(which() == Declaration::Field::DefaultValue::NONE,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Field::DefaultValue::Builder::getNone() {
  KJ_IREQUIRE(which() == Declaration::Field::DefaultValue::NONE,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Field::DefaultValue::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::NONE);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Field::DefaultValue::Reader::isValue() const {
  return which() == Declaration::Field::DefaultValue::VALUE;
}
inline bool Declaration::Field::DefaultValue::Builder::isValue() {
  return which() == Declaration::Field::DefaultValue::VALUE;
}
inline bool Declaration::Field::DefaultValue::Reader::hasValue() const {
  if (which() != Declaration::Field::DefaultValue::VALUE) return false;
  return !_reader.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Field::DefaultValue::Builder::hasValue() {
  if (which() != Declaration::Field::DefaultValue::VALUE) return false;
  return !_builder.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::ValueExpression::Reader Declaration::Field::DefaultValue::Reader::getValue() const {
  KJ_IREQUIRE(which() == Declaration::Field::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _reader.getPointerField(6 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Field::DefaultValue::Builder::getValue() {
  KJ_IREQUIRE(which() == Declaration::Field::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::get(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline void Declaration::Field::DefaultValue::Builder::setValue( ::capnp::compiler::ValueExpression::Reader value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::set(
      _builder.getPointerField(6 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::ValueExpression::Builder Declaration::Field::DefaultValue::Builder::initValue() {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::init(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline void Declaration::Field::DefaultValue::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::ValueExpression>&& value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::adopt(
      _builder.getPointerField(6 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::ValueExpression> Declaration::Field::DefaultValue::Builder::disownValue() {
  KJ_IREQUIRE(which() == Declaration::Field::DefaultValue::VALUE,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::ValueExpression>::disown(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}

inline bool Declaration::Interface::Reader::hasExtends() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Interface::Builder::hasExtends() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::DeclName>::Reader Declaration::Interface::Reader::getExtends() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::DeclName>::Builder Declaration::Interface::Builder::getExtends() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Interface::Builder::setExtends( ::capnp::List< ::capnp::compiler::DeclName>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::DeclName>::Builder Declaration::Interface::Builder::initExtends(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS), size);
}
inline void Declaration::Interface::Builder::adoptExtends(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::DeclName>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::DeclName>> Declaration::Interface::Builder::disownExtends() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::DeclName>>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Method::Reader::hasParams() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Method::Builder::hasParams() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Declaration::ParamList::Reader Declaration::Method::Reader::getParams() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Builder::getParams() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::ParamList::Pipeline Declaration::Method::Pipeline::getParams() {
  return  ::capnp::compiler::Declaration::ParamList::Pipeline(_typeless.getPointerField(5));
}
inline void Declaration::Method::Builder::setParams( ::capnp::compiler::Declaration::ParamList::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Builder::initParams() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Method::Builder::adoptParams(
    ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList> Declaration::Method::Builder::disownParams() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline Declaration::Method::Results::Reader Declaration::Method::Reader::getResults() const {
  return Declaration::Method::Results::Reader(_reader);
}
inline Declaration::Method::Results::Builder Declaration::Method::Builder::getResults() {
  return Declaration::Method::Results::Builder(_builder);
}
inline Declaration::Method::Results::Pipeline Declaration::Method::Pipeline::getResults() {
  return Declaration::Method::Results::Pipeline(_typeless.noop());
}
inline Declaration::Method::Results::Builder Declaration::Method::Builder::initResults() {
  _builder.setDataField< ::uint16_t>(6 * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(6 * ::capnp::POINTERS).clear();
  return Declaration::Method::Results::Builder(_builder);
}
inline Declaration::Method::Results::Which Declaration::Method::Results::Reader::which() const {
  return _reader.getDataField<Which>(6 * ::capnp::ELEMENTS);
}
inline Declaration::Method::Results::Which Declaration::Method::Results::Builder::which() {
  return _builder.getDataField<Which>(6 * ::capnp::ELEMENTS);
}

inline bool Declaration::Method::Results::Reader::isNone() const {
  return which() == Declaration::Method::Results::NONE;
}
inline bool Declaration::Method::Results::Builder::isNone() {
  return which() == Declaration::Method::Results::NONE;
}
inline  ::capnp::Void Declaration::Method::Results::Reader::getNone() const {
  KJ_IREQUIRE(which() == Declaration::Method::Results::NONE,
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Declaration::Method::Results::Builder::getNone() {
  KJ_IREQUIRE(which() == Declaration::Method::Results::NONE,
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS);
}
inline void Declaration::Method::Results::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Method::Results::NONE);
  _builder.setDataField< ::capnp::Void>(
      0 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Method::Results::Reader::isExplicit() const {
  return which() == Declaration::Method::Results::EXPLICIT;
}
inline bool Declaration::Method::Results::Builder::isExplicit() {
  return which() == Declaration::Method::Results::EXPLICIT;
}
inline bool Declaration::Method::Results::Reader::hasExplicit() const {
  if (which() != Declaration::Method::Results::EXPLICIT) return false;
  return !_reader.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Method::Results::Builder::hasExplicit() {
  if (which() != Declaration::Method::Results::EXPLICIT) return false;
  return !_builder.getPointerField(6 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Declaration::ParamList::Reader Declaration::Method::Results::Reader::getExplicit() const {
  KJ_IREQUIRE(which() == Declaration::Method::Results::EXPLICIT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::get(
      _reader.getPointerField(6 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Results::Builder::getExplicit() {
  KJ_IREQUIRE(which() == Declaration::Method::Results::EXPLICIT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::get(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline void Declaration::Method::Results::Builder::setExplicit( ::capnp::compiler::Declaration::ParamList::Reader value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::set(
      _builder.getPointerField(6 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Results::Builder::initExplicit() {
  _builder.setDataField<Declaration::Method::Results::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::init(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}
inline void Declaration::Method::Results::Builder::adoptExplicit(
    ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList>&& value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      6 * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::adopt(
      _builder.getPointerField(6 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList> Declaration::Method::Results::Builder::disownExplicit() {
  KJ_IREQUIRE(which() == Declaration::Method::Results::EXPLICIT,
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::disown(
      _builder.getPointerField(6 * ::capnp::POINTERS));
}

inline bool Declaration::Annotation::Reader::hasType() const {
  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Annotation::Builder::hasType() {
  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::TypeExpression::Reader Declaration::Annotation::Reader::getType() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _reader.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Annotation::Builder::getType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::get(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::TypeExpression::Pipeline Declaration::Annotation::Pipeline::getType() {
  return  ::capnp::compiler::TypeExpression::Pipeline(_typeless.getPointerField(5));
}
inline void Declaration::Annotation::Builder::setType( ::capnp::compiler::TypeExpression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::set(
      _builder.getPointerField(5 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::TypeExpression::Builder Declaration::Annotation::Builder::initType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::init(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}
inline void Declaration::Annotation::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::TypeExpression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::adopt(
      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::TypeExpression> Declaration::Annotation::Builder::disownType() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::TypeExpression>::disown(
      _builder.getPointerField(5 * ::capnp::POINTERS));
}

inline bool Declaration::Annotation::Reader::getTargetsFile() const {
  return _reader.getDataField<bool>(
      96 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsFile() {
  return _builder.getDataField<bool>(
      96 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsFile(bool value) {
  _builder.setDataField<bool>(
      96 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsConst() const {
  return _reader.getDataField<bool>(
      97 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsConst() {
  return _builder.getDataField<bool>(
      97 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsConst(bool value) {
  _builder.setDataField<bool>(
      97 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsEnum() const {
  return _reader.getDataField<bool>(
      98 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsEnum() {
  return _builder.getDataField<bool>(
      98 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsEnum(bool value) {
  _builder.setDataField<bool>(
      98 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsEnumerant() const {
  return _reader.getDataField<bool>(
      99 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsEnumerant() {
  return _builder.getDataField<bool>(
      99 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsEnumerant(bool value) {
  _builder.setDataField<bool>(
      99 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsStruct() const {
  return _reader.getDataField<bool>(
      100 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsStruct() {
  return _builder.getDataField<bool>(
      100 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsStruct(bool value) {
  _builder.setDataField<bool>(
      100 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsField() const {
  return _reader.getDataField<bool>(
      101 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsField() {
  return _builder.getDataField<bool>(
      101 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsField(bool value) {
  _builder.setDataField<bool>(
      101 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsUnion() const {
  return _reader.getDataField<bool>(
      102 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsUnion() {
  return _builder.getDataField<bool>(
      102 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsUnion(bool value) {
  _builder.setDataField<bool>(
      102 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsGroup() const {
  return _reader.getDataField<bool>(
      103 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsGroup() {
  return _builder.getDataField<bool>(
      103 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsGroup(bool value) {
  _builder.setDataField<bool>(
      103 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsInterface() const {
  return _reader.getDataField<bool>(
      104 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsInterface() {
  return _builder.getDataField<bool>(
      104 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsInterface(bool value) {
  _builder.setDataField<bool>(
      104 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsMethod() const {
  return _reader.getDataField<bool>(
      105 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsMethod() {
  return _builder.getDataField<bool>(
      105 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsMethod(bool value) {
  _builder.setDataField<bool>(
      105 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsParam() const {
  return _reader.getDataField<bool>(
      106 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsParam() {
  return _builder.getDataField<bool>(
      106 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsParam(bool value) {
  _builder.setDataField<bool>(
      106 * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Annotation::Reader::getTargetsAnnotation() const {
  return _reader.getDataField<bool>(
      107 * ::capnp::ELEMENTS);
}

inline bool Declaration::Annotation::Builder::getTargetsAnnotation() {
  return _builder.getDataField<bool>(
      107 * ::capnp::ELEMENTS);
}
inline void Declaration::Annotation::Builder::setTargetsAnnotation(bool value) {
  _builder.setDataField<bool>(
      107 * ::capnp::ELEMENTS, value);
}

inline bool ParsedFile::Reader::hasRoot() const {
  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline bool ParsedFile::Builder::hasRoot() {
  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Declaration::Reader ParsedFile::Reader::getRoot() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::get(
      _reader.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::Builder ParsedFile::Builder::getRoot() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::get(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::Pipeline ParsedFile::Pipeline::getRoot() {
  return  ::capnp::compiler::Declaration::Pipeline(_typeless.getPointerField(0));
}
inline void ParsedFile::Builder::setRoot( ::capnp::compiler::Declaration::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::set(
      _builder.getPointerField(0 * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::Builder ParsedFile::Builder::initRoot() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::init(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}
inline void ParsedFile::Builder::adoptRoot(
    ::capnp::Orphan< ::capnp::compiler::Declaration>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::adopt(
      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Declaration> ParsedFile::Builder::disownRoot() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration>::disown(
      _builder.getPointerField(0 * ::capnp::POINTERS));
}

}  // namespace
}  // namespace

#endif  // CAPNP_INCLUDED_c56be168dcbbc3c6_