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()); }