[PLUGIN API] Make context provide information about target platform

This commit is contained in:
Roman Artemev
2020-06-04 22:56:54 +03:00
committed by romanart
parent 89c87f941f
commit 311b2d7969
2 changed files with 6 additions and 0 deletions
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable
import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.resolve.BindingContext
interface IrPluginContext : IrGeneratorContext {
@@ -35,6 +36,8 @@ interface IrPluginContext : IrGeneratorContext {
val symbols: BuiltinSymbolsBase
val platform: TargetPlatform?
// The following API is experimental
fun referenceClass(fqName: FqName): IrClassSymbol?
fun referenceConstructors(classFqn: FqName): Collection<IrConstructorSymbol>
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable
import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.scopes.MemberScope
@@ -31,6 +32,8 @@ open class IrPluginContextImpl(
override val symbols: BuiltinSymbolsBase = BuiltinSymbolsBase(irBuiltIns, irBuiltIns.builtIns, st)
) : IrPluginContext {
override val platform: TargetPlatform? = module.platform
override val moduleDescriptor: ModuleDescriptor = module
override val symbolTable: ReferenceSymbolTable = st