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 irAnonymousInitializer(f: IrUtils.(IrAnonymousInitializer) -> IrStatement?): IRGeneration
irBlock open fun irBlock(f: IrUtils.(IrBlock) -> IrExpression?): IRGeneration
irBlockBody open fun irBlockBody(f: IrUtils.(IrBlockBody) -> IrBody?): IRGeneration
irBody open fun irBody(f: IrUtils.(IrBody) -> IrBody?): IRGeneration
irBranch open fun irBranch(f: IrUtils.(IrBranch) -> IrBranch?): IRGeneration
irBreak open fun irBreak(f: IrUtils.(IrBreak) -> IrExpression?): IRGeneration
irBreakContinue open fun irBreakContinue(f: IrUtils.(IrBreakContinue) -> IrExpression?): IRGeneration
irCall open fun irCall(f: IrUtils.(IrCall) -> IrElement?): IRGeneration
irCallableReference open fun irCallableReference(f: IrUtils.(IrCallableReference) -> IrElement?): IRGeneration
irCatch open fun irCatch(f: IrUtils.(IrCatch) -> IrCatch?): IRGeneration
irClass open fun irClass(f: IrUtils.(IrClass) -> IrStatement?): IRGeneration
irClassReference open fun irClassReference(f: IrUtils.(IrClassReference) -> IrExpression?): IRGeneration
irComposite open fun irComposite(f: IrUtils.(IrComposite) -> IrExpression?): IRGeneration
irConst open fun <A> Meta.irConst(f: IrUtils.(IrConst<A>) -> IrExpression?): IRGeneration
irConstructor open fun irConstructor(f: IrUtils.(IrConstructor) -> IrStatement?): IRGeneration
irConstructorCall open fun irConstructorCall(f: IrUtils.(IrConstructorCall) -> IrElement?): IRGeneration
irContainerExpression open fun irContainerExpression(f: IrUtils.(IrContainerExpression) -> IrExpression?): IRGeneration
irContinue open fun irContinue(f: IrUtils.(IrContinue) -> IrExpression?): IRGeneration
irDeclaration open fun irDeclaration(f: IrUtils.(IrDeclaration) -> IrStatement?): IRGeneration
irDeclarationReference open fun irDeclarationReference(f: IrUtils.(IrDeclarationReference) -> IrExpression?): IRGeneration
irDelegatingConstructorCall open fun irDelegatingConstructorCall(f: IrUtils.(IrDelegatingConstructorCall) -> IrElement?): IRGeneration
irDoWhileLoop open fun irDoWhileLoop(f: IrUtils.(IrDoWhileLoop) -> IrExpression?): IRGeneration
irDump open fun irDump(): IRGeneration
irDynamicExpression open fun irDynamicExpression(f: IrUtils.(IrDynamicExpression) -> IrExpression?): IRGeneration
irDynamicMemberExpression open fun irDynamicMemberExpression(f: IrUtils.(IrDynamicMemberExpression) -> IrExpression?): IRGeneration
irDynamicOperatorExpression open fun irDynamicOperatorExpression(f: IrUtils.(IrDynamicOperatorExpression) -> IrExpression?): IRGeneration
irElement open fun irElement(f: IrUtils.(IrElement) -> IrElement?): IRGeneration
irElseBranch open fun irElseBranch(f: IrUtils.(IrElseBranch) -> IrElseBranch?): IRGeneration
irEnumConstructorCall open fun irEnumConstructorCall(f: IrUtils.(IrEnumConstructorCall) -> IrElement?): IRGeneration
irEnumEntry open fun irEnumEntry(f: IrUtils.(IrEnumEntry) -> IrStatement?): IRGeneration
irErrorCallExpression open fun irErrorCallExpression(f: IrUtils.(IrErrorCallExpression) -> IrExpression?): IRGeneration
irErrorDeclaration open fun irErrorDeclaration(f: IrUtils.(IrErrorDeclaration) -> IrStatement?): IRGeneration
irErrorExpression open fun irErrorExpression(f: IrUtils.(IrErrorExpression) -> IrExpression?): IRGeneration
irExpression open fun irExpression(f: IrUtils.(IrExpression) -> IrExpression?): IRGeneration
irExpressionBody open fun irExpressionBody(f: IrUtils.(IrExpressionBody) -> IrBody?): IRGeneration
irExternalPackageFragment open fun irExternalPackageFragment(f: IrUtils.(IrExternalPackageFragment) -> IrExternalPackageFragment?): IRGeneration
irField open fun irField(f: IrUtils.(IrField) -> IrStatement?): IRGeneration
irFieldAccess open fun irFieldAccess(f: IrUtils.(IrFieldAccessExpression) -> IrExpression?): IRGeneration
irFile open fun irFile(f: IrUtils.(IrFile) -> IrFile?): IRGeneration
irFunction open fun irFunction(f: IrUtils.(IrFunction) -> IrStatement?): IRGeneration
irFunctionAccess open fun irFunctionAccess(f: IrUtils.(IrFunctionAccessExpression) -> IrElement?): IRGeneration
irFunctionReference open fun 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 IrGeneration(generate: (compilerContext: CompilerContext, file: IrFile, backendContext: BackendContext, bindingContext: BindingContext) -> Unit): IRGeneration
irGetClass open fun irGetClass(f: IrUtils.(IrGetClass) -> IrExpression?): IRGeneration
irGetEnumValue open fun irGetEnumValue(f: IrUtils.(IrGetEnumValue) -> IrExpression?): IRGeneration
irGetField open fun irGetField(f: IrUtils.(IrGetField) -> IrExpression?): IRGeneration
irGetObjectValue open fun irGetObjectValue(f: IrUtils.(IrGetObjectValue) -> IrExpression?): IRGeneration
irGetValue open fun irGetValue(f: IrUtils.(IrGetValue) -> IrExpression?): IRGeneration
irInstanceInitializerCall open fun irInstanceInitializerCall(f: IrUtils.(IrInstanceInitializerCall) -> IrExpression?): IRGeneration
irLocalDelegatedProperty open fun irLocalDelegatedProperty(f: IrUtils.(IrLocalDelegatedProperty) -> IrStatement?): IRGeneration
irLocalDelegatedPropertyReference open fun irLocalDelegatedPropertyReference(f: IrUtils.(IrLocalDelegatedPropertyReference) -> IrElement?): IRGeneration
irLoop open fun irLoop(f: IrUtils.(IrLoop) -> IrExpression?): IRGeneration
irMemberAccess open fun irMemberAccess(f: IrUtils.(IrMemberAccessExpression) -> IrElement?): IRGeneration
irModuleFragment open fun irModuleFragment(f: IrUtils.(IrModuleFragment) -> IrModuleFragment?): IRGeneration
irProperty open fun irProperty(f: IrUtils.(IrProperty) -> IrStatement?): IRGeneration
irPropertyReference open fun irPropertyReference(f: IrUtils.(IrPropertyReference) -> IrElement?): IRGeneration
irReturn open fun irReturn(f: IrUtils.(IrReturn) -> IrExpression?): IRGeneration
irSetField open fun irSetField(f: IrUtils.(IrSetField) -> IrExpression?): IRGeneration
irSetVariable open fun irSetVariable(f: IrUtils.(IrSetVariable) -> IrExpression?): IRGeneration
irSimpleFunction open fun irSimpleFunction(f: IrUtils.(IrSimpleFunction) -> IrStatement?): IRGeneration
irSingletonReference open fun irSingletonReference(f: IrUtils.(IrGetSingletonValue) -> IrExpression?): IRGeneration
irSpreadElement open fun irSpreadElement(f: IrUtils.(IrSpreadElement) -> IrSpreadElement?): IRGeneration
irStringConcatenation open fun irStringConcatenation(f: IrUtils.(IrStringConcatenation) -> IrExpression?): IRGeneration
irSuspendableExpression open fun irSuspendableExpression(f: IrUtils.(IrSuspendableExpression) -> IrExpression?): IRGeneration
irSuspensionPoint open fun irSuspensionPoint(f: IrUtils.(IrSuspensionPoint) -> IrExpression?): IRGeneration
irSyntheticBody open fun irSyntheticBody(f: IrUtils.(IrSyntheticBody) -> IrBody?): IRGeneration
irThrow open fun irThrow(f: IrUtils.(IrThrow) -> IrExpression?): IRGeneration
irTry open fun irTry(f: IrUtils.(IrTry) -> IrExpression?): IRGeneration
irTypeOperator open fun irTypeOperator(f: IrUtils.(IrTypeOperatorCall) -> IrExpression?): IRGeneration
irTypeParameter open fun irTypeParameter(f: IrUtils.(IrTypeParameter) -> IrStatement?): IRGeneration
irValueAccess open fun irValueAccess(f: IrUtils.(IrValueAccessExpression) -> IrExpression?): IRGeneration
irValueParameter open fun irValueParameter(f: IrUtils.(IrValueParameter) -> IrStatement?): IRGeneration
irVararg open fun irVararg(f: IrUtils.(IrVararg) -> IrExpression?): IRGeneration
irVariable open fun irVariable(f: IrUtils.(IrVariable) -> IrStatement?): IRGeneration
irWhen open fun irWhen(f: IrUtils.(IrWhen) -> IrExpression?): IRGeneration
irWhileLoop open fun irWhileLoop(f: IrUtils.(IrWhileLoop) -> IrExpression?): IRGeneration

Inheritors

CodegenSyntax interface CodegenSyntax : AsmSyntax, IrSyntax

Do you like Arrow?

Arrow Org
<