From 2c2dae4d852dffa10ce7fc30170e31b910aac70a Mon Sep 17 00:00:00 2001 From: sergeych Date: Wed, 6 Aug 2025 11:47:45 +0300 Subject: [PATCH] well redesigned class vals and vars, classScope introduced for class functions --- lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt | 1 - .../src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt | 1 + .../src/commonMain/kotlin/net/sergeych/lyng/obj/ObjInstance.kt | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt index 033025d..7937b92 100644 --- a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt @@ -1655,7 +1655,6 @@ class Compiler( // return currentInitScope += statement { val initValue = initialExpression?.execute(this)?.byValueCopy() ?: ObjNull - // todo: get rid of classfield! (thisObj as ObjClass).createClassField(name, initValue, isMutable, visibility, pos) addItem(name, isMutable, initValue, visibility, ObjRecord.Type.Field) ObjVoid diff --git a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt index 987db79..ebca79a 100644 --- a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt @@ -44,6 +44,7 @@ class CompilerContext(val tokens: List) { if (type != it.type) throw ScriptError(it.pos, message) } + @Suppress("unused") fun syntaxError(at: Pos, message: String = "Syntax error"): Nothing { throw ScriptError(at, message) } diff --git a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/obj/ObjInstance.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/obj/ObjInstance.kt index 6138ace..736e6d6 100644 --- a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/obj/ObjInstance.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/obj/ObjInstance.kt @@ -81,7 +81,7 @@ class ObjInstance(override val objClass: ObjClass) : Obj() { scope.raiseIllegalArgument("serialized vars has bigger size than instance vars") println("deser state vars $vars") for ((i, v) in vars.withIndex()) { - localVars[i].value = vars[i] + localVars[i].value = v } } }