Skip to content

Commit 114e555

Browse files
committed
#153 - symbols refactoring
1 parent aba3243 commit 114e555

File tree

11 files changed

+22
-22
lines changed

11 files changed

+22
-22
lines changed

src/Domain/HydraScript.Domain.IR/ISymbol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace HydraScript.Domain.IR;
22

33
public interface ISymbol
44
{
5-
public SymbolId Id { get; }
5+
public ISymbolId<ISymbol> Id { get; }
66
public string Name { get; }
77
public Type Type { get; }
88
}

src/Domain/HydraScript.Domain.IR/Impl/SymbolIds/TypeSymbolId.cs

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/Domain/HydraScript.Domain.IR/Impl/SymbolIds/VariableSymbolId.cs

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/Domain/HydraScript.Domain.IR/Impl/Symbols/FunctionSymbol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System.Text;
2-
using HydraScript.Domain.IR.Impl.SymbolIds;
2+
using HydraScript.Domain.IR.Impl.Symbols.Ids;
33

44
namespace HydraScript.Domain.IR.Impl.Symbols;
55

src/Domain/HydraScript.Domain.IR/Impl/SymbolIds/FunctionSymbolId.cs renamed to src/Domain/HydraScript.Domain.IR/Impl/Symbols/Ids/FunctionSymbolId.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
namespace HydraScript.Domain.IR.Impl.SymbolIds;
1+
namespace HydraScript.Domain.IR.Impl.Symbols.Ids;
22

33
public class FunctionSymbolId(
44
string name,
5-
IEnumerable<Type> parameters) : SymbolId
5+
IEnumerable<Type> parameters) : SymbolId<FunctionSymbol>
66
{
77
protected override string Value { get; } =
88
$"function {name}({string.Join(", ", parameters)})";

src/Domain/HydraScript.Domain.IR/SymbolId.cs renamed to src/Domain/HydraScript.Domain.IR/Impl/Symbols/Ids/SymbolId.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace HydraScript.Domain.IR;
1+
namespace HydraScript.Domain.IR.Impl.Symbols.Ids;
22

33
public abstract class SymbolId<TSymbol> : ISymbolId<TSymbol>
44
where TSymbol : class, ISymbol
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace HydraScript.Domain.IR.Impl.Symbols.Ids;
2+
3+
public class TypeSymbolId(string name) : SymbolId<TypeSymbol>
4+
{
5+
protected override string Value { get; } = "type " + name;
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace HydraScript.Domain.IR.Impl.Symbols.Ids;
2+
3+
public class VariableSymbolId(string name) : SymbolId<VariableSymbol>
4+
{
5+
protected override string Value { get; } = "var " + name;
6+
}

src/Domain/HydraScript.Domain.IR/Impl/Symbols/Symbol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace HydraScript.Domain.IR.Impl.Symbols;
22

33
public abstract class Symbol(string name, Type type) : ISymbol
44
{
5-
public abstract SymbolId Id { get; }
5+
public abstract ISymbolId<ISymbol> Id { get; }
66
public string Name { get; } = name;
77
public virtual Type Type { get; } = type;
88
}

src/Domain/HydraScript.Domain.IR/Impl/Symbols/TypeSymbol.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
using HydraScript.Domain.IR.Impl.SymbolIds;
1+
using HydraScript.Domain.IR.Impl.Symbols.Ids;
22

33
namespace HydraScript.Domain.IR.Impl.Symbols;
44

55
public class TypeSymbol(Type type, string? name = null) :
66
Symbol(name ?? type.ToString(), type)
77
{
8-
public override SymbolId Id { get; } = new TypeSymbolId(name ?? type.ToString());
8+
public override TypeSymbolId Id { get; } = new(name ?? type.ToString());
99

1010
public override bool Equals(object? obj) =>
1111
obj is TypeSymbol typeSymbol &&

0 commit comments

Comments
 (0)