From dc7e00aa2a3843e1899ba2108e7431ff78505979 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 3 Apr 2017 14:29:33 +0300 Subject: [PATCH] Added function declarations stack for debugging --- .../backend/common/IrElementTransformerVoidWithContext.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/IrElementTransformerVoidWithContext.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/IrElementTransformerVoidWithContext.kt index 8871d561c1b..2186bda8a21 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/IrElementTransformerVoidWithContext.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/IrElementTransformerVoidWithContext.kt @@ -31,11 +31,14 @@ abstract class IrElementTransformerVoidWithContext(): IrElementTransformerVoid() private fun MutableList.peek(): E? = if (size == 0) null else this[size - 1] private val functionsStack = mutableListOf() + private val functionDeclarationsStack = mutableListOf() private val classesStack = mutableListOf() override final fun visitFunction(declaration: IrFunction): IrStatement { functionsStack.push(declaration.descriptor) + functionDeclarationsStack.push(declaration) val result = visitFunctionNew(declaration) + functionDeclarationsStack.pop() functionsStack.pop() return result } @@ -48,6 +51,7 @@ abstract class IrElementTransformerVoidWithContext(): IrElementTransformerVoid() } protected val currentFunction get() = functionsStack.peek() + protected val currentFunctionDeclaration get() = functionDeclarationsStack.peek() protected val currentClass get() = classesStack.peek() open fun visitFunctionNew(declaration: IrFunction) : IrStatement {