Skip to content

Commit 3ec14c9

Browse files
authored
Merge pull request #1700 from Mr-Rm/v2/fix-1699
fix #1699: алиас ThisObject для ЭтотОбъект
2 parents 01167fe + 985230b commit 3ec14c9

3 files changed

Lines changed: 8 additions & 4 deletions

File tree

src/OneScript.Core/Contexts/BslFieldInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ namespace OneScript.Contexts
1616
public abstract class BslFieldInfo : FieldInfo, INameAndAliasProvider
1717
{
1818
private AnnotationHolder _annotations;
19-
20-
public string Alias => null;
21-
19+
20+
public abstract string Alias { get; }
21+
2222
private AnnotationHolder Annotations
2323
{
2424
get

src/OneScript.Core/Contexts/BslScriptFieldInfo.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,19 @@ public class BslScriptFieldInfo : BslFieldInfo, IBuildableMember
2323
private Type _declaringType;
2424
private bool _isExported;
2525
private string _name;
26+
private string _alias;
2627
private Type _dataType = typeof(BslValue);
2728
private int _dispId = -1;
2829

2930
internal BslScriptFieldInfo(string name)
3031
{
3132
_name = name;
33+
_alias = null;
3234
}
3335

3436
public override Type DeclaringType => _declaringType;
3537
public override string Name => _name;
38+
public override string Alias => _alias;
3639
public override Type ReflectedType => _declaringType;
3740

3841
public int DispatchId => _dispId;
@@ -63,6 +66,7 @@ void IBuildableMember.SetName(string name)
6366

6467
void IBuildableMember.SetAlias(string alias)
6568
{
69+
_alias = alias;
6670
}
6771

6872
void IBuildableMember.SetExportFlag(bool isExport)

src/ScriptEngine/Machine/Contexts/ThisAwareScriptedObjectBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ private static void CompileTimeSymbols(TypeSymbolsProviderFactory providerFactor
9999
.Name(THISOBJ_RU)
100100
.Alias(THISOBJ_EN)
101101
.ValueType(typeof(ThisAwareScriptedObjectBase))
102-
.SetDispatchingIndex(0)
102+
.SetDispatchingIndex(THISOBJ_VARIABLE_INDEX)
103103
.Build()
104104
.ToSymbol());
105105
}

0 commit comments

Comments
 (0)