// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'extension_type.dart';

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

class _$ExtensionType extends ExtensionType {
  @override
  final BuiltList<Expression> annotations;
  @override
  final BuiltList<String> docs;
  @override
  final bool constant;
  @override
  final String name;
  @override
  final BuiltList<Reference> types;
  @override
  final String primaryConstructorName;
  @override
  final RepresentationDeclaration representationDeclaration;
  @override
  final BuiltList<Reference> implements;
  @override
  final BuiltList<Constructor> constructors;
  @override
  final BuiltList<Field> fields;
  @override
  final BuiltList<Method> methods;

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

  _$ExtensionType._(
      {required this.annotations,
      required this.docs,
      required this.constant,
      required this.name,
      required this.types,
      required this.primaryConstructorName,
      required this.representationDeclaration,
      required this.implements,
      required this.constructors,
      required this.fields,
      required this.methods})
      : super._() {
    BuiltValueNullFieldError.checkNotNull(
        annotations, r'ExtensionType', 'annotations');
    BuiltValueNullFieldError.checkNotNull(docs, r'ExtensionType', 'docs');
    BuiltValueNullFieldError.checkNotNull(
        constant, r'ExtensionType', 'constant');
    BuiltValueNullFieldError.checkNotNull(name, r'ExtensionType', 'name');
    BuiltValueNullFieldError.checkNotNull(types, r'ExtensionType', 'types');
    BuiltValueNullFieldError.checkNotNull(
        primaryConstructorName, r'ExtensionType', 'primaryConstructorName');
    BuiltValueNullFieldError.checkNotNull(representationDeclaration,
        r'ExtensionType', 'representationDeclaration');
    BuiltValueNullFieldError.checkNotNull(
        implements, r'ExtensionType', 'implements');
    BuiltValueNullFieldError.checkNotNull(
        constructors, r'ExtensionType', 'constructors');
    BuiltValueNullFieldError.checkNotNull(fields, r'ExtensionType', 'fields');
    BuiltValueNullFieldError.checkNotNull(methods, r'ExtensionType', 'methods');
  }

  @override
  ExtensionType rebuild(void Function(ExtensionTypeBuilder) updates) =>
      (toBuilder()..update(updates)).build();

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

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is ExtensionType &&
        annotations == other.annotations &&
        docs == other.docs &&
        constant == other.constant &&
        name == other.name &&
        types == other.types &&
        primaryConstructorName == other.primaryConstructorName &&
        representationDeclaration == other.representationDeclaration &&
        implements == other.implements &&
        constructors == other.constructors &&
        fields == other.fields &&
        methods == other.methods;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, annotations.hashCode);
    _$hash = $jc(_$hash, docs.hashCode);
    _$hash = $jc(_$hash, constant.hashCode);
    _$hash = $jc(_$hash, name.hashCode);
    _$hash = $jc(_$hash, types.hashCode);
    _$hash = $jc(_$hash, primaryConstructorName.hashCode);
    _$hash = $jc(_$hash, representationDeclaration.hashCode);
    _$hash = $jc(_$hash, implements.hashCode);
    _$hash = $jc(_$hash, constructors.hashCode);
    _$hash = $jc(_$hash, fields.hashCode);
    _$hash = $jc(_$hash, methods.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'ExtensionType')
          ..add('annotations', annotations)
          ..add('docs', docs)
          ..add('constant', constant)
          ..add('name', name)
          ..add('types', types)
          ..add('primaryConstructorName', primaryConstructorName)
          ..add('representationDeclaration', representationDeclaration)
          ..add('implements', implements)
          ..add('constructors', constructors)
          ..add('fields', fields)
          ..add('methods', methods))
        .toString();
  }
}

class _$ExtensionTypeBuilder extends ExtensionTypeBuilder {
  _$ExtensionType? _$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
  bool get constant {
    _$this;
    return super.constant;
  }

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

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

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

  @override
  ListBuilder<Reference> get types {
    _$this;
    return super.types;
  }

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

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

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

  @override
  RepresentationDeclaration? get representationDeclaration {
    _$this;
    return super.representationDeclaration;
  }

  @override
  set representationDeclaration(
      RepresentationDeclaration? representationDeclaration) {
    _$this;
    super.representationDeclaration = representationDeclaration;
  }

  @override
  ListBuilder<Reference> get implements {
    _$this;
    return super.implements;
  }

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

  @override
  ListBuilder<Constructor> get constructors {
    _$this;
    return super.constructors;
  }

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

  @override
  ListBuilder<Field> get fields {
    _$this;
    return super.fields;
  }

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

  @override
  ListBuilder<Method> get methods {
    _$this;
    return super.methods;
  }

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

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

  ExtensionTypeBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      super.annotations = $v.annotations.toBuilder();
      super.docs = $v.docs.toBuilder();
      super.constant = $v.constant;
      super.name = $v.name;
      super.types = $v.types.toBuilder();
      super.primaryConstructorName = $v.primaryConstructorName;
      super.representationDeclaration = $v.representationDeclaration;
      super.implements = $v.implements.toBuilder();
      super.constructors = $v.constructors.toBuilder();
      super.fields = $v.fields.toBuilder();
      super.methods = $v.methods.toBuilder();
      _$v = null;
    }
    return this;
  }

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

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

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

  _$ExtensionType _build() {
    _$ExtensionType _$result;
    try {
      _$result = _$v ??
          new _$ExtensionType._(
              annotations: annotations.build(),
              docs: docs.build(),
              constant: BuiltValueNullFieldError.checkNotNull(
                  constant, r'ExtensionType', 'constant'),
              name: BuiltValueNullFieldError.checkNotNull(
                  name, r'ExtensionType', 'name'),
              types: types.build(),
              primaryConstructorName: BuiltValueNullFieldError.checkNotNull(
                  primaryConstructorName,
                  r'ExtensionType',
                  'primaryConstructorName'),
              representationDeclaration: BuiltValueNullFieldError.checkNotNull(
                  representationDeclaration,
                  r'ExtensionType',
                  'representationDeclaration'),
              implements: implements.build(),
              constructors: constructors.build(),
              fields: fields.build(),
              methods: methods.build());
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'annotations';
        annotations.build();
        _$failedField = 'docs';
        docs.build();

        _$failedField = 'types';
        types.build();

        _$failedField = 'implements';
        implements.build();
        _$failedField = 'constructors';
        constructors.build();
        _$failedField = 'fields';
        fields.build();
        _$failedField = 'methods';
        methods.build();
      } catch (e) {
        throw new BuiltValueNestedFieldError(
            r'ExtensionType', _$failedField, e.toString());
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

class _$RepresentationDeclaration extends RepresentationDeclaration {
  @override
  final BuiltList<Expression> annotations;
  @override
  final BuiltList<String> docs;
  @override
  final Reference declaredRepresentationType;
  @override
  final String name;

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

  _$RepresentationDeclaration._(
      {required this.annotations,
      required this.docs,
      required this.declaredRepresentationType,
      required this.name})
      : super._() {
    BuiltValueNullFieldError.checkNotNull(
        annotations, r'RepresentationDeclaration', 'annotations');
    BuiltValueNullFieldError.checkNotNull(
        docs, r'RepresentationDeclaration', 'docs');
    BuiltValueNullFieldError.checkNotNull(declaredRepresentationType,
        r'RepresentationDeclaration', 'declaredRepresentationType');
    BuiltValueNullFieldError.checkNotNull(
        name, r'RepresentationDeclaration', 'name');
  }

  @override
  RepresentationDeclaration rebuild(
          void Function(RepresentationDeclarationBuilder) updates) =>
      (toBuilder()..update(updates)).build();

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

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is RepresentationDeclaration &&
        annotations == other.annotations &&
        docs == other.docs &&
        declaredRepresentationType == other.declaredRepresentationType &&
        name == other.name;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, annotations.hashCode);
    _$hash = $jc(_$hash, docs.hashCode);
    _$hash = $jc(_$hash, declaredRepresentationType.hashCode);
    _$hash = $jc(_$hash, name.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'RepresentationDeclaration')
          ..add('annotations', annotations)
          ..add('docs', docs)
          ..add('declaredRepresentationType', declaredRepresentationType)
          ..add('name', name))
        .toString();
  }
}

class _$RepresentationDeclarationBuilder
    extends RepresentationDeclarationBuilder {
  _$RepresentationDeclaration? _$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
  Reference? get declaredRepresentationType {
    _$this;
    return super.declaredRepresentationType;
  }

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

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

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

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

  RepresentationDeclarationBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      super.annotations = $v.annotations.toBuilder();
      super.docs = $v.docs.toBuilder();
      super.declaredRepresentationType = $v.declaredRepresentationType;
      super.name = $v.name;
      _$v = null;
    }
    return this;
  }

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

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

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

  _$RepresentationDeclaration _build() {
    _$RepresentationDeclaration _$result;
    try {
      _$result = _$v ??
          new _$RepresentationDeclaration._(
              annotations: annotations.build(),
              docs: docs.build(),
              declaredRepresentationType: BuiltValueNullFieldError.checkNotNull(
                  declaredRepresentationType,
                  r'RepresentationDeclaration',
                  'declaredRepresentationType'),
              name: BuiltValueNullFieldError.checkNotNull(
                  name, r'RepresentationDeclaration', 'name'));
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'annotations';
        annotations.build();
        _$failedField = 'docs';
        docs.build();
      } catch (e) {
        throw new BuiltValueNestedFieldError(
            r'RepresentationDeclaration', _$failedField, e.toString());
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
