1
- using System ;
2
- using System . Collections . Generic ;
1
+ using System . Collections . Generic ;
3
2
using System . Diagnostics . Contracts ;
4
3
using System . Linq ;
5
- using System . Text ;
6
- using System . Threading . Tasks ;
7
4
using System . Windows . Forms ;
8
5
using ReClassNET . Logger ;
9
6
using ReClassNET . Nodes ;
@@ -14,18 +11,19 @@ public class ReClassClipboard
14
11
{
15
12
private const string Format = "ReClass.NET SchemaNodes" ;
16
13
17
- public static void Copy ( IEnumerable < BaseNode > nodes , IEnumerable < ClassNode > classes )
14
+ public static bool ContainsData => Clipboard . ContainsData ( Format ) ;
15
+
16
+ public static void Copy ( IEnumerable < BaseNode > nodes , IEnumerable < ClassNode > classes , ILogger logger )
18
17
{
19
18
Contract . Requires ( nodes != null ) ;
20
19
Contract . Requires ( classes != null ) ;
20
+ Contract . Requires ( logger != null ) ;
21
21
22
22
if ( ! nodes . Any ( ) )
23
23
{
24
24
return ;
25
25
}
26
26
27
- var logger = new NullLogger ( ) ;
28
-
29
27
var classMap = classes . ToDictionary (
30
28
c => c ,
31
29
c => new SchemaClassNode { Name = c . Name }
@@ -45,21 +43,20 @@ public static void Copy(IEnumerable<BaseNode> nodes, IEnumerable<ClassNode> clas
45
43
Clipboard . SetData ( Format , schemaNodes ) ;
46
44
}
47
45
48
- public static List < BaseNode > Paste ( ClassNode parentNode , IEnumerable < ClassNode > classes )
46
+ public static List < BaseNode > Paste ( ClassNode parentNode , IEnumerable < ClassNode > classes , ILogger logger )
49
47
{
50
48
Contract . Requires ( parentNode != null ) ;
51
49
Contract . Requires ( classes != null ) ;
50
+ Contract . Requires ( logger != null ) ;
52
51
Contract . Requires ( Contract . Result < List < BaseNode > > ( ) != null ) ;
53
52
54
53
var nodes = new List < BaseNode > ( ) ;
55
54
56
- if ( Clipboard . ContainsData ( Format ) )
55
+ if ( ContainsData )
57
56
{
58
57
var schemaNodes = Clipboard . GetData ( Format ) as List < SchemaNode > ;
59
58
if ( schemaNodes != null )
60
59
{
61
- var logger = new NullLogger ( ) ;
62
-
63
60
// Now remove all reference types with unknown references.
64
61
schemaNodes . RemoveAll ( n => n is SchemaReferenceNode && ! classes . Any ( c => c . Name == ( ( SchemaReferenceNode ) n ) . InnerNode ? . Name ) ) ;
65
62
0 commit comments