Skip to content

Commit c4ae5e0

Browse files
committed
Removed more duplicated code.
1 parent 99f5a9f commit c4ae5e0

File tree

4 files changed

+5
-29
lines changed

4 files changed

+5
-29
lines changed

ReClass.NET/Nodes/BaseTextNode.cs

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System;
2-
using System.Diagnostics.Contracts;
1+
using System.Diagnostics.Contracts;
32
using System.Drawing;
43
using System.Text;
54
using ReClassNET.Memory;
@@ -8,19 +7,19 @@
87

98
namespace ReClassNET.Nodes
109
{
11-
[ContractClass(typeof(BaseTextNodeContract))]
1210
public abstract class BaseTextNode : BaseNode
1311
{
1412
public int Length { get; set; }
1513

1614
/// <summary>Size of the node in bytes.</summary>
1715
public override int MemorySize => Length * CharacterSize;
1816

19-
/// <summary>Size of one character in bytes.</summary>
20-
public abstract int CharacterSize { get; }
21-
17+
/// <summary>The encoding of the string.</summary>
2218
public abstract Encoding Encoding { get; }
2319

20+
/// <summary>Size of one character in bytes.</summary>
21+
private int CharacterSize => Encoding.GetSimpleByteCountPerChar();
22+
2423
public override void CopyFromNode(BaseNode node)
2524
{
2625
Length = node.MemorySize / CharacterSize;
@@ -92,18 +91,4 @@ public string ReadValueFromMemory(MemoryBuffer memory)
9291
return memory.ReadString(Encoding, Offset, MemorySize);
9392
}
9493
}
95-
96-
[ContractClassFor(typeof(BaseTextNode))]
97-
internal abstract class BaseTextNodeContract : BaseTextNode
98-
{
99-
public override int CharacterSize
100-
{
101-
get
102-
{
103-
Contract.Ensures(Contract.Result<int>() > 0);
104-
105-
throw new NotImplementedException();
106-
}
107-
}
108-
}
10994
}

ReClass.NET/Nodes/UTF16TextNode.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
using System.Drawing;
22
using System.Text;
3-
using ReClassNET.Memory;
43
using ReClassNET.UI;
54

65
namespace ReClassNET.Nodes
76
{
87
public class Utf16TextNode : BaseTextNode
98
{
10-
public override int CharacterSize => 2;
11-
129
public override Encoding Encoding => Encoding.Unicode;
1310

1411
public override Size Draw(ViewInfo view, int x, int y)

ReClass.NET/Nodes/UTF32TextNode.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
using System.Drawing;
22
using System.Text;
3-
using ReClassNET.Memory;
43
using ReClassNET.UI;
54

65
namespace ReClassNET.Nodes
76
{
87
public class Utf32TextNode : BaseTextNode
98
{
10-
public override int CharacterSize => 4;
11-
129
public override Encoding Encoding => Encoding.UTF32;
1310

1411
public override Size Draw(ViewInfo view, int x, int y)

ReClass.NET/Nodes/UTF8TextNode.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
using System.Drawing;
22
using System.Text;
3-
using ReClassNET.Memory;
43
using ReClassNET.UI;
54

65
namespace ReClassNET.Nodes
76
{
87
public class Utf8TextNode : BaseTextNode
98
{
10-
public override int CharacterSize => 1;
11-
129
public override Encoding Encoding => Encoding.UTF8;
1310

1411
public override Size Draw(ViewInfo view, int x, int y)

0 commit comments

Comments
 (0)