CompilerContext

open class CompilerContext(configuration: CompilerConfiguration?, project: Project, messageCollector: MessageCollector?, ktPsiElementFactory: KtPsiFactory, eval: (String) -> Any?)

The Compiler Context represents the environment received by all plugins. The Compiler Context will get more services as they become relevant overtime to the development of compiler plugins.

Constructors

CompilerContext
Link copied to clipboard
fun CompilerContext(configuration: CompilerConfiguration?, project: Project, messageCollector: MessageCollector? = null, ktPsiElementFactory: KtPsiFactory = KtPsiFactory(project, false), eval: (String) -> Any? = { KotlinJsr223JvmLocalScriptEngineFactory().scriptEngine.eval(it) })

Functions

get
Link copied to clipboard
inline fun <T : Any> get(key: String): T?
set
Link copied to clipboard
fun <T : Any> set(key: String, value: T)

Properties

analysedDescriptors
Link copied to clipboard
val analysedDescriptors: MutableList<DeclarationDescriptor>
analysisPhaseCanBeRewind
Link copied to clipboard
val analysisPhaseCanBeRewind: AtomicBoolean
analysisPhaseWasRewind
Link copied to clipboard
val analysisPhaseWasRewind: AtomicBoolean
bindingTrace
Link copied to clipboard
var bindingTrace: BindingTrace? = null
componentProvider
Link copied to clipboard
var componentProvider: ComponentProvider?
configuration
Link copied to clipboard
val configuration: CompilerConfiguration?
ctx
Link copied to clipboard
val ctx: CompilerContext
eval
Link copied to clipboard
val eval: (String) -> Any?
ktPsiElementFactory
Link copied to clipboard
val ktPsiElementFactory: KtPsiFactory
messageCollector
Link copied to clipboard
val messageCollector: MessageCollector? = null
module
Link copied to clipboard
var module: ModuleDescriptor?
project
Link copied to clipboard
open val project: Project

Extensions

evaluateDependsOn
Link copied to clipboard
fun <T> CompilerContext.evaluateDependsOn(noRewindablePhase: () -> T?, rewindablePhase: (Boolean) -> T?): T?
fun <T> CompilerContext.evaluateDependsOnRewindableAnalysisPhase(evaluation: () -> T?): T?