@@ -12,67 +12,54 @@ public class FunctionRegistry : ILinqToHqlGeneratorsRegistry
12
12
{
13
13
public static readonly ILinqToHqlGeneratorsRegistry Instance = new FunctionRegistry ( ) ;
14
14
15
- private readonly Dictionary < MethodInfo , IHqlGeneratorForMethod > registeredMethods = new Dictionary < MethodInfo , IHqlGeneratorForMethod > ( ) ;
16
- private readonly Dictionary < MemberInfo , IHqlGeneratorForProperty > registeredProperties = new Dictionary < MemberInfo , IHqlGeneratorForProperty > ( ) ;
17
- private readonly List < IHqlGeneratorForType > typeGenerators = new List < IHqlGeneratorForType > ( ) ;
15
+ private readonly Dictionary < MethodInfo , IHqlGeneratorForMethod > registeredMethods = new Dictionary < MethodInfo , IHqlGeneratorForMethod > ( ) ;
16
+ private readonly Dictionary < MemberInfo , IHqlGeneratorForProperty > registeredProperties = new Dictionary < MemberInfo , IHqlGeneratorForProperty > ( ) ;
17
+ private readonly List < IHqlGeneratorForType > typeGenerators = new List < IHqlGeneratorForType > ( ) ;
18
18
19
- private FunctionRegistry ( )
20
- {
21
- // TODO - could use reflection here
22
- Register ( new QueryableGenerator ( ) ) ;
23
- Register ( new StringGenerator ( ) ) ;
24
- Register ( new DateTimeGenerator ( ) ) ;
25
- Register ( new ICollectionGenerator ( ) ) ;
26
- }
27
-
28
- private bool GetMethodGeneratorForType ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
29
- {
30
- methodGenerator = null ;
31
-
32
- foreach ( var typeGenerator in typeGenerators . Where ( typeGenerator => typeGenerator . SupportsMethod ( method ) ) )
33
- {
34
- methodGenerator = typeGenerator . GetMethodGenerator ( method ) ;
35
- return true ;
36
- }
37
- return false ;
38
- }
39
-
40
- private bool GetStandardLinqExtensionMethodGenerator ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
41
- {
42
- methodGenerator = null ;
19
+ private FunctionRegistry ( )
20
+ {
21
+ // TODO - could use reflection here
22
+ Register ( new QueryableGenerator ( ) ) ;
23
+ Register ( new StringGenerator ( ) ) ;
24
+ Register ( new DateTimeGenerator ( ) ) ;
25
+ Register ( new ICollectionGenerator ( ) ) ;
26
+ }
43
27
44
- var attr = method . GetCustomAttributes ( typeof ( LinqExtensionMethodAttribute ) , false ) ;
28
+ private bool GetMethodGeneratorForType ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
29
+ {
30
+ methodGenerator = null ;
45
31
46
- if ( attr . Length == 1 )
47
- {
48
- // It is
49
- methodGenerator = new HqlGeneratorForExtensionMethod ( ( LinqExtensionMethodAttribute ) attr [ 0 ] , method ) ;
50
- return true ;
51
- }
52
- return false ;
53
- }
32
+ foreach ( var typeGenerator in typeGenerators . Where ( typeGenerator => typeGenerator . SupportsMethod ( method ) ) )
33
+ {
34
+ methodGenerator = typeGenerator . GetMethodGenerator ( method ) ;
35
+ return true ;
36
+ }
37
+ return false ;
38
+ }
54
39
55
- private bool GetRegisteredMethodGenerator ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
56
- {
57
- if ( registeredMethods . TryGetValue ( method , out methodGenerator ) )
58
- {
59
- return true ;
60
- }
61
- return false ;
62
- }
40
+ private bool GetStandardLinqExtensionMethodGenerator ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
41
+ {
42
+ methodGenerator = null ;
63
43
64
- public IHqlGeneratorForProperty GetGenerator ( MemberInfo member )
65
- {
66
- IHqlGeneratorForProperty propertyGenerator ;
44
+ var attr = method . GetCustomAttributes ( typeof ( LinqExtensionMethodAttribute ) , false ) ;
67
45
68
- if ( registeredProperties . TryGetValue ( member , out propertyGenerator ) )
69
- {
70
- return propertyGenerator ;
71
- }
46
+ if ( attr . Length == 1 )
47
+ {
48
+ // It is
49
+ methodGenerator = new HqlGeneratorForExtensionMethod ( ( LinqExtensionMethodAttribute ) attr [ 0 ] , method ) ;
50
+ return true ;
51
+ }
52
+ return false ;
53
+ }
72
54
73
- // TODO - different usage pattern to method generator
74
- return null ;
75
- }
55
+ private bool GetRegisteredMethodGenerator ( MethodInfo method , out IHqlGeneratorForMethod methodGenerator )
56
+ {
57
+ if ( registeredMethods . TryGetValue ( method , out methodGenerator ) )
58
+ {
59
+ return true ;
60
+ }
61
+ return false ;
62
+ }
76
63
77
64
public bool TryGetGenerator ( MethodInfo method , out IHqlGeneratorForMethod generator )
78
65
{
@@ -98,21 +85,21 @@ public bool TryGetGenerator(MemberInfo property, out IHqlGeneratorForProperty ge
98
85
}
99
86
100
87
public void RegisterGenerator ( MethodInfo method , IHqlGeneratorForMethod generator )
101
- {
102
- registeredMethods . Add ( method , generator ) ;
103
- }
88
+ {
89
+ registeredMethods . Add ( method , generator ) ;
90
+ }
104
91
105
- public void RegisterGenerator ( MemberInfo property , IHqlGeneratorForProperty generator )
106
- {
107
- registeredProperties . Add ( property , generator ) ;
108
- }
92
+ public void RegisterGenerator ( MemberInfo property , IHqlGeneratorForProperty generator )
93
+ {
94
+ registeredProperties . Add ( property , generator ) ;
95
+ }
109
96
110
- private void Register ( IHqlGeneratorForType typeMethodGenerator )
111
- {
112
- typeGenerators . Add ( typeMethodGenerator ) ;
113
- typeMethodGenerator . Register ( this ) ;
114
- }
115
- }
97
+ private void Register ( IHqlGeneratorForType typeMethodGenerator )
98
+ {
99
+ typeGenerators . Add ( typeMethodGenerator ) ;
100
+ typeMethodGenerator . Register ( this ) ;
101
+ }
102
+ }
116
103
117
104
public class HqlGeneratorForExtensionMethod : BaseHqlGeneratorForMethod
118
105
{
0 commit comments