// 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 != 6001
#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 schemas {

CAPNP_DECLARE_SCHEMA(e75816b56529d464);
CAPNP_DECLARE_SCHEMA(991c7a3693d62cf2);
CAPNP_DECLARE_SCHEMA(90f2a60678fd2367);
CAPNP_DECLARE_SCHEMA(8e207d4dfe54d0de);
CAPNP_DECLARE_SCHEMA(c90246b71adedbaa);
CAPNP_DECLARE_SCHEMA(aee8397040b0df7a);
CAPNP_DECLARE_SCHEMA(aa28e1400d793359);
CAPNP_DECLARE_SCHEMA(96efe787c17e83bb);
CAPNP_DECLARE_SCHEMA(d5e71144af1ce175);
CAPNP_DECLARE_SCHEMA(d00489d473826290);
CAPNP_DECLARE_SCHEMA(fb5aeed95cdf6af9);
CAPNP_DECLARE_SCHEMA(94099c3f9eb32d6b);
CAPNP_DECLARE_SCHEMA(b3f66e7a79d81bcd);
CAPNP_DECLARE_SCHEMA(fffe08a9a697d2a5);
CAPNP_DECLARE_SCHEMA(e5104515fd88ea47);
CAPNP_DECLARE_SCHEMA(89f0c973c103ae96);
CAPNP_DECLARE_SCHEMA(e93164a80bfe2ccf);
CAPNP_DECLARE_SCHEMA(b348322a8dcf0d0c);
CAPNP_DECLARE_SCHEMA(8f2622208fb358c8);
CAPNP_DECLARE_SCHEMA(d0d1a21de617951f);
CAPNP_DECLARE_SCHEMA(992a90eaf30235d3);
CAPNP_DECLARE_SCHEMA(eb971847d617c0b9);
CAPNP_DECLARE_SCHEMA(c6238c7d62d65173);
CAPNP_DECLARE_SCHEMA(9cb9e86e3198037f);
CAPNP_DECLARE_SCHEMA(84e4f3f5a807605c);

}  // namespace schemas
}  // namespace capnp

namespace capnp {
namespace compiler {

struct LocatedText {
  LocatedText() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(e75816b56529d464, 1, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct LocatedInteger {
  LocatedInteger() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(991c7a3693d62cf2, 2, 0)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct LocatedFloat {
  LocatedFloat() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(90f2a60678fd2367, 2, 0)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct Expression {
  Expression() = delete;

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    UNKNOWN,
    POSITIVE_INT,
    NEGATIVE_INT,
    FLOAT,
    STRING,
    RELATIVE_NAME,
    LIST,
    TUPLE,
    BINARY,
    APPLICATION,
    MEMBER,
    ABSOLUTE_NAME,
    IMPORT,
    EMBED,
  };
  struct Param;
  struct Application;
  struct Member;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(8e207d4dfe54d0de, 3, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;
  enum Which: uint16_t {
    UNNAMED,
    NAMED,
  };

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(c90246b71adedbaa, 1, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct Expression::Application {
  Application() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(aee8397040b0df7a, 3, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct Expression::Member {
  Member() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(aa28e1400d793359, 3, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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,
    BUILTIN_ANY_STRUCT,
    BUILTIN_ANY_LIST,
    BUILTIN_CAPABILITY,
  };
  struct BrandParameter;
  struct AnnotationApplication;
  struct ParamList;
  struct Param;
  struct Id;
  struct Using;
  struct Const;
  struct Field;
  struct Interface;
  struct Method;
  struct Annotation;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(96efe787c17e83bb, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(d5e71144af1ce175, 1, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(d00489d473826290, 1, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(fb5aeed95cdf6af9, 1, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(b3f66e7a79d81bcd, 2, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(fffe08a9a697d2a5, 2, 4)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(e5104515fd88ea47, 2, 4)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(89f0c973c103ae96, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(e93164a80bfe2ccf, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(b348322a8dcf0d0c, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(8f2622208fb358c8, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(d0d1a21de617951f, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(992a90eaf30235d3, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(eb971847d617c0b9, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(c6238c7d62d65173, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(9cb9e86e3198037f, 2, 8)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

struct ParsedFile {
  ParsedFile() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(84e4f3f5a807605c, 0, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

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

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline  ::uint64_t getValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline double getValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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

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

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

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  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 isRelativeName() const;
  inline bool hasRelativeName() const;
  inline  ::capnp::compiler::LocatedText::Reader getRelativeName() const;

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

  inline bool isTuple() const;
  inline bool hasTuple() const;
  inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Reader getTuple() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

  inline bool isBinary() const;
  inline bool hasBinary() const;
  inline  ::capnp::Data::Reader getBinary() const;

  inline bool isApplication() const;
  inline typename Application::Reader getApplication() const;

  inline bool isMember() const;
  inline typename Member::Reader getMember() const;

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

  inline bool isImport() const;
  inline bool hasImport() const;
  inline  ::capnp::compiler::LocatedText::Reader getImport() const;

  inline bool isEmbed() const;
  inline bool hasEmbed() const;
  inline  ::capnp::compiler::LocatedText::Reader getEmbed() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class Expression::Builder {
public:
  typedef Expression 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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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 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 isList();
  inline bool hasList();
  inline  ::capnp::List< ::capnp::compiler::Expression>::Builder getList();
  inline void setList( ::capnp::List< ::capnp::compiler::Expression>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Expression>::Builder initList(unsigned int size);
  inline void adoptList(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>> disownList();

  inline bool isTuple();
  inline bool hasTuple();
  inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Builder getTuple();
  inline void setTuple( ::capnp::List< ::capnp::compiler::Expression::Param>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Builder initTuple(unsigned int size);
  inline void adoptTuple(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression::Param>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression::Param>> disownTuple();

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

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

  inline bool isBinary();
  inline bool hasBinary();
  inline  ::capnp::Data::Builder getBinary();
  inline void setBinary( ::capnp::Data::Reader value);
  inline  ::capnp::Data::Builder initBinary(unsigned int size);
  inline void adoptBinary(::capnp::Orphan< ::capnp::Data>&& value);
  inline ::capnp::Orphan< ::capnp::Data> disownBinary();

  inline bool isApplication();
  inline typename Application::Builder getApplication();
  inline typename Application::Builder initApplication();

  inline bool isMember();
  inline typename Member::Builder getMember();
  inline typename Member::Builder initMember();

  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 isImport();
  inline bool hasImport();
  inline  ::capnp::compiler::LocatedText::Builder getImport();
  inline void setImport( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initImport();
  inline void adoptImport(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownImport();

  inline bool isEmbed();
  inline bool hasEmbed();
  inline  ::capnp::compiler::LocatedText::Builder getEmbed();
  inline void setEmbed( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initEmbed();
  inline void adoptEmbed(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownEmbed();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class Expression::Pipeline {
public:
  typedef Expression Pipelines;

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

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

class Expression::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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline Which which() const;
  inline bool isUnnamed() const;
  inline  ::capnp::Void getUnnamed() const;

  inline bool isNamed() const;
  inline bool hasNamed() const;
  inline  ::capnp::compiler::LocatedText::Reader getNamed() const;

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class Expression::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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline Which which();
  inline bool isUnnamed();
  inline  ::capnp::Void getUnnamed();
  inline void setUnnamed( ::capnp::Void value = ::capnp::VOID);

  inline bool isNamed();
  inline bool hasNamed();
  inline  ::capnp::compiler::LocatedText::Builder getNamed();
  inline void setNamed( ::capnp::compiler::LocatedText::Reader value);
  inline  ::capnp::compiler::LocatedText::Builder initNamed();
  inline void adoptNamed(::capnp::Orphan< ::capnp::compiler::LocatedText>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::LocatedText> disownNamed();

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class Expression::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::Expression::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

class Expression::Application::Reader {
public:
  typedef Application Reads;

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

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

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline bool hasFunction() const;
  inline  ::capnp::compiler::Expression::Reader getFunction() const;

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class Expression::Application::Builder {
public:
  typedef Application 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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline bool hasFunction();
  inline  ::capnp::compiler::Expression::Builder getFunction();
  inline void setFunction( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initFunction();
  inline void adoptFunction(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> disownFunction();

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class Expression::Application::Pipeline {
public:
  typedef Application Pipelines;

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

  inline  ::capnp::compiler::Expression::Pipeline getFunction();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

class Expression::Member::Reader {
public:
  typedef Member Reads;

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

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

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline bool hasParent() const;
  inline  ::capnp::compiler::Expression::Reader getParent() const;

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class Expression::Member::Builder {
public:
  typedef Member 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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline bool hasParent();
  inline  ::capnp::compiler::Expression::Builder getParent();
  inline void setParent( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initParent();
  inline void adoptParent(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> disownParent();

  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();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class Expression::Member::Pipeline {
public:
  typedef Member Pipelines;

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

  inline  ::capnp::compiler::Expression::Pipeline getParent();
  inline  ::capnp::compiler::LocatedText::Pipeline getName();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

  inline typename 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 typename Using::Reader getUsing() const;

  inline bool isConst() const;
  inline typename 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 typename 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 typename Interface::Reader getInterface() const;

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

  inline bool isAnnotation() const;
  inline typename 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;

  inline bool hasParameters() const;
  inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Reader getParameters() const;

  inline bool isBuiltinAnyStruct() const;
  inline  ::capnp::Void getBuiltinAnyStruct() const;

  inline bool isBuiltinAnyList() const;
  inline  ::capnp::Void getBuiltinAnyList() const;

  inline bool isBuiltinCapability() const;
  inline  ::capnp::Void getBuiltinCapability() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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 typename Id::Builder getId();
  inline typename 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 typename Using::Builder getUsing();
  inline typename Using::Builder initUsing();

  inline bool isConst();
  inline typename Const::Builder getConst();
  inline typename 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 typename Field::Builder getField();
  inline typename 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 typename Interface::Builder getInterface();
  inline typename Interface::Builder initInterface();

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

  inline bool isAnnotation();
  inline typename Annotation::Builder getAnnotation();
  inline typename 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);

  inline bool hasParameters();
  inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Builder getParameters();
  inline void setParameters( ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Builder initParameters(unsigned int size);
  inline void adoptParameters(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>> disownParameters();

  inline bool isBuiltinAnyStruct();
  inline  ::capnp::Void getBuiltinAnyStruct();
  inline void setBuiltinAnyStruct( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinAnyList();
  inline  ::capnp::Void getBuiltinAnyList();
  inline void setBuiltinAnyList( ::capnp::Void value = ::capnp::VOID);

  inline bool isBuiltinCapability();
  inline  ::capnp::Void getBuiltinCapability();
  inline void setBuiltinCapability( ::capnp::Void value = ::capnp::VOID);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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 typename Id::Pipeline getId();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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

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

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

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline bool hasName() const;
  inline  ::capnp::Text::Reader getName() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class Declaration::BrandParameter::Builder {
public:
  typedef BrandParameter 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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline bool hasName();
  inline  ::capnp::Text::Builder getName();
  inline void setName( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initName(unsigned int size);
  inline void adoptName(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownName();

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class Declaration::BrandParameter::Pipeline {
public:
  typedef BrandParameter Pipelines;

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

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

  inline typename Value::Reader getValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getName();
  inline typename Value::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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::Expression::Builder getExpression();
  inline void setExpression( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initExpression();
  inline void adoptExpression(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> disownExpression();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  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::Expression::Reader getType() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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::Expression::Builder getType();
  inline void setType( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> 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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

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

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

  inline typename DefaultValue::Reader getDefaultValue() const;

  inline  ::uint32_t getStartByte() const;

  inline  ::uint32_t getEndByte() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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::Expression::Builder getType();
  inline void setType( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> 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 typename DefaultValue::Builder getDefaultValue();
  inline typename 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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getType();
  inline typename DefaultValue::Pipeline getDefaultValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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::Expression::Builder getValue();
  inline void setValue( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getTarget();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getType();
  inline  ::capnp::compiler::Expression::Pipeline getValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

  inline typename DefaultValue::Reader getDefaultValue() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getType();
  inline typename DefaultValue::Pipeline getDefaultValue();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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::Expression::Builder getValue();
  inline void setValue( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initValue();
  inline void adoptValue(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> disownValue();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline bool hasSuperclasses() const;
  inline  ::capnp::List< ::capnp::compiler::Expression>::Reader getSuperclasses() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline bool hasSuperclasses();
  inline  ::capnp::List< ::capnp::compiler::Expression>::Builder getSuperclasses();
  inline void setSuperclasses( ::capnp::List< ::capnp::compiler::Expression>::Reader value);
  inline  ::capnp::List< ::capnp::compiler::Expression>::Builder initSuperclasses(unsigned int size);
  inline void adoptSuperclasses(::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>> disownSuperclasses();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

  inline typename Results::Reader getResults() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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 typename Results::Builder getResults();
  inline typename Results::Builder initResults();

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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 typename Results::Pipeline getResults();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline bool hasType() const;
  inline  ::capnp::compiler::Expression::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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline bool hasType();
  inline  ::capnp::compiler::Expression::Builder getType();
  inline void setType( ::capnp::compiler::Expression::Reader value);
  inline  ::capnp::compiler::Expression::Builder initType();
  inline void adoptType(::capnp::Orphan< ::capnp::compiler::Expression>&& value);
  inline ::capnp::Orphan< ::capnp::compiler::Expression> 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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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::Expression::Pipeline getType();
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

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

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

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(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  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, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
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;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

inline bool Expression::Reader::isTuple() const {
  return which() == Expression::TUPLE;
}
inline bool Expression::Builder::isTuple() {
  return which() == Expression::TUPLE;
}
inline bool Expression::Reader::hasTuple() const {
  if (which() != Expression::TUPLE) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Builder::hasTuple() {
  if (which() != Expression::TUPLE) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Reader Expression::Reader::getTuple() const {
  KJ_IREQUIRE((which() == Expression::TUPLE),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Builder Expression::Builder::getTuple() {
  KJ_IREQUIRE((which() == Expression::TUPLE),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::setTuple( ::capnp::List< ::capnp::compiler::Expression::Param>::Reader value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::TUPLE);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Expression::Param>::Builder Expression::Builder::initTuple(unsigned int size) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::TUPLE);
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void Expression::Builder::adoptTuple(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression::Param>>&& value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::TUPLE);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression::Param>> Expression::Builder::disownTuple() {
  KJ_IREQUIRE((which() == Expression::TUPLE),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression::Param>>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

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

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

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

inline bool Expression::Reader::isBinary() const {
  return which() == Expression::BINARY;
}
inline bool Expression::Builder::isBinary() {
  return which() == Expression::BINARY;
}
inline bool Expression::Reader::hasBinary() const {
  if (which() != Expression::BINARY) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Builder::hasBinary() {
  if (which() != Expression::BINARY) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Data::Reader Expression::Reader::getBinary() const {
  KJ_IREQUIRE((which() == Expression::BINARY),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::Data::Builder Expression::Builder::getBinary() {
  KJ_IREQUIRE((which() == Expression::BINARY),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::setBinary( ::capnp::Data::Reader value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::BINARY);
  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Data::Builder Expression::Builder::initBinary(unsigned int size) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::BINARY);
  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void Expression::Builder::adoptBinary(
    ::capnp::Orphan< ::capnp::Data>&& value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::BINARY);
  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Data> Expression::Builder::disownBinary() {
  KJ_IREQUIRE((which() == Expression::BINARY),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

inline bool Expression::Reader::isApplication() const {
  return which() == Expression::APPLICATION;
}
inline bool Expression::Builder::isApplication() {
  return which() == Expression::APPLICATION;
}
inline typename Expression::Application::Reader Expression::Reader::getApplication() const {
  KJ_IREQUIRE((which() == Expression::APPLICATION),
              "Must check which() before get()ing a union member.");
  return typename Expression::Application::Reader(_reader);
}
inline typename Expression::Application::Builder Expression::Builder::getApplication() {
  KJ_IREQUIRE((which() == Expression::APPLICATION),
              "Must check which() before get()ing a union member.");
  return typename Expression::Application::Builder(_builder);
}
inline typename Expression::Application::Builder Expression::Builder::initApplication() {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::APPLICATION);
  _builder.getPointerField(::capnp::bounded<0>() * ::capnp::POINTERS).clear();
  _builder.getPointerField(::capnp::bounded<1>() * ::capnp::POINTERS).clear();
  return typename Expression::Application::Builder(_builder);
}
inline bool Expression::Reader::isMember() const {
  return which() == Expression::MEMBER;
}
inline bool Expression::Builder::isMember() {
  return which() == Expression::MEMBER;
}
inline typename Expression::Member::Reader Expression::Reader::getMember() const {
  KJ_IREQUIRE((which() == Expression::MEMBER),
              "Must check which() before get()ing a union member.");
  return typename Expression::Member::Reader(_reader);
}
inline typename Expression::Member::Builder Expression::Builder::getMember() {
  KJ_IREQUIRE((which() == Expression::MEMBER),
              "Must check which() before get()ing a union member.");
  return typename Expression::Member::Builder(_builder);
}
inline typename Expression::Member::Builder Expression::Builder::initMember() {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::MEMBER);
  _builder.getPointerField(::capnp::bounded<0>() * ::capnp::POINTERS).clear();
  _builder.getPointerField(::capnp::bounded<1>() * ::capnp::POINTERS).clear();
  return typename Expression::Member::Builder(_builder);
}
inline bool Expression::Reader::isAbsoluteName() const {
  return which() == Expression::ABSOLUTE_NAME;
}
inline bool Expression::Builder::isAbsoluteName() {
  return which() == Expression::ABSOLUTE_NAME;
}
inline bool Expression::Reader::hasAbsoluteName() const {
  if (which() != Expression::ABSOLUTE_NAME) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Builder::hasAbsoluteName() {
  if (which() != Expression::ABSOLUTE_NAME) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Expression::Reader::getAbsoluteName() const {
  KJ_IREQUIRE((which() == Expression::ABSOLUTE_NAME),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::getAbsoluteName() {
  KJ_IREQUIRE((which() == Expression::ABSOLUTE_NAME),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::setAbsoluteName( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::ABSOLUTE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::initAbsoluteName() {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::ABSOLUTE_NAME);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::adoptAbsoluteName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::ABSOLUTE_NAME);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Expression::Builder::disownAbsoluteName() {
  KJ_IREQUIRE((which() == Expression::ABSOLUTE_NAME),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

inline bool Expression::Reader::isImport() const {
  return which() == Expression::IMPORT;
}
inline bool Expression::Builder::isImport() {
  return which() == Expression::IMPORT;
}
inline bool Expression::Reader::hasImport() const {
  if (which() != Expression::IMPORT) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Builder::hasImport() {
  if (which() != Expression::IMPORT) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Expression::Reader::getImport() const {
  KJ_IREQUIRE((which() == Expression::IMPORT),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::getImport() {
  KJ_IREQUIRE((which() == Expression::IMPORT),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::setImport( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::IMPORT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::initImport() {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::IMPORT);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::adoptImport(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::IMPORT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Expression::Builder::disownImport() {
  KJ_IREQUIRE((which() == Expression::IMPORT),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

inline bool Expression::Reader::isEmbed() const {
  return which() == Expression::EMBED;
}
inline bool Expression::Builder::isEmbed() {
  return which() == Expression::EMBED;
}
inline bool Expression::Reader::hasEmbed() const {
  if (which() != Expression::EMBED) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Builder::hasEmbed() {
  if (which() != Expression::EMBED) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Expression::Reader::getEmbed() const {
  KJ_IREQUIRE((which() == Expression::EMBED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::getEmbed() {
  KJ_IREQUIRE((which() == Expression::EMBED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::setEmbed( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::EMBED);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Builder::initEmbed() {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::EMBED);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Builder::adoptEmbed(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<Expression::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::EMBED);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Expression::Builder::disownEmbed() {
  KJ_IREQUIRE((which() == Expression::EMBED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

inline bool Expression::Param::Reader::isUnnamed() const {
  return which() == Expression::Param::UNNAMED;
}
inline bool Expression::Param::Builder::isUnnamed() {
  return which() == Expression::Param::UNNAMED;
}
inline  ::capnp::Void Expression::Param::Reader::getUnnamed() const {
  KJ_IREQUIRE((which() == Expression::Param::UNNAMED),
              "Must check which() before get()ing a union member.");
  return _reader.getDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}

inline  ::capnp::Void Expression::Param::Builder::getUnnamed() {
  KJ_IREQUIRE((which() == Expression::Param::UNNAMED),
              "Must check which() before get()ing a union member.");
  return _builder.getDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Expression::Param::Builder::setUnnamed( ::capnp::Void value) {
  _builder.setDataField<Expression::Param::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::Param::UNNAMED);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline bool Expression::Param::Reader::isNamed() const {
  return which() == Expression::Param::NAMED;
}
inline bool Expression::Param::Builder::isNamed() {
  return which() == Expression::Param::NAMED;
}
inline bool Expression::Param::Reader::hasNamed() const {
  if (which() != Expression::Param::NAMED) return false;
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Param::Builder::hasNamed() {
  if (which() != Expression::Param::NAMED) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Expression::Param::Reader::getNamed() const {
  KJ_IREQUIRE((which() == Expression::Param::NAMED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Param::Builder::getNamed() {
  KJ_IREQUIRE((which() == Expression::Param::NAMED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Param::Builder::setNamed( ::capnp::compiler::LocatedText::Reader value) {
  _builder.setDataField<Expression::Param::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::Param::NAMED);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Expression::Param::Builder::initNamed() {
  _builder.setDataField<Expression::Param::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::Param::NAMED);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Param::Builder::adoptNamed(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  _builder.setDataField<Expression::Param::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Expression::Param::NAMED);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::LocatedText> Expression::Param::Builder::disownNamed() {
  KJ_IREQUIRE((which() == Expression::Param::NAMED),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

inline bool Expression::Application::Reader::hasFunction() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Application::Builder::hasFunction() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::Reader Expression::Application::Reader::getFunction() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::Builder Expression::Application::Builder::getFunction() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
#if !CAPNP_LITE
inline  ::capnp::compiler::Expression::Pipeline Expression::Application::Pipeline::getFunction() {
  return  ::capnp::compiler::Expression::Pipeline(_typeless.getPointerField(0));
}
#endif  // !CAPNP_LITE
inline void Expression::Application::Builder::setFunction( ::capnp::compiler::Expression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Expression::Application::Builder::initFunction() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Application::Builder::adoptFunction(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> Expression::Application::Builder::disownFunction() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

inline bool Expression::Member::Reader::hasParent() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Expression::Member::Builder::hasParent() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::Reader Expression::Member::Reader::getParent() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::Builder Expression::Member::Builder::getParent() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
#if !CAPNP_LITE
inline  ::capnp::compiler::Expression::Pipeline Expression::Member::Pipeline::getParent() {
  return  ::capnp::compiler::Expression::Pipeline(_typeless.getPointerField(0));
}
#endif  // !CAPNP_LITE
inline void Expression::Member::Builder::setParent( ::capnp::compiler::Expression::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Expression::Member::Builder::initParent() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Expression::Member::Builder::adoptParent(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> Expression::Member::Builder::disownParent() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

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

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

inline typename Declaration::Id::Reader Declaration::Reader::getId() const {
  return typename Declaration::Id::Reader(_reader);
}
inline typename Declaration::Id::Builder Declaration::Builder::getId() {
  return typename Declaration::Id::Builder(_builder);
}
#if !CAPNP_LITE
inline typename Declaration::Id::Pipeline Declaration::Pipeline::getId() {
  return typename Declaration::Id::Pipeline(_typeless.noop());
}
#endif  // !CAPNP_LITE
inline typename Declaration::Id::Builder Declaration::Builder::initId() {
  _builder.setDataField< ::uint16_t>(::capnp::bounded<0>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<1>() * ::capnp::POINTERS).clear();
  return typename Declaration::Id::Builder(_builder);
}
inline bool Declaration::Reader::hasNestedDecls() const {
  return !_reader.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNestedDecls() {
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration>::Builder Declaration::Builder::getNestedDecls() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration>>::get(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}

inline bool Declaration::Reader::hasAnnotations() const {
  return !_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasAnnotations() {
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}

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

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

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

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

inline bool Declaration::Reader::hasDocComment() const {
  return !_reader.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasDocComment() {
  return !_builder.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader Declaration::Reader::getDocComment() const {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder Declaration::Builder::getDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::setDocComment( ::capnp::Text::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder Declaration::Builder::initDocComment(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS), size);
}
inline void Declaration::Builder::adoptDocComment(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(_builder.getPointerField(
      ::capnp::bounded<4>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> Declaration::Builder::disownDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(_builder.getPointerField(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setFile( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::FILE);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isUsing() const {
  return which() == Declaration::USING;
}
inline bool Declaration::Builder::isUsing() {
  return which() == Declaration::USING;
}
inline typename Declaration::Using::Reader Declaration::Reader::getUsing() const {
  KJ_IREQUIRE((which() == Declaration::USING),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Using::Reader(_reader);
}
inline typename Declaration::Using::Builder Declaration::Builder::getUsing() {
  KJ_IREQUIRE((which() == Declaration::USING),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Using::Builder(_builder);
}
inline typename Declaration::Using::Builder Declaration::Builder::initUsing() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::USING);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  return typename Declaration::Using::Builder(_builder);
}
inline bool Declaration::Reader::isConst() const {
  return which() == Declaration::CONST;
}
inline bool Declaration::Builder::isConst() {
  return which() == Declaration::CONST;
}
inline typename Declaration::Const::Reader Declaration::Reader::getConst() const {
  KJ_IREQUIRE((which() == Declaration::CONST),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Const::Reader(_reader);
}
inline typename Declaration::Const::Builder Declaration::Builder::getConst() {
  KJ_IREQUIRE((which() == Declaration::CONST),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Const::Builder(_builder);
}
inline typename Declaration::Const::Builder Declaration::Builder::initConst() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::CONST);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  _builder.getPointerField(::capnp::bounded<6>() * ::capnp::POINTERS).clear();
  return typename 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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setEnum( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::ENUM);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setEnumerant( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::ENUMERANT);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setStruct( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::STRUCT);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isField() const {
  return which() == Declaration::FIELD;
}
inline bool Declaration::Builder::isField() {
  return which() == Declaration::FIELD;
}
inline typename Declaration::Field::Reader Declaration::Reader::getField() const {
  KJ_IREQUIRE((which() == Declaration::FIELD),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Field::Reader(_reader);
}
inline typename Declaration::Field::Builder Declaration::Builder::getField() {
  KJ_IREQUIRE((which() == Declaration::FIELD),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Field::Builder(_builder);
}
inline typename Declaration::Field::Builder Declaration::Builder::initField() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::FIELD);
  _builder.setDataField< ::uint16_t>(::capnp::bounded<6>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  _builder.getPointerField(::capnp::bounded<6>() * ::capnp::POINTERS).clear();
  return typename 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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setUnion( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::UNION);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setGroup( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::GROUP);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::isInterface() const {
  return which() == Declaration::INTERFACE;
}
inline bool Declaration::Builder::isInterface() {
  return which() == Declaration::INTERFACE;
}
inline typename Declaration::Interface::Reader Declaration::Reader::getInterface() const {
  KJ_IREQUIRE((which() == Declaration::INTERFACE),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Interface::Reader(_reader);
}
inline typename Declaration::Interface::Builder Declaration::Builder::getInterface() {
  KJ_IREQUIRE((which() == Declaration::INTERFACE),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Interface::Builder(_builder);
}
inline typename Declaration::Interface::Builder Declaration::Builder::initInterface() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::INTERFACE);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  return typename Declaration::Interface::Builder(_builder);
}
inline bool Declaration::Reader::isMethod() const {
  return which() == Declaration::METHOD;
}
inline bool Declaration::Builder::isMethod() {
  return which() == Declaration::METHOD;
}
inline typename Declaration::Method::Reader Declaration::Reader::getMethod() const {
  KJ_IREQUIRE((which() == Declaration::METHOD),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Method::Reader(_reader);
}
inline typename Declaration::Method::Builder Declaration::Builder::getMethod() {
  KJ_IREQUIRE((which() == Declaration::METHOD),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Method::Builder(_builder);
}
inline typename Declaration::Method::Builder Declaration::Builder::initMethod() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::METHOD);
  _builder.setDataField< ::uint16_t>(::capnp::bounded<6>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  _builder.getPointerField(::capnp::bounded<6>() * ::capnp::POINTERS).clear();
  return typename Declaration::Method::Builder(_builder);
}
inline bool Declaration::Reader::isAnnotation() const {
  return which() == Declaration::ANNOTATION;
}
inline bool Declaration::Builder::isAnnotation() {
  return which() == Declaration::ANNOTATION;
}
inline typename Declaration::Annotation::Reader Declaration::Reader::getAnnotation() const {
  KJ_IREQUIRE((which() == Declaration::ANNOTATION),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Annotation::Reader(_reader);
}
inline typename Declaration::Annotation::Builder Declaration::Builder::getAnnotation() {
  KJ_IREQUIRE((which() == Declaration::ANNOTATION),
              "Must check which() before get()ing a union member.");
  return typename Declaration::Annotation::Builder(_builder);
}
inline typename Declaration::Annotation::Builder Declaration::Builder::initAnnotation() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::ANNOTATION);
  _builder.setDataField<bool>(::capnp::bounded<96>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<97>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<98>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<99>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<100>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<101>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<102>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<103>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<104>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<105>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<106>() * ::capnp::ELEMENTS, 0);
  _builder.setDataField<bool>(::capnp::bounded<107>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<5>() * ::capnp::POINTERS).clear();
  return typename 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(
      ::capnp::bounded<5>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNakedId() {
  if (which() != Declaration::NAKED_ID) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::setNakedId( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Builder::initNakedId() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::adoptNakedId(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<5>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasNakedAnnotation() {
  if (which() != Declaration::NAKED_ANNOTATION) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::setNakedAnnotation( ::capnp::compiler::Declaration::AnnotationApplication::Reader value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::set(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Builder Declaration::Builder::initNakedAnnotation() {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::init(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::adoptNakedAnnotation(
    ::capnp::Orphan< ::capnp::compiler::Declaration::AnnotationApplication>&& value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::NAKED_ANNOTATION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::AnnotationApplication>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinVoid( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_VOID);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinBool( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_BOOL);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt8( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_INT8);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt16( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_INT16);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_INT32);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinInt64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_INT64);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt8( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT8);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt16( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT16);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT32);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinUInt64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_U_INT64);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinFloat32( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_FLOAT32);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinFloat64( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_FLOAT64);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinText( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_TEXT);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinData( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_DATA);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinList( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_LIST);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinObject( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_OBJECT);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Builder::setBuiltinAnyPointer( ::capnp::Void value) {
  _builder.setDataField<Declaration::Which>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, Declaration::BUILTIN_ANY_POINTER);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline bool Declaration::Reader::hasParameters() const {
  return !_reader.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Builder::hasParameters() {
  return !_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Reader Declaration::Reader::getParameters() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::get(_reader.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Builder Declaration::Builder::getParameters() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::get(_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS));
}
inline void Declaration::Builder::setParameters( ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::set(_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>::Builder Declaration::Builder::initParameters(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::init(_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS), size);
}
inline void Declaration::Builder::adoptParameters(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::adopt(_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>> Declaration::Builder::disownParameters() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::BrandParameter>>::disown(_builder.getPointerField(
      ::capnp::bounded<7>() * ::capnp::POINTERS));
}

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

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

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

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

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

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

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

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

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

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

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

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

inline typename Declaration::AnnotationApplication::Value::Reader Declaration::AnnotationApplication::Reader::getValue() const {
  return typename Declaration::AnnotationApplication::Value::Reader(_reader);
}
inline typename Declaration::AnnotationApplication::Value::Builder Declaration::AnnotationApplication::Builder::getValue() {
  return typename Declaration::AnnotationApplication::Value::Builder(_builder);
}
#if !CAPNP_LITE
inline typename Declaration::AnnotationApplication::Value::Pipeline Declaration::AnnotationApplication::Pipeline::getValue() {
  return typename Declaration::AnnotationApplication::Value::Pipeline(_typeless.noop());
}
#endif  // !CAPNP_LITE
inline typename Declaration::AnnotationApplication::Value::Builder Declaration::AnnotationApplication::Builder::initValue() {
  _builder.setDataField< ::uint16_t>(::capnp::bounded<0>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<1>() * ::capnp::POINTERS).clear();
  return typename Declaration::AnnotationApplication::Value::Builder(_builder);
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Value::Which Declaration::AnnotationApplication::Value::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::AnnotationApplication::Value::Which Declaration::AnnotationApplication::Value::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::AnnotationApplication::Value::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::NONE);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::AnnotationApplication::Value::Builder::hasExpression() {
  if (which() != Declaration::AnnotationApplication::Value::EXPRESSION) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::AnnotationApplication::Value::Builder::setExpression( ::capnp::compiler::Expression::Reader value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Declaration::AnnotationApplication::Value::Builder::initExpression() {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::AnnotationApplication::Value::Builder::adoptExpression(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  _builder.setDataField<Declaration::AnnotationApplication::Value::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::AnnotationApplication::Value::EXPRESSION);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> 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::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}

inline  ::capnp::compiler::Declaration::ParamList::Which Declaration::ParamList::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::ParamList::Which Declaration::ParamList::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::ParamList::Builder::hasNamedList() {
  if (which() != Declaration::ParamList::NAMED_LIST) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::setNamedList( ::capnp::List< ::capnp::compiler::Declaration::Param>::Reader value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Declaration::Param>::Builder Declaration::ParamList::Builder::initNamedList(unsigned int size) {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void Declaration::ParamList::Builder::adoptNamedList(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Declaration::Param>>&& value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::NAMED_LIST);
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Declaration::Param>>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::ParamList::Builder::hasType() {
  if (which() != Declaration::ParamList::TYPE) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::setType( ::capnp::compiler::Expression::Reader value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Declaration::ParamList::Builder::initType() {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Declaration::ParamList::Builder::adoptType(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  _builder.setDataField<Declaration::ParamList::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::ParamList::TYPE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> Declaration::ParamList::Builder::disownType() {
  KJ_IREQUIRE((which() == Declaration::ParamList::TYPE),
              "Must check which() before get()ing a union member.");
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

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

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

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

inline bool Declaration::Param::Reader::hasName() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::Builder::hasName() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::LocatedText::Reader Declaration::Param::Reader::getName() const {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Param::Builder::getName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
#if !CAPNP_LITE
inline  ::capnp::compiler::LocatedText::Pipeline Declaration::Param::Pipeline::getName() {
  return  ::capnp::compiler::LocatedText::Pipeline(_typeless.getPointerField(0));
}
#endif  // !CAPNP_LITE
inline void Declaration::Param::Builder::setName( ::capnp::compiler::LocatedText::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedText::Builder Declaration::Param::Builder::initName() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Declaration::Param::Builder::adoptName(
    ::capnp::Orphan< ::capnp::compiler::LocatedText>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedText>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

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

inline bool Declaration::Param::Reader::hasAnnotations() const {
  return !_reader.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::Builder::hasAnnotations() {
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}

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

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

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

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

inline  ::capnp::compiler::Declaration::Param::DefaultValue::Which Declaration::Param::DefaultValue::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::Param::DefaultValue::Which Declaration::Param::DefaultValue::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Param::DefaultValue::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::NONE);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Param::DefaultValue::Builder::hasValue() {
  if (which() != Declaration::Param::DefaultValue::VALUE) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline void Declaration::Param::DefaultValue::Builder::setValue( ::capnp::compiler::Expression::Reader value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Declaration::Param::DefaultValue::Builder::initValue() {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline void Declaration::Param::DefaultValue::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  _builder.setDataField<Declaration::Param::DefaultValue::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Param::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> 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::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}

inline  ::capnp::compiler::Declaration::Id::Which Declaration::Id::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::Id::Which Declaration::Id::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Id::Builder::setUnspecified( ::capnp::Void value) {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::UNSPECIFIED);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Id::Builder::hasUid() {
  if (which() != Declaration::Id::UID) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::setUid( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::UID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::initUid() {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::UID);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::adoptUid(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::UID);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Id::Builder::hasOrdinal() {
  if (which() != Declaration::Id::ORDINAL) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::setOrdinal( ::capnp::compiler::LocatedInteger::Reader value) {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::set(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::LocatedInteger::Builder Declaration::Id::Builder::initOrdinal() {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::init(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Declaration::Id::Builder::adoptOrdinal(
    ::capnp::Orphan< ::capnp::compiler::LocatedInteger>&& value) {
  _builder.setDataField<Declaration::Id::Which>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, Declaration::Id::ORDINAL);
  ::capnp::_::PointerHelpers< ::capnp::compiler::LocatedInteger>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}

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

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

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

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

inline typename Declaration::Field::DefaultValue::Reader Declaration::Field::Reader::getDefaultValue() const {
  return typename Declaration::Field::DefaultValue::Reader(_reader);
}
inline typename Declaration::Field::DefaultValue::Builder Declaration::Field::Builder::getDefaultValue() {
  return typename Declaration::Field::DefaultValue::Builder(_builder);
}
#if !CAPNP_LITE
inline typename Declaration::Field::DefaultValue::Pipeline Declaration::Field::Pipeline::getDefaultValue() {
  return typename Declaration::Field::DefaultValue::Pipeline(_typeless.noop());
}
#endif  // !CAPNP_LITE
inline typename Declaration::Field::DefaultValue::Builder Declaration::Field::Builder::initDefaultValue() {
  _builder.setDataField< ::uint16_t>(::capnp::bounded<6>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<6>() * ::capnp::POINTERS).clear();
  return typename Declaration::Field::DefaultValue::Builder(_builder);
}
inline  ::capnp::compiler::Declaration::Field::DefaultValue::Which Declaration::Field::DefaultValue::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::Field::DefaultValue::Which Declaration::Field::DefaultValue::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Field::DefaultValue::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::NONE);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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(
      ::capnp::bounded<6>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Field::DefaultValue::Builder::hasValue() {
  if (which() != Declaration::Field::DefaultValue::VALUE) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_reader.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Expression::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::Expression>::get(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}
inline void Declaration::Field::DefaultValue::Builder::setValue( ::capnp::compiler::Expression::Reader value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::set(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Expression::Builder Declaration::Field::DefaultValue::Builder::initValue() {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::init(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}
inline void Declaration::Field::DefaultValue::Builder::adoptValue(
    ::capnp::Orphan< ::capnp::compiler::Expression>&& value) {
  _builder.setDataField<Declaration::Field::DefaultValue::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Field::DefaultValue::VALUE);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Expression>::adopt(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::compiler::Expression> 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::Expression>::disown(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}

inline bool Declaration::Interface::Reader::hasSuperclasses() const {
  return !_reader.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Interface::Builder::hasSuperclasses() {
  return !_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::compiler::Expression>::Reader Declaration::Interface::Reader::getSuperclasses() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::get(_reader.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::compiler::Expression>::Builder Declaration::Interface::Builder::getSuperclasses() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::get(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline void Declaration::Interface::Builder::setSuperclasses( ::capnp::List< ::capnp::compiler::Expression>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::set(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::compiler::Expression>::Builder Declaration::Interface::Builder::initSuperclasses(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::init(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), size);
}
inline void Declaration::Interface::Builder::adoptSuperclasses(
    ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::adopt(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::compiler::Expression>> Declaration::Interface::Builder::disownSuperclasses() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::compiler::Expression>>::disown(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}

inline bool Declaration::Method::Reader::hasParams() const {
  return !_reader.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Method::Builder::hasParams() {
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Builder::getParams() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::get(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}
#if !CAPNP_LITE
inline  ::capnp::compiler::Declaration::ParamList::Pipeline Declaration::Method::Pipeline::getParams() {
  return  ::capnp::compiler::Declaration::ParamList::Pipeline(_typeless.getPointerField(5));
}
#endif  // !CAPNP_LITE
inline void Declaration::Method::Builder::setParams( ::capnp::compiler::Declaration::ParamList::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::set(_builder.getPointerField(
      ::capnp::bounded<5>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Builder::initParams() {
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::init(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<5>() * ::capnp::POINTERS));
}

inline typename Declaration::Method::Results::Reader Declaration::Method::Reader::getResults() const {
  return typename Declaration::Method::Results::Reader(_reader);
}
inline typename Declaration::Method::Results::Builder Declaration::Method::Builder::getResults() {
  return typename Declaration::Method::Results::Builder(_builder);
}
#if !CAPNP_LITE
inline typename Declaration::Method::Results::Pipeline Declaration::Method::Pipeline::getResults() {
  return typename Declaration::Method::Results::Pipeline(_typeless.noop());
}
#endif  // !CAPNP_LITE
inline typename Declaration::Method::Results::Builder Declaration::Method::Builder::initResults() {
  _builder.setDataField< ::uint16_t>(::capnp::bounded<6>() * ::capnp::ELEMENTS, 0);
  _builder.getPointerField(::capnp::bounded<6>() * ::capnp::POINTERS).clear();
  return typename Declaration::Method::Results::Builder(_builder);
}
inline  ::capnp::compiler::Declaration::Method::Results::Which Declaration::Method::Results::Reader::which() const {
  return _reader.getDataField<Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}
inline  ::capnp::compiler::Declaration::Method::Results::Which Declaration::Method::Results::Builder::which() {
  return _builder.getDataField<Which>(
      ::capnp::bounded<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>(
      ::capnp::bounded<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>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Declaration::Method::Results::Builder::setNone( ::capnp::Void value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Method::Results::NONE);
  _builder.setDataField< ::capnp::Void>(
      ::capnp::bounded<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(
      ::capnp::bounded<6>() * ::capnp::POINTERS).isNull();
}
inline bool Declaration::Method::Results::Builder::hasExplicit() {
  if (which() != Declaration::Method::Results::EXPLICIT) return false;
  return !_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<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(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}
inline void Declaration::Method::Results::Builder::setExplicit( ::capnp::compiler::Declaration::ParamList::Reader value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::set(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS), value);
}
inline  ::capnp::compiler::Declaration::ParamList::Builder Declaration::Method::Results::Builder::initExplicit() {
  _builder.setDataField<Declaration::Method::Results::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  return ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::init(_builder.getPointerField(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}
inline void Declaration::Method::Results::Builder::adoptExplicit(
    ::capnp::Orphan< ::capnp::compiler::Declaration::ParamList>&& value) {
  _builder.setDataField<Declaration::Method::Results::Which>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, Declaration::Method::Results::EXPLICIT);
  ::capnp::_::PointerHelpers< ::capnp::compiler::Declaration::ParamList>::adopt(_builder.getPointerField(
      ::capnp::bounded<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(
      ::capnp::bounded<6>() * ::capnp::POINTERS));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}  // namespace
}  // namespace

#endif  // CAPNP_INCLUDED_c56be168dcbbc3c6_
