compiler-plugin / arrow.meta.dsl.codegen.ir / IrSyntax

IrSyntax

interface IrSyntax

The codegen phase is where the compiler emits bytecode and metadata for the different platforms the Kotlin language targets. In this phase, by default, the compiler would go into ASM codegen for the JVM, or into IR codegen if IR is enabled. IR is the Intermediate Representation format the new Kotlin compiler backend targets.

Functions

irAnonymousInitializer open fun Meta.irAnonymousInitializer(f: IrUtils.(IrAnonymousInitializer) -> IrStatement?): IRGeneration
irBlock open fun Meta.irBlock(f: IrUtils.(IrBlock) -> IrExpression?): IRGeneration
irBlockBody open fun Meta.irBlockBody(f: IrUtils.(IrBlockBody) -> IrBody?): IRGeneration
irBody open fun Meta.irBody(f: IrUtils.(IrBody) -> IrBody?): IRGeneration
irBranch open fun Meta.irBranch(f: IrUtils.(IrBranch) -> IrBranch?): IRGeneration
irBreak open fun Meta.irBreak(f: IrUtils.(IrBreak) -> IrExpression?): IRGeneration
irBreakContinue open fun Meta.irBreakContinue(f: IrUtils.(IrBreakContinue) -> IrExpression?): IRGeneration
irCall open fun Meta.irCall(f: IrUtils.(IrCall) -> IrElement?): IRGeneration
irCallableReference open fun Meta.irCallableReference(f: IrUtils.(IrCallableReference) -> IrElement?): IRGeneration
irCatch open fun Meta.irCatch(f: IrUtils.(IrCatch) -> IrCatch?): IRGeneration
irClass open fun Meta.irClass(f: IrUtils.(IrClass) -> IrStatement?): IRGeneration
irClassReference open fun Meta.irClassReference(f: IrUtils.(IrClassReference) -> IrExpression?): IRGeneration
irComposite open fun Meta.irComposite(f: IrUtils.(IrComposite) -> IrExpression?): IRGeneration
irConst open fun Meta.irConst(f: IrUtils.(IrConst<*>) -> IrExpression?): IRGeneration
irConstructor open fun Meta.irConstructor(f: IrUtils.(IrConstructor) -> IrStatement?): IRGeneration
irConstructorCall open fun Meta.irConstructorCall(f: IrUtils.(IrConstructorCall) -> IrElement?): IRGeneration
irContainerExpression open fun Meta.irContainerExpression(f: IrUtils.(IrContainerExpression) -> IrExpression?): IRGeneration
irContinue open fun Meta.irContinue(f: IrUtils.(IrContinue) -> IrExpression?): IRGeneration
irDeclaration open fun Meta.irDeclaration(f: IrUtils.(IrDeclaration) -> IrStatement?): IRGeneration
irDeclarationReference open fun Meta.irDeclarationReference(f: IrUtils.(IrDeclarationReference) -> IrExpression?): IRGeneration
irDelegatingConstructorCall open fun Meta.irDelegatingConstructorCall(f: IrUtils.(IrDelegatingConstructorCall) -> IrElement?): IRGeneration
irDoWhileLoop open fun Meta.irDoWhileLoop(f: IrUtils.(IrDoWhileLoop) -> IrExpression?): IRGeneration
irDump open fun Meta.irDump(): IRGeneration
irDynamicExpression open fun Meta.irDynamicExpression(f: IrUtils.(IrDynamicExpression) -> IrExpression?): IRGeneration
irDynamicMemberExpression open fun Meta.irDynamicMemberExpression(f: IrUtils.(IrDynamicMemberExpression) -> IrExpression?): IRGeneration
irDynamicOperatorExpression open fun Meta.irDynamicOperatorExpression(f: IrUtils.(IrDynamicOperatorExpression) -> IrExpression?): IRGeneration
irElseBranch open fun Meta.irElseBranch(f: IrUtils.(IrElseBranch) -> IrElseBranch?): IRGeneration
irEnumConstructorCall open fun Meta.irEnumConstructorCall(f: IrUtils.(IrEnumConstructorCall) -> IrElement?): IRGeneration
irEnumEntry open fun Meta.irEnumEntry(f: IrUtils.(IrEnumEntry) -> IrStatement?): IRGeneration
irErrorCallExpression open fun Meta.irErrorCallExpression(f: IrUtils.(IrErrorCallExpression) -> IrExpression?): IRGeneration
irErrorDeclaration open fun Meta.irErrorDeclaration(f: IrUtils.(IrErrorDeclaration) -> IrStatement?): IRGeneration
irErrorExpression open fun Meta.irErrorExpression(f: IrUtils.(IrErrorExpression) -> IrExpression?): IRGeneration
irExpression open fun Meta.irExpression(f: IrUtils.(IrExpression) -> IrExpression?): IRGeneration
irExpressionBody open fun Meta.irExpressionBody(f: IrUtils.(IrExpressionBody) -> IrBody?): IRGeneration
irField open fun Meta.irField(f: IrUtils.(IrField) -> IrStatement?): IRGeneration
irFieldAccess open fun Meta.irFieldAccess(f: IrUtils.(IrFieldAccessExpression) -> IrExpression?): IRGeneration
irFile open fun Meta.irFile(f: IrUtils.(IrFile) -> IrFile?): IRGeneration
irFunction open fun Meta.irFunction(f: IrUtils.(IrFunction) -> IrStatement?): IRGeneration
irFunctionAccess open fun Meta.irFunctionAccess(f: IrUtils.(IrFunctionAccessExpression) -> IrElement?): IRGeneration
irFunctionReference open fun Meta.irFunctionReference(f: IrUtils.(IrFunctionReference) -> IrElement?): IRGeneration
IrGeneration IR, The intermediate representation format, is a structured text format with significant indentation that contains all the information the compiler knows about a program. At this point, the compiler knows the structure of a program based on its sources, what the typed expressions are, and how each of the generic type arguments gets applied. The compiler emits information in this phase that is processed by interpreters and compilers targeting any platform. IR Exampleopen fun IrSyntax.IrGeneration(generate: (compilerContext: CompilerContext, moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) -> Unit): IRGeneration
irGetClass open fun Meta.irGetClass(f: IrUtils.(IrGetClass) -> IrExpression?): IRGeneration
irGetEnumValue open fun Meta.irGetEnumValue(f: IrUtils.(IrGetEnumValue) -> IrExpression?): IRGeneration
irGetField open fun Meta.irGetField(f: IrUtils.(IrGetField) -> IrExpression?): IRGeneration
irGetObjectValue open fun Meta.irGetObjectValue(f: IrUtils.(IrGetObjectValue) -> IrExpression?): IRGeneration
irGetValue open fun Meta.irGetValue(f: IrUtils.(IrGetValue) -> IrExpression?): IRGeneration
irInstanceInitializerCall open fun Meta.irInstanceInitializerCall(f: IrUtils.(IrInstanceInitializerCall) -> IrExpression?): IRGeneration
irLocalDelegatedProperty open fun Meta.irLocalDelegatedProperty(f: IrUtils.(IrLocalDelegatedProperty) -> IrStatement?): IRGeneration
irLocalDelegatedPropertyReference open fun Meta.irLocalDelegatedPropertyReference(f: IrUtils.(IrLocalDelegatedPropertyReference) -> IrElement?): IRGeneration
irLoop open fun Meta.irLoop(f: IrUtils.(IrLoop) -> IrExpression?): IRGeneration
irMemberAccess open fun Meta.irMemberAccess(f: IrUtils.(IrMemberAccessExpression) -> IrElement?): IRGeneration
irModuleFragment open fun Meta.irModuleFragment(f: IrUtils.(IrModuleFragment) -> IrModuleFragment?): IRGeneration
irProperty open fun Meta.irProperty(f: IrUtils.(IrProperty) -> IrStatement?): IRGeneration
irPropertyReference open fun Meta.irPropertyReference(f: IrUtils.(IrPropertyReference) -> IrElement?): IRGeneration
irReturn open fun Meta.irReturn(f: IrUtils.(IrReturn) -> IrExpression?): IRGeneration
irSetField open fun Meta.irSetField(f: IrUtils.(IrSetField) -> IrExpression?): IRGeneration
irSetVariable open fun Meta.irSetVariable(f: IrUtils.(IrSetVariable) -> IrExpression?): IRGeneration
irSimpleFunction open fun Meta.irSimpleFunction(f: IrUtils.(IrSimpleFunction) -> IrStatement?): IRGeneration
irSingletonReference open fun Meta.irSingletonReference(f: IrUtils.(IrGetSingletonValue) -> IrExpression?): IRGeneration
irSpreadElement open fun Meta.irSpreadElement(f: IrUtils.(IrSpreadElement) -> IrSpreadElement?): IRGeneration
irStringConcatenation open fun Meta.irStringConcatenation(f: IrUtils.(IrStringConcatenation) -> IrExpression?): IRGeneration
irSuspendableExpression open fun Meta.irSuspendableExpression(f: IrUtils.(IrSuspendableExpression) -> IrExpression?): IRGeneration
irSuspensionPoint open fun Meta.irSuspensionPoint(f: IrUtils.(IrSuspensionPoint) -> IrExpression?): IRGeneration
irSyntheticBody open fun Meta.irSyntheticBody(f: IrUtils.(IrSyntheticBody) -> IrBody?): IRGeneration
irThrow open fun Meta.irThrow(f: IrUtils.(IrThrow) -> IrExpression?): IRGeneration
irTry open fun Meta.irTry(f: IrUtils.(IrTry) -> IrExpression?): IRGeneration
irTypeAlias open fun Meta.irTypeAlias(f: IrUtils.(IrTypeAlias) -> IrTypeAlias?): IRGeneration
irTypeOperator open fun Meta.irTypeOperator(f: IrUtils.(IrTypeOperatorCall) -> IrExpression?): IRGeneration
irTypeParameter open fun Meta.irTypeParameter(f: IrUtils.(IrTypeParameter) -> IrStatement?): IRGeneration
irValueAccess open fun Meta.irValueAccess(f: IrUtils.(IrValueAccessExpression) -> IrExpression?): IRGeneration
irValueParameter open fun Meta.irValueParameter(f: IrUtils.(IrValueParameter) -> IrStatement?): IRGeneration
irVararg open fun Meta.irVararg(f: IrUtils.(IrVararg) -> IrExpression?): IRGeneration
irVariable open fun Meta.irVariable(f: IrUtils.(IrVariable) -> IrStatement?): IRGeneration
irWhen open fun Meta.irWhen(f: IrUtils.(IrWhen) -> IrExpression?): IRGeneration
irWhileLoop open fun Meta.irWhileLoop(f: IrUtils.(IrWhileLoop) -> IrExpression?): IRGeneration

Inheritors

CodegenSyntax interface CodegenSyntax : AsmSyntax, IrSyntax

Do you like Arrow?

Arrow Org
<