goog.module('methodreferences.MethodReferencesKt$impl');

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

let Integer = goog.forwardDeclare('java.lang.Integer$impl');
let Number = goog.forwardDeclare('java.lang.Number$impl');
let j_l_String = goog.forwardDeclare('java.lang.String$impl');
let Function0 = goog.forwardDeclare('kotlin.jvm.functions.Function0$impl');
let Function1 = goog.forwardDeclare('kotlin.jvm.functions.Function1$impl');
let Function2 = goog.forwardDeclare('kotlin.jvm.functions.Function2$impl');
let MethodReferences = goog.forwardDeclare('methodreferences.MethodReferences$impl');
let Producer = goog.forwardDeclare('methodreferences.MethodReferences.Producer$impl');
let $Casts = goog.forwardDeclare('vmbootstrap.Casts$impl');
let $Objects = goog.forwardDeclare('vmbootstrap.Objects$impl');

/**
 * @final
 */
class MethodReferencesKt extends j_l_Object {
 /** @protected @nodts */
 constructor() {
  super();
 }
 /** @nodts @return {!MethodReferencesKt} */
 static $create__() {
  MethodReferencesKt.$clinit();
  let $instance = new MethodReferencesKt();
  $instance.$ctor__methodreferences_MethodReferencesKt__void();
  return $instance;
 }
 /** @nodts */
 $ctor__methodreferences_MethodReferencesKt__void() {
  this.$ctor__java_lang_Object__void();
 }
 /** @nodts @return {string} */
 static m_getP__java_lang_String() {
  MethodReferencesKt.$clinit();
  return MethodReferencesKt.f_p__methodreferences_MethodReferencesKt_;
 }
 /** @nodts @return {!*} */
 static m_m__java_lang_Object() {
  MethodReferencesKt.$clinit();
  return j_l_Object.$create__();
 }
 /** @nodts @template T @return {string} */
 static m_getString__java_lang_Object__java_lang_String(/** T */ v) {
  MethodReferencesKt.$clinit();
  return '' + j_l_String.m_valueOf__java_lang_Object__java_lang_String(v);
 }
 /** @nodts @template T @return {string} */
 static m_appendX__methodreferences_MethodReferences__java_lang_String(/** !MethodReferences<T> */ this_1) {
  MethodReferencesKt.$clinit();
  return j_l_String.m_valueOf__java_lang_Object__java_lang_String(this_1.m_getProperty__java_lang_String()) + 'X';
 }
 /** @nodts @return {!Producer<string>} */
 static m_getStaticStringProducer__methodreferences_MethodReferences_Producer() {
  MethodReferencesKt.$clinit();
  return MethodReferencesKt.f_staticStringProducer__methodreferences_MethodReferencesKt_;
 }
 /** @nodts */
 static m_testFunctionReferences__void() {
  MethodReferencesKt.$clinit();
  let topLevelFunRef = Function0.$adapt(/**  @return {!*}*/ (() =>{
   return MethodReferencesKt.m_m__java_lang_Object();
  }));
  topLevelFunRef.m_invoke__java_lang_Object();
  topLevelFunRef.m_invoke__java_lang_Object();
  let classFunRef = Function2.$adapt(/**  @return {boolean}*/ ((/** !MethodReferences<?> */ arg0, /** !(Number|number) */ arg1) =>{
   let arg0_1 = /**@type {!MethodReferences<*>}*/ ($Casts.$to(arg0, MethodReferences));
   let arg1_1 = /**@type {!(Number|number)}*/ ($Casts.$to(arg1, Number));
   return arg0_1.m_sameAs__java_lang_Number__boolean(arg1_1);
  }));
  classFunRef.m_invoke__java_lang_Object__java_lang_Object__java_lang_Object(/**@type {!MethodReferences<!*>}*/ (MethodReferences.$create__()), Integer.m_valueOf__int__java_lang_Integer(1));
  classFunRef.m_invoke__java_lang_Object__java_lang_Object__java_lang_Object(/**@type {!MethodReferences<!*>}*/ (MethodReferences.$create__()), Integer.m_valueOf__int__java_lang_Integer(1));
  let extensionFunRef = Function1.$adapt(/**  @return {string}*/ ((/** !MethodReferences<!*> */ arg0_2) =>{
   let arg0_3 = /**@type {!MethodReferences<!*>}*/ ($Casts.$to(arg0_2, MethodReferences));
   return MethodReferencesKt.m_appendX__methodreferences_MethodReferences__java_lang_String(arg0_3);
  }));
  extensionFunRef.m_invoke__java_lang_Object__java_lang_Object(/**@type {!MethodReferences<!*>}*/ (MethodReferences.$create__()));
  extensionFunRef.m_invoke__java_lang_Object__java_lang_Object(/**@type {!MethodReferences<!*>}*/ (MethodReferences.$create__()));
 }
 /** @nodts */
 static $clinit() {
  MethodReferencesKt.$clinit = () =>{};
  MethodReferencesKt.$loadModules();
  j_l_Object.$clinit();
  MethodReferencesKt.f_p__methodreferences_MethodReferencesKt_ = '123';
  let /** * */ $$q;
  MethodReferencesKt.f_staticStringProducer__methodreferences_MethodReferencesKt_ = ($$q = MethodReferencesKt.m_m__java_lang_Object(), Producer.$adapt(/**  @return {string}*/ (() =>{
   return $Objects.m_toString__java_lang_Object__java_lang_String($$q);
  })));
 }
 /** @nodts @return {boolean} */
 static $isInstance(/** ? */ instance) {
  return instance instanceof MethodReferencesKt;
 }
 
 /** @nodts */
 static $loadModules() {
  Integer = goog.module.get('java.lang.Integer$impl');
  Number = goog.module.get('java.lang.Number$impl');
  j_l_String = goog.module.get('java.lang.String$impl');
  Function0 = goog.module.get('kotlin.jvm.functions.Function0$impl');
  Function1 = goog.module.get('kotlin.jvm.functions.Function1$impl');
  Function2 = goog.module.get('kotlin.jvm.functions.Function2$impl');
  MethodReferences = goog.module.get('methodreferences.MethodReferences$impl');
  Producer = goog.module.get('methodreferences.MethodReferences.Producer$impl');
  $Casts = goog.module.get('vmbootstrap.Casts$impl');
  $Objects = goog.module.get('vmbootstrap.Objects$impl');
 }
}
/**@type {string} @nodts*/
MethodReferencesKt.f_p__methodreferences_MethodReferencesKt_;
/**@type {!Producer<string>} @nodts*/
MethodReferencesKt.f_staticStringProducer__methodreferences_MethodReferencesKt_;
$Util.$setClassMetadata(MethodReferencesKt, 'methodreferences.MethodReferencesKt');

exports = MethodReferencesKt;

//# sourceMappingURL=MethodReferencesKt.js.map
