From 985230b61d0cf78851d16f83b81eed6f34df54d5 Mon Sep 17 00:00:00 2001 From: Mr-Rm Date: Fri, 5 Jun 2026 14:59:43 +0400 Subject: [PATCH] =?UTF-8?q?fix=20#1699:=20=D0=B0=D0=BB=D0=B8=D0=B0=D1=81?= =?UTF-8?q?=20ThisObject=20=D0=B4=D0=BB=D1=8F=20=D0=AD=D1=82=D0=BE=D1=82?= =?UTF-8?q?=D0=9E=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/OneScript.Core/Contexts/BslFieldInfo.cs | 6 +++--- src/OneScript.Core/Contexts/BslScriptFieldInfo.cs | 4 ++++ .../Machine/Contexts/ThisAwareScriptedObjectBase.cs | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/OneScript.Core/Contexts/BslFieldInfo.cs b/src/OneScript.Core/Contexts/BslFieldInfo.cs index e6105a928..4898d95e1 100644 --- a/src/OneScript.Core/Contexts/BslFieldInfo.cs +++ b/src/OneScript.Core/Contexts/BslFieldInfo.cs @@ -16,9 +16,9 @@ namespace OneScript.Contexts public abstract class BslFieldInfo : FieldInfo, INameAndAliasProvider { private AnnotationHolder _annotations; - - public string Alias => null; - + + public abstract string Alias { get; } + private AnnotationHolder Annotations { get diff --git a/src/OneScript.Core/Contexts/BslScriptFieldInfo.cs b/src/OneScript.Core/Contexts/BslScriptFieldInfo.cs index 9cc7ca115..b68aac20e 100644 --- a/src/OneScript.Core/Contexts/BslScriptFieldInfo.cs +++ b/src/OneScript.Core/Contexts/BslScriptFieldInfo.cs @@ -23,16 +23,19 @@ public class BslScriptFieldInfo : BslFieldInfo, IBuildableMember private Type _declaringType; private bool _isExported; private string _name; + private string _alias; private Type _dataType = typeof(BslValue); private int _dispId = -1; internal BslScriptFieldInfo(string name) { _name = name; + _alias = null; } public override Type DeclaringType => _declaringType; public override string Name => _name; + public override string Alias => _alias; public override Type ReflectedType => _declaringType; public int DispatchId => _dispId; @@ -63,6 +66,7 @@ void IBuildableMember.SetName(string name) void IBuildableMember.SetAlias(string alias) { + _alias = alias; } void IBuildableMember.SetExportFlag(bool isExport) diff --git a/src/ScriptEngine/Machine/Contexts/ThisAwareScriptedObjectBase.cs b/src/ScriptEngine/Machine/Contexts/ThisAwareScriptedObjectBase.cs index dfa83d0cf..536655366 100644 --- a/src/ScriptEngine/Machine/Contexts/ThisAwareScriptedObjectBase.cs +++ b/src/ScriptEngine/Machine/Contexts/ThisAwareScriptedObjectBase.cs @@ -99,7 +99,7 @@ private static void CompileTimeSymbols(TypeSymbolsProviderFactory providerFactor .Name(THISOBJ_RU) .Alias(THISOBJ_EN) .ValueType(typeof(ThisAwareScriptedObjectBase)) - .SetDispatchingIndex(0) + .SetDispatchingIndex(THISOBJ_VARIABLE_INDEX) .Build() .ToSymbol()); }