goog.module('autovalue.AutoValueWithBuilder.Builder$impl');

const j_l_Object = goog.require('java.lang.Object$impl');
const $Util = goog.require('nativebootstrap.Util$impl');

let AutoValueWithBuilder = goog.forwardDeclare('autovalue.AutoValueWithBuilder$impl');
let IllegalStateException = goog.forwardDeclare('java.lang.IllegalStateException$impl');
let $Exceptions = goog.forwardDeclare('vmbootstrap.Exceptions$impl');
let $Primitives = goog.forwardDeclare('vmbootstrap.Primitives$impl');

class Builder extends j_l_Object {
 /** @protected @nodts */
 constructor() {
  super();
  /**@type {boolean} @nodts*/
  this.f_booleanField__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = false;
  /**@type {?number} @nodts*/
  this.f_nullableField__autovalue_AutoValue_AutoValueWithBuilder_Builder_;
  /**@type {number} @nodts*/
  this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = 0;
 }
 /** @nodts @return {!Builder} */
 static $create__() {
  Builder.$clinit();
  let $instance = new Builder();
  $instance.$ctor__autovalue_AutoValueWithBuilder_Builder__void();
  return $instance;
 }
 /** @nodts */
 $ctor__autovalue_AutoValueWithBuilder_Builder__void() {
  this.$ctor__java_lang_Object__void();
  this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = 0;
 }
 /** @nodts @return {!Builder} */
 static $create__autovalue_AutoValueWithBuilder(/** AutoValueWithBuilder */ source) {
  Builder.$clinit();
  let $instance = new Builder();
  $instance.$ctor__autovalue_AutoValueWithBuilder_Builder__autovalue_AutoValueWithBuilder__void(source);
  return $instance;
 }
 /** @nodts */
 $ctor__autovalue_AutoValueWithBuilder_Builder__autovalue_AutoValueWithBuilder__void(/** AutoValueWithBuilder */ source) {
  this.$ctor__java_lang_Object__void();
  this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = 0;
  this.f_booleanField__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = source.m_getBooleanField__boolean();
  this.f_nullableField__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = source.m_getNullableField__java_lang_Double();
  this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = 1;
 }
 /** @nodts @return {Builder} */
 m_setBooleanField__boolean__autovalue_AutoValueWithBuilder_Builder(/** boolean */ booleanField) {
  this.f_booleanField__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = booleanField;
  this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = $Primitives.narrowIntToByte(this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ | 1);
  return this;
 }
 /** @nodts @return {Builder} */
 m_setNullableField__java_lang_Double__autovalue_AutoValueWithBuilder_Builder(/** ?number */ nullableField) {
  this.f_nullableField__autovalue_AutoValue_AutoValueWithBuilder_Builder_ = nullableField;
  return this;
 }
 /** @nodts @return {AutoValueWithBuilder} */
 m_build__autovalue_AutoValueWithBuilder() {
  if (this.f_set___0__autovalue_AutoValue_AutoValueWithBuilder_Builder_ != 1) {
   throw $Exceptions.toJs(IllegalStateException.$create__());
  }
  return AutoValueWithBuilder.$create__boolean__java_lang_Double(this.f_booleanField__autovalue_AutoValue_AutoValueWithBuilder_Builder_, this.f_nullableField__autovalue_AutoValue_AutoValueWithBuilder_Builder_);
 }
 /** @nodts */
 static $clinit() {
  Builder.$clinit = () =>{};
  Builder.$loadModules();
  j_l_Object.$clinit();
 }
 /** @nodts @return {boolean} */
 static $isInstance(/** ? */ instance) {
  return instance instanceof Builder;
 }
 
 /** @nodts */
 static $loadModules() {
  AutoValueWithBuilder = goog.module.get('autovalue.AutoValueWithBuilder$impl');
  IllegalStateException = goog.module.get('java.lang.IllegalStateException$impl');
  $Exceptions = goog.module.get('vmbootstrap.Exceptions$impl');
  $Primitives = goog.module.get('vmbootstrap.Primitives$impl');
 }
}
$Util.$setClassMetadata(Builder, 'autovalue.AutoValueWithBuilder$Builder');

exports = Builder;

//# sourceMappingURL=AutoValueWithBuilder$Builder.js.map
