// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'constructor.dart';

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

class _$Constructor extends Constructor {
  @override
  final BuiltList<Expression> annotations;
  @override
  final BuiltList<String> docs;
  @override
  final BuiltList<Parameter> optionalParameters;
  @override
  final BuiltList<Parameter> requiredParameters;
  @override
  final BuiltList<Code> initializers;
  @override
  final Code? body;
  @override
  final bool external;
  @override
  final bool constant;
  @override
  final bool factory;
  @override
  final bool? lambda;
  @override
  final String? name;
  @override
  final Reference? redirect;

  factory _$Constructor([void Function(ConstructorBuilder)? updates]) =>
      (new ConstructorBuilder()..update(updates)).build() as _$Constructor;

  _$Constructor._(
      {required this.annotations,
      required this.docs,
      required this.optionalParameters,
      required this.requiredParameters,
      required this.initializers,
      this.body,
      required this.external,
      required this.constant,
      required this.factory,
      this.lambda,
      this.name,
      this.redirect})
      : super._() {
    BuiltValueNullFieldError.checkNotNull(
        annotations, r'Constructor', 'annotations');
    BuiltValueNullFieldError.checkNotNull(docs, r'Constructor', 'docs');
    BuiltValueNullFieldError.checkNotNull(
        optionalParameters, r'Constructor', 'optionalParameters');
    BuiltValueNullFieldError.checkNotNull(
        requiredParameters, r'Constructor', 'requiredParameters');
    BuiltValueNullFieldError.checkNotNull(
        initializers, r'Constructor', 'initializers');
    BuiltValueNullFieldError.checkNotNull(external, r'Constructor', 'external');
    BuiltValueNullFieldError.checkNotNull(constant, r'Constructor', 'constant');
    BuiltValueNullFieldError.checkNotNull(factory, r'Constructor', 'factory');
  }

  @override
  Constructor rebuild(void Function(ConstructorBuilder) updates) =>
      (toBuilder()..update(updates)).build();

  @override
  _$ConstructorBuilder toBuilder() => new _$ConstructorBuilder()..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is Constructor &&
        annotations == other.annotations &&
        docs == other.docs &&
        optionalParameters == other.optionalParameters &&
        requiredParameters == other.requiredParameters &&
        initializers == other.initializers &&
        body == other.body &&
        external == other.external &&
        constant == other.constant &&
        factory == other.factory &&
        lambda == other.lambda &&
        name == other.name &&
        redirect == other.redirect;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, annotations.hashCode);
    _$hash = $jc(_$hash, docs.hashCode);
    _$hash = $jc(_$hash, optionalParameters.hashCode);
    _$hash = $jc(_$hash, requiredParameters.hashCode);
    _$hash = $jc(_$hash, initializers.hashCode);
    _$hash = $jc(_$hash, body.hashCode);
    _$hash = $jc(_$hash, external.hashCode);
    _$hash = $jc(_$hash, constant.hashCode);
    _$hash = $jc(_$hash, factory.hashCode);
    _$hash = $jc(_$hash, lambda.hashCode);
    _$hash = $jc(_$hash, name.hashCode);
    _$hash = $jc(_$hash, redirect.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'Constructor')
          ..add('annotations', annotations)
          ..add('docs', docs)
          ..add('optionalParameters', optionalParameters)
          ..add('requiredParameters', requiredParameters)
          ..add('initializers', initializers)
          ..add('body', body)
          ..add('external', external)
          ..add('constant', constant)
          ..add('factory', factory)
          ..add('lambda', lambda)
          ..add('name', name)
          ..add('redirect', redirect))
        .toString();
  }
}

class _$ConstructorBuilder extends ConstructorBuilder {
  _$Constructor? _$v;

  @override
  ListBuilder<Expression> get annotations {
    _$this;
    return super.annotations;
  }

  @override
  set annotations(ListBuilder<Expression> annotations) {
    _$this;
    super.annotations = annotations;
  }

  @override
  ListBuilder<String> get docs {
    _$this;
    return super.docs;
  }

