goog.module('nullability.explicitnotnullable.ExplicitNotNullable$impl');

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

let NullPointerException = goog.forwardDeclare('java.lang.NullPointerException$impl');
let j_l_String = goog.forwardDeclare('java.lang.String$impl');
let ArrayList = goog.forwardDeclare('java.util.ArrayList$impl');
let List = goog.forwardDeclare('java.util.List$impl');
let $Equality = goog.forwardDeclare('nativebootstrap.Equality$impl');
let DefaultNullable = goog.forwardDeclare('nullability.explicitnotnullable.DefaultNullable$impl');
let Consumer = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.Consumer$impl');
let DependentTypeParameters = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.DependentTypeParameters$impl');
let ExplicitNotNullable_Function = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.Function$impl');
let IntFunction = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.IntFunction$impl');
let ParameterizedDefaultNullability = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.ParameterizedDefaultNullability$impl');
let ParameterizedNonNullable = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.ParameterizedNonNullable$impl');
let ParameterizedNullable = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.ParameterizedNullable$impl');
let Supplier = goog.forwardDeclare('nullability.explicitnotnullable.ExplicitNotNullable.Supplier$impl');
let $Arrays = goog.forwardDeclare('vmbootstrap.Arrays$impl');
let $Casts = goog.forwardDeclare('vmbootstrap.Casts$impl');
let $Exceptions = goog.forwardDeclare('vmbootstrap.Exceptions$impl');
let $Objects = goog.forwardDeclare('vmbootstrap.Objects$impl');
let $$char = goog.forwardDeclare('vmbootstrap.primitives.$char$impl');

