File tree Expand file tree Collapse file tree 4 files changed +5
-29
lines changed Expand file tree Collapse file tree 4 files changed +5
-29
lines changed Original file line number Diff line number Diff line change 1
- using System ;
2
- using System . Diagnostics . Contracts ;
1
+ using System . Diagnostics . Contracts ;
3
2
using System . Drawing ;
4
3
using System . Text ;
5
4
using ReClassNET . Memory ;
8
7
9
8
namespace ReClassNET . Nodes
10
9
{
11
- [ ContractClass ( typeof ( BaseTextNodeContract ) ) ]
12
10
public abstract class BaseTextNode : BaseNode
13
11
{
14
12
public int Length { get ; set ; }
15
13
16
14
/// <summary>Size of the node in bytes.</summary>
17
15
public override int MemorySize => Length * CharacterSize ;
18
16
19
- /// <summary>Size of one character in bytes.</summary>
20
- public abstract int CharacterSize { get ; }
21
-
17
+ /// <summary>The encoding of the string.</summary>
22
18
public abstract Encoding Encoding { get ; }
23
19
20
+ /// <summary>Size of one character in bytes.</summary>
21
+ private int CharacterSize => Encoding . GetSimpleByteCountPerChar ( ) ;
22
+
24
23
public override void CopyFromNode ( BaseNode node )
25
24
{
26
25
Length = node . MemorySize / CharacterSize ;
@@ -92,18 +91,4 @@ public string ReadValueFromMemory(MemoryBuffer memory)
92
91
return memory . ReadString ( Encoding , Offset , MemorySize ) ;
93
92
}
94
93
}
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
- }
109
94
}
Original file line number Diff line number Diff line change 1
1
using System . Drawing ;
2
2
using System . Text ;
3
- using ReClassNET . Memory ;
4
3
using ReClassNET . UI ;
5
4
6
5
namespace ReClassNET . Nodes
7
6
{
8
7
public class Utf16TextNode : BaseTextNode
9
8
{
10
- public override int CharacterSize => 2 ;
11
-
12
9
public override Encoding Encoding => Encoding . Unicode ;
13
10
14
11
public override Size Draw ( ViewInfo view , int x , int y )
Original file line number Diff line number Diff line change 1
1
using System . Drawing ;
2
2
using System . Text ;
3
- using ReClassNET . Memory ;
4
3
using ReClassNET . UI ;
5
4
6
5
namespace ReClassNET . Nodes
7
6
{
8
7
public class Utf32TextNode : BaseTextNode
9
8
{
10
- public override int CharacterSize => 4 ;
11
-
12
9
public override Encoding Encoding => Encoding . UTF32 ;
13
10
14
11
public override Size Draw ( ViewInfo view , int x , int y )
Original file line number Diff line number Diff line change 1
1
using System . Drawing ;
2
2
using System . Text ;
3
- using ReClassNET . Memory ;
4
3
using ReClassNET . UI ;
5
4
6
5
namespace ReClassNET . Nodes
7
6
{
8
7
public class Utf8TextNode : BaseTextNode
9
8
{
10
- public override int CharacterSize => 1 ;
11
-
12
9
public override Encoding Encoding => Encoding . UTF8 ;
13
10
14
11
public override Size Draw ( ViewInfo view , int x , int y )
You can’t perform that action at this time.
0 commit comments