Skip to content

Commit 8e5f941

Browse files
committed
#61 - use symbolId in symbolTable
1 parent b262dcc commit 8e5f941

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/Domain/HydraScript.Domain.IR/ISymbolTable.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ public interface ISymbolTable
2323
/// Поиск эффективного символа
2424
/// </summary>
2525
/// <param name="id">Идентификатор символа</param>
26-
public TSymbol? FindSymbol<TSymbol>(string id)
26+
public TSymbol? FindSymbol<TSymbol>(SymbolId id)
2727
where TSymbol : class, ISymbol;
2828

2929
/// <summary>
3030
/// Проверка наличия собственного символа
3131
/// </summary>
3232
/// <param name="id">Идентификатор символа</param>
33-
public bool ContainsSymbol(string id);
33+
public bool ContainsSymbol(SymbolId id);
3434
}

src/Domain/HydraScript.Domain.IR/Impl/SymbolTable.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace HydraScript.Domain.IR.Impl;
22

33
public class SymbolTable : ISymbolTable
44
{
5-
private readonly Dictionary<string, ISymbol> _symbols = [];
5+
private readonly Dictionary<SymbolId, ISymbol> _symbols = [];
66
private ISymbolTable? _openScope;
77

88
/// <inheritdoc cref="ISymbolTable.AddOpenScope"/>
@@ -17,7 +17,7 @@ public void AddSymbol(ISymbol symbol) =>
1717
_symbols[symbol.Id] = symbol;
1818

1919
/// <inheritdoc cref="ISymbolTable.FindSymbol{TSymbol}"/>
20-
public TSymbol? FindSymbol<TSymbol>(string id)
20+
public TSymbol? FindSymbol<TSymbol>(SymbolId id)
2121
where TSymbol : class, ISymbol
2222
{
2323
var hasInsideTheScope = _symbols.TryGetValue(id, out var symbol);
@@ -27,6 +27,6 @@ public void AddSymbol(ISymbol symbol) =>
2727
}
2828

2929
/// <inheritdoc cref="ISymbolTable.ContainsSymbol"/>
30-
public bool ContainsSymbol(string id) =>
30+
public bool ContainsSymbol(SymbolId id) =>
3131
_symbols.ContainsKey(id);
3232
}

0 commit comments

Comments
 (0)