  @override
  set docs(ListBuilder<String> docs) {
    _$this;
    super.docs = docs;
  }

  @override
  ListBuilder<Parameter> get optionalParameters {
    _$this;
    return super.optionalParameters;
  }

  @override
  set optionalParameters(ListBuilder<Parameter> optionalParameters) {
    _$this;
    super.optionalParameters = optionalParameters;
  }

  @override
  ListBuilder<Parameter> get requiredParameters {
    _$this;
    return super.requiredParameters;
  }

  @override
  set requiredParameters(ListBuilder<Parameter> requiredParameters) {
    _$this;
    super.requiredParameters = requiredParameters;
  }

  @override
  ListBuilder<Code> get initializers {
    _$this;
    return super.initializers;
  }

  @override
  set initializers(ListBuilder<Code> initializers) {
    _$this;
    super.initializers = initializers;
  }

  @override
  Code? get body {
    _$this;
    return super.body;
  }

  @override
  set body(Code? body) {
    _$this;
    super.body = body;
  }

  @override
  bool get external {
    _$this;
    return super.external;
  }

  @override
  set external(bool external) {
    _$this;
    super.external = external;
  }

  @override
  bool get constant {
    _$this;
    return super.constant;
  }

  @override
  set constant(bool constant) {
    _$this;
    super.constant = constant;
  }

  @override
  bool get factory {
    _$this;
    return super.factory;
  }

  @override
  set factory(bool factory) {
    _$this;
    super.factory = factory;
  }

  @override
  bool? get lambda {
    _$this;
    return super.lambda;
  }

  @override
  set lambda(bool? lambda) {
    _$this;
    super.lambda = lambda;
  }

  @override
  String? get name {
    _$this;
    return super.name;
  }

  @override
  set name(String? name) {
    _$this;
    super.name = name;
  }

  @override
  Reference? get redirect {
    _$this;
    return super.redirect;
  }

  @override
  set redirect(Reference? redirect) {
    _$this;
    super.redirect = redirect;
  }

  _$ConstructorBuilder() : super._();

  ConstructorBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      super.annotations = $v.annotations.toBuilder();
      super.docs = $v.docs.toBuilder();
      super.optionalParameters = $v.optionalParameters.toBuilder();
      super.requiredParameters = $v.requiredParameters.toBuilder();
      super.initializers = $v.initializers.toBuilder();
      super.body = $v.body;
      super.external = $v.external;
      super.constant = $v.constant;
      super.factory = $v.factory;
      super.lambda = $v.lambda;
      super.name = $v.name;
      super.redirect = $v.redirect;
      _$v = null;
    }
    return this;
  }

  @override
  void replace(Constructor other) {
    ArgumentError.checkNotNull(other, 'other');
    _$v = other as _$Constructor;
  }

  @override
  void update(void Function(ConstructorBuilder)? updates) {
    if (updates != null) updates(this);
  }

  @override
  Constructor build() => _build();

  _$Constructor _build() {
    _$Constructor _$result;
    try {
      _$result = _$v ??
          new _$Constructor._(
              annotations: annotations.build(),
              docs: docs.build(),
              optionalParameters: optionalParameters.build(),
              requiredParameters: requiredParameters.build(),
              initializers: initializers.build(),
              body: body,
              external: BuiltValueNullFieldError.checkNotNull(
                  external, r'Constructor', 'external'),
              constant: BuiltValueNullFieldError.checkNotNull(
                  constant, r'Constructor', 'constant'),
              factory: BuiltValueNullFieldError.checkNotNull(
                  factory, r'Constructor', 'factory'),
              lambda: lambda,
              name: name,
              redirect: redirect);
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'annotations';
        annotations.build();
        _$failedField = 'docs';
        docs.build();
        _$failedField = 'optionalParameters';
        optionalParameters.build();
        _$failedField = 'requiredParameters';
        requiredParameters.build();
        _$failedField = 'initializers';
        initializers.build();
      } catch (e) {
        throw new BuiltValueNestedFieldError(
            r'Constructor', _$failedField, e.toString());
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
