blob: 05b121185ac5ee05ca15f950963001b24e8aa7a3 [file]
/*
* Copyright 2010-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
#pragma once
#include "Memory.h"
#include "Types.h"
namespace kotlin::mm {
// TODO(KT-67741): Unify different SpecialRefs
// Object if the given kotlin.native.internal.ref.ExternalRCRef is permanent object, nullptr otherwise.
KRef externalRCRefAsPermanentObject(void* ref) noexcept;
// kotlin.native.internal.ref.ExternalRCRef for the given permanent object.
void* permanentObjectAsExternalRCRef(KRef obj) noexcept;
// TypeInfo of the given kotlin.native.internal.ref.ExternalRCRef.
const TypeInfo* externalRCRefType(void* ref) noexcept;
}