//arrow-meta/arrow.meta.phases/CompilerContext

CompilerContext

[jvm]
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 [jvm]
fun CompilerContext(configuration: CompilerConfiguration?, project: Project, messageCollector: MessageCollector? = null, ktPsiElementFactory: KtPsiFactory = KtPsiFactory(project, false), eval: (String) -> Any? = { KotlinJsr223JvmLocalScriptEngineFactory().scriptEngine.eval(it) })

Functions

Name Summary
get [jvm]
inline fun <T : Any> get(key: String): T?
set [jvm]
fun <T : Any> set(key: String, value: T)

Properties

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

Extensions

Name Summary
evaluateDependsOn [jvm]
fun <T> CompilerContext.evaluateDependsOn(noRewindablePhase: () -> T?, rewindablePhase: (Boolean) -> T?): T?
evaluateDependsOnRewindableAnalysisPhase [jvm]
fun <T> CompilerContext.evaluateDependsOnRewindableAnalysisPhase(evaluation: () -> T?): T?

Do you like Arrow?

Arrow Org
<