class ExplicitNotNullable extends j_l_Object {
 /** @protected @nodts */
 constructor() {
  super();
  /**@type {string} @nodts*/
  this.f_f1__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {?string} @nodts*/
  this.f_f2__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {?string} @nodts*/
  this.f_f3__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!List<string>} @nodts*/
  this.f_f4__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {List<string>} @nodts*/
  this.f_f5__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!List<?string>} @nodts*/
  this.f_f6__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {List<?string>} @nodts*/
  this.f_f7__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<string>} @nodts*/
  this.f_f8__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<?string>} @nodts*/
  this.f_f9__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<string>} @nodts*/
  this.f_f10__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {?void} @nodts*/
  this.f_f11__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!*} @nodts*/
  this.f_f12__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!*} @nodts*/
  this.f_f13__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {*} @nodts*/
  this.f_f14__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<!Array<string>>} @nodts*/
  this.f_f15__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<Array<string>>} @nodts*/
  this.f_f16__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<!Array<string>>} @nodts*/
  this.f_f17__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<Array<string>>} @nodts*/
  this.f_f18__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<!Array<?string>>} @nodts*/
  this.f_f19__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<Array<?string>>} @nodts*/
  this.f_f20__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<!Array<?string>>} @nodts*/
  this.f_f21__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<Array<?string>>} @nodts*/
  this.f_f22__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<!Array<number>>} @nodts*/
  this.f_f23__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<Array<number>>} @nodts*/
  this.f_f24__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<!Array<number>>} @nodts*/
  this.f_f25__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Array<Array<number>>} @nodts*/
  this.f_f26__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<string>} @nodts*/
  this.f_f27__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<string>} @nodts*/
  this.f_f28__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<?string>} @nodts*/
  this.f_f29__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {!Array<?string>} @nodts*/
  this.f_f30__nullability_explicitnotnullable_ExplicitNotNullable_;
  /**@type {Consumer<?>} @nodts*/
  this.f_collection__nullability_explicitnotnullable_ExplicitNotNullable;
  /**@type {Consumer<?>} @nodts*/
  this.f_nonNullableCollection__nullability_explicitnotnullable_ExplicitNotNullable;
  /**@type {!ExplicitNotNullable_Function<string, string>} @nodts*/
  this.f_i__nullability_explicitnotnullable_ExplicitNotNullable;
 }
 /** @nodts @return {!ExplicitNotNullable} */
 static $create__() {
  ExplicitNotNullable.$clinit();
  let $instance = new ExplicitNotNullable();
  $instance.$ctor__nullability_explicitnotnullable_ExplicitNotNullable__void();
  return $instance;
 }
 /** @nodts */
 $ctor__nullability_explicitnotnullable_ExplicitNotNullable__void() {
  this.$ctor__java_lang_Object__void();
  this.$init__void_$p_nullability_explicitnotnullable_ExplicitNotNullable();
  this.f_f13__nullability_explicitnotnullable_ExplicitNotNullable_ = j_l_Object.$create__();
 }
 /** @nodts @return {string} */
 m_m1__java_lang_String__java_util_List__java_lang_String(/** string */ a, /** !List<number> */ b) {
  return '';
 }
 /** @nodts @return {?string} */
 m_m2__java_lang_String__java_util_List__java_lang_String(/** ?string */ a, /** !List<?number> */ b) {
  return null;
 }
 
 m3(.../** ...string */ args) {
  $Arrays.$stampType(args, j_l_String);
 }
 /** @nodts @template T */
 m_methodWithNullableBound__void_$pp_nullability_explicitnotnullable() {}
 /** @nodts @template T */
 m_methodWithNonNullableBound__void_$pp_nullability_explicitnotnullable() {}
 /** @nodts @template N */
 static m_genericNullableMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable__java_lang_Object__void(/** !ParameterizedNullable<N> */ o, /** ?N */ n) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable());
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = n;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = n;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = n;
  $Objects.m_hashCode__java_lang_Object__int(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable);
  $Objects.m_hashCode__java_lang_Object__int(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable);
  $Objects.m_hashCode__java_lang_Object__int(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable);
 }
 /** @nodts @template N */
 static m_genericNonNullMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable__java_lang_Object__void(/** !ParameterizedNonNullable<N> */ o, /** N */ n) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable());
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = n;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = n;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = n;
  $Objects.m_hashCode__java_lang_Object__int(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable);
  $Objects.m_hashCode__java_lang_Object__int(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable);
  $Objects.m_hashCode__java_lang_Object__int(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable);
 }
 /** @nodts @template N */
 static m_genericDefaultNullabilityMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability__java_lang_Object__void(/** !ParameterizedDefaultNullability<N> */ o, /** N */ n) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(n);
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable());
  $Objects.m_hashCode__java_lang_Object__int(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable());
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = n;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = n;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = n;
  $Objects.m_hashCode__java_lang_Object__int(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability);
  $Objects.m_hashCode__java_lang_Object__int(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability);
  $Objects.m_hashCode__java_lang_Object__int(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability);
 }
 /** @nodts */
 static m_parametrizedNullableMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable__java_lang_String__void(/** !ParameterizedNullable<?string> */ o, /** ?string */ s) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = s;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = s;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable = s;
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNullable, j_l_String)));
 }
 /** @nodts */
 static m_parametrizedNonNullMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable__java_lang_String__void(/** !ParameterizedNonNullable<string> */ o, /** string */ s) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = s;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = s;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable = s;
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedNonNullable, j_l_String)));
 }
 /** @nodts */
 static m_parametrizedDefaultNullabilityMethod__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability__java_lang_String__void(/** !ParameterizedDefaultNullability<string> */ o, /** string */ s) {
  ExplicitNotNullable.$clinit();
  o.m_setNullable__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setNonNull__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  o.m_setDefaultNullability__java_lang_Object__void_$pp_nullability_explicitnotnullable(s);
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.m_getNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.m_getNonNullable__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.m_getDefaultNullability__java_lang_Object_$pp_nullability_explicitnotnullable(), j_l_String)));
  o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = s;
  o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = s;
  o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability = s;
  j_l_String.m_length__java_lang_String__int(/**@type {?string}*/ ($Casts.$to(o.f_nullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.f_nonNullable__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability, j_l_String)));
  j_l_String.m_length__java_lang_String__int(/**@type {string}*/ ($Casts.$to(o.f_defaultNullability__nullability_explicitnotnullable_ExplicitNotNullable_ParameterizedDefaultNullability, j_l_String)));
 }
 /** @nodts */
 m_casts__void() {
  let listOfString = /**@type {List<string>}*/ (null);
  let nullableListOfString = /**@type {List<string>}*/ (null);
  let listOfNullableString = /**@type {List<?string>}*/ (null);
  let nullableListOfNullableString = /**@type {List<?string>}*/ (null);
  let nonNullListOfString = /**@type {List<string>}*/ (null);
  let listOfNonNullString = /**@type {List<string>}*/ (null);
  let nonNullListOfNonNullString = /**@type {List<string>}*/ (null);
 }
 /** @nodts */
 static m_testListOfWildcard__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsDefaultNullabilityObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsNullableObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsNonNullObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsDefaultNullabilityString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsNullableString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardExtendsNonNullString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts @template T */
 static m_testListOfWildcardExtendsDefaultNullabilityVariable__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts @template T */
 static m_testListOfWildcardExtendsNullableVariable__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperDefaultNullabilityObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperNullableObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperNonNullObject__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperDefaultNullabilityString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperNullableString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testListOfWildcardSuperNonNullString__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts @template T */
 static m_testListOfWildcardSuperDefaultNullabilityVariable__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts @template T */
 static m_testListOfWildcardSuperNullableVariable__java_util_List__void(/** !List<?> */ l) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testLambdaNullability__void() {
  ExplicitNotNullable.$clinit();
  let lambda = Consumer.$adapt((/** string */ s) =>{
   let s_1 = /**@type {string}*/ ($Casts.$to(s, j_l_String));
  });
  let nullable = Consumer.$adapt((/** string */ arg0) =>{
   let arg0_1 = /**@type {string}*/ ($Casts.$to(arg0, j_l_String));
   DefaultNullable.m_nullableAccept__java_lang_String__void(arg0_1);
  });
  let nonNullable = Consumer.$adapt((/** string */ arg0_2) =>{
   let arg0_3 = /**@type {string}*/ ($Casts.$to(arg0_2, j_l_String));
   ExplicitNotNullable.m_nonNullableAccept__java_lang_String__void(arg0_3);
  });
  let newObject = Supplier.$adapt(/**  @return {!*}*/ (() =>{
   return j_l_Object.$create__();
  }));
  let newArray = IntFunction.$adapt(/**  @return {!Array<!*>}*/ ((/** number */ arg0_4) =>{
   return new Array(arg0_4);
  }));
 }
 /** @nodts */
 static m_nonNullableAccept__java_lang_String__void(/** string */ s) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 m_unboundedWildCard__nullability_explicitnotnullable_ExplicitNotNullable_Consumer__nullability_explicitnotnullable_ExplicitNotNullable_Consumer__void_$pp_nullability_explicitnotnullable(/** !Consumer<?> */ c, /** !Consumer<?> */ nc) {
  this.f_collection__nullability_explicitnotnullable_ExplicitNotNullable = c;
  this.f_nonNullableCollection__nullability_explicitnotnullable_ExplicitNotNullable = nc;
 }
 /** @nodts @template T */
 static m_consume__java_lang_Object__void(/** T */ t) {
  ExplicitNotNullable.$clinit();
 }
 /** @nodts */
 static m_testUnboundWildcardTypeArgumentInference__nullability_explicitnotnullable_ExplicitNotNullable_Consumer__void(/** !Consumer<?> */ c) {
  ExplicitNotNullable.$clinit();
  ExplicitNotNullable.m_consume__java_lang_Object__void(c);
 }
 /** @nodts @return {!DependentTypeParameters<?, ?>} */
 m_testDependentWildcards__nullability_explicitnotnullable_ExplicitNotNullable_DependentTypeParameters__nullability_explicitnotnullable_ExplicitNotNullable_DependentTypeParameters_$pp_nullability_explicitnotnullable(/** !DependentTypeParameters<?, ?> */ x) {
  return x;
 }
 /** @nodts */
 static m_testLocalNullability__void() {
  ExplicitNotNullable.$clinit();
  let stringConsumer = /**@type {Consumer<string>}*/ (null);
  let nullableStringConsumer = /**@type {Consumer<?string>}*/ (null);
  let nonNullStringConsumer = /**@type {Consumer<string>}*/ (null);
  let b = Consumer.$isInstance(null);
 }
 /** @nodts @return {string} */
 static m_testParametrizedMethod__nullability_explicitnotnullable_ExplicitNotNullable_Function__java_lang_String__java_lang_String(/** !ExplicitNotNullable_Function<?, ?> */ f, /** string */ string_1) {
  ExplicitNotNullable.$clinit();
  let localString = string_1;
  return /**@type {string}*/ ($Casts.$to(f.m_apply__java_lang_Object__java_lang_Object(localString), j_l_String));
 }
 /** @nodts @template T @return {T} */
 static m_assertNotNull__java_lang_Object__java_lang_Object(/** ?T */ nullable) {
  ExplicitNotNullable.$clinit();
  if ($Equality.$same(nullable, null)) {
   throw $Exceptions.toJs(NullPointerException.$create__());
  }
  return nullable;
 }
 /** @nodts */
 static m_testAssertNotNull_parametrized__java_lang_String__void(/** ?string */ nullable) {
  ExplicitNotNullable.$clinit();
  let nonNull = /**@type {?string}*/ ($Casts.$to(ExplicitNotNullable.m_assertNotNull__java_lang_Object__java_lang_Object(nullable), j_l_String));
 }
 /** @nodts @template T */
 static m_testAssertNotNull_notNullBounds__java_lang_Object__void(/** ?T */ nullable) {
  ExplicitNotNullable.$clinit();
  let notNull = ExplicitNotNullable.m_assertNotNull__java_lang_Object__java_lang_Object(nullable);
 }
 /** @nodts @template T */
 static m_testAssertNotNull_nullableBounds__java_lang_Object__void(/** ?T */ nullable) {
  ExplicitNotNullable.$clinit();
  let notNull = ExplicitNotNullable.m_assertNotNull__java_lang_Object__java_lang_Object(nullable);
 }
 /** @private @nodts */
 $init__void_$p_nullability_explicitnotnullable_ExplicitNotNullable() {
  this.f_f1__nullability_explicitnotnullable_ExplicitNotNullable_ = 'Hello';
  this.f_f2__nullability_explicitnotnullable_ExplicitNotNullable_ = null;
  this.f_f3__nullability_explicitnotnullable_ExplicitNotNullable_ = null;
  this.f_f4__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!ArrayList<?string>}*/ (ArrayList.$create__()));
  this.f_f5__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!ArrayList<?string>}*/ (ArrayList.$create__()));
  this.f_f6__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!ArrayList<?string>}*/ (ArrayList.$create__()));
  this.f_f7__nullability_explicitnotnullable_ExplicitNotNullable_ = null;
  this.f_f8__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<string>}*/ ($Arrays.$create([0], j_l_String)));
  this.f_f9__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<?string>}*/ ($Arrays.$create([0], j_l_String)));
  this.f_f10__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<string>}*/ ($Arrays.$create([0], j_l_String)));
  this.f_f11__nullability_explicitnotnullable_ExplicitNotNullable_ = null;
  this.f_f12__nullability_explicitnotnullable_ExplicitNotNullable_ = j_l_Object.$create__();
  this.f_f15__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f16__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f17__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f18__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f19__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<?string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f20__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<?string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f21__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<?string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f22__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<?string>>}*/ ($Arrays.$create([0, null], j_l_String)));
  this.f_f23__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<number>>}*/ ($Arrays.$create([0, null], $$char)));
  this.f_f24__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<number>>}*/ ($Arrays.$create([0, null], $$char)));
  this.f_f25__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<!Array<number>>}*/ ($Arrays.$create([0, null], $$char)));
  this.f_f26__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<Array<number>>}*/ ($Arrays.$create([0, null], $$char)));
  this.f_f27__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<string>}*/ ($Arrays.$create([1], j_l_String)));
  this.f_f28__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<?string>}*/ ($Arrays.$create([1], j_l_String)));
  this.f_f29__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<string>}*/ ($Arrays.$create([1], j_l_String)));
  this.f_f30__nullability_explicitnotnullable_ExplicitNotNullable_ = (/**@type {!Array<?string>}*/ ($Arrays.$create([1], j_l_String)));
  this.f_i__nullability_explicitnotnullable_ExplicitNotNullable = ExplicitNotNullable_Function.$adapt(/**  @return {string}*/ ((/** string */ s) =>{
   let s_1 = /**@type {string}*/ ($Casts.$to(s, j_l_String));
   return s_1;
  }));
 }
 /** @nodts */
 static $clinit() {
  ExplicitNotNullable.$clinit = () =>{};
  ExplicitNotNullable.$loadModules();
  j_l_Object.$clinit();
 }
 /** @nodts @return {boolean} */
 static $isInstance(/** ? */ instance) {
  return instance instanceof ExplicitNotNullable;
 }
 
 /** @nodts */
 static $loadModules() {
  NullPointerException = goog.module.get('java.lang.NullPointerException$impl');
  j_l_String = goog.module.get('java.lang.String$impl');
  ArrayList = goog.module.get('java.util.ArrayList$impl');
  $Equality = goog.module.get('nativebootstrap.Equality$impl');
  DefaultNullable = goog.module.get('nullability.explicitnotnullable.DefaultNullable$impl');
  Consumer = goog.module.get('nullability.explicitnotnullable.ExplicitNotNullable.Consumer$impl');
  ExplicitNotNullable_Function = goog.module.get('nullability.explicitnotnullable.ExplicitNotNullable.Function$impl');
  IntFunction = goog.module.get('nullability.explicitnotnullable.ExplicitNotNullable.IntFunction$impl');
  Supplier = goog.module.get('nullability.explicitnotnullable.ExplicitNotNullable.Supplier$impl');
  $Arrays = goog.module.get('vmbootstrap.Arrays$impl');
  $Casts = goog.module.get('vmbootstrap.Casts$impl');
  $Exceptions = goog.module.get('vmbootstrap.Exceptions$impl');
  $Objects = goog.module.get('vmbootstrap.Objects$impl');
  $$char = goog.module.get('vmbootstrap.primitives.$char$impl');
 }
}
$Util.$setClassMetadata(ExplicitNotNullable, 'nullability.explicitnotnullable.ExplicitNotNullable');

exports = ExplicitNotNullable;

//# sourceMappingURL=ExplicitNotNullable.js.map
