/* * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ Kotlin.getCallableRef = function(name, f) { f.callableName = name; return f; }; Kotlin.getPropertyCallableRef = function(name, paramCount, getter, setter) { getter.get = getter; getter.set = setter; getter.callableName = name; return getPropertyRefClass(getter, setter, propertyRefClassMetadataCache[paramCount]); }; function getPropertyRefClass(obj, setter, cache) { obj.$metadata$ = getPropertyRefMetadata(typeof setter === "function" ? cache.mutable : cache.immutable); obj.constructor = obj; return obj; } var propertyRefClassMetadataCache = [ { mutable: { value: null, implementedInterface: function () { return Kotlin.kotlin.reflect.KMutableProperty0 } }, immutable: { value: null, implementedInterface: function () { return Kotlin.kotlin.reflect.KProperty0 } } }, { mutable: { value: null, implementedInterface: function () { return Kotlin.kotlin.reflect.KMutableProperty1 } }, immutable: { value: null, implementedInterface: function () { return Kotlin.kotlin.reflect.KProperty1 } } } ]; function getPropertyRefMetadata(cache) { if (cache.value === null) { cache.value = { interfaces: [cache.implementedInterface()], baseClass: null, functions: {}, properties: {}, types: {}, staticMembers: {} }; } return cache.value; }