From dbb724421fe2e47c0bc19eb2750c50592722f22e Mon Sep 17 00:00:00 2001 From: Justyna Date: Tue, 21 Jan 2025 00:12:36 +0100 Subject: [PATCH] finish merge main --- .../cacophony/controlflow/functions/CallableHandlerImpl.kt | 6 ++++++ .../cacophony/controlflow/functions/FunctionHandlerImpl.kt | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/cacophony/controlflow/functions/CallableHandlerImpl.kt b/src/main/kotlin/cacophony/controlflow/functions/CallableHandlerImpl.kt index d25255e2..e08e4cf6 100644 --- a/src/main/kotlin/cacophony/controlflow/functions/CallableHandlerImpl.kt +++ b/src/main/kotlin/cacophony/controlflow/functions/CallableHandlerImpl.kt @@ -8,6 +8,7 @@ import cacophony.controlflow.generation.generateLayoutOfVirtualRegisters import cacophony.semantic.analysis.AnalyzedFunction import cacophony.semantic.analysis.EscapeAnalysisResult import cacophony.semantic.analysis.VariablesMap +import cacophony.semantic.syntaxtree.Definition import cacophony.semantic.syntaxtree.FunctionalExpression import kotlin.math.max @@ -60,6 +61,11 @@ abstract class CallableHandlerImpl( ) } + override fun getVariableFromDefinition(varDef: Definition): Variable = + variablesMap.definitions.getOrElse(varDef) { + throw IllegalArgumentException("Variable $varDef have not been defined inside function $function") + } + override fun getAnalyzedFunction() = analyzedFunction protected fun allocateVariables() { diff --git a/src/main/kotlin/cacophony/controlflow/functions/FunctionHandlerImpl.kt b/src/main/kotlin/cacophony/controlflow/functions/FunctionHandlerImpl.kt index 51e3d8e2..26f176ba 100644 --- a/src/main/kotlin/cacophony/controlflow/functions/FunctionHandlerImpl.kt +++ b/src/main/kotlin/cacophony/controlflow/functions/FunctionHandlerImpl.kt @@ -5,7 +5,6 @@ import cacophony.controlflow.generation.* import cacophony.semantic.analysis.AnalyzedFunction import cacophony.semantic.analysis.EscapeAnalysisResult import cacophony.semantic.analysis.VariablesMap -import cacophony.semantic.syntaxtree.Definition import cacophony.semantic.syntaxtree.Definition.FunctionDefinition class FunctionHandlerImpl( @@ -84,11 +83,6 @@ class FunctionHandlerImpl( callerFunction.generateAccessToFramePointer(ancestorFunctionHandlers.first()) } - override fun getVariableFromDefinition(varDef: Definition): Variable = - variablesMap.definitions.getOrElse(varDef) { - throw IllegalArgumentException("Variable $varDef have not been defined inside function $function") - } - override fun getFlattenedArguments(): List = function.arguments .map { variablesMap.definitions[it]!! }