Skip to content

Commit e4e6b2b

Browse files
committed
Refactoring
SVN: trunk@5068
1 parent 189ad87 commit e4e6b2b

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

src/NHibernate/Linq/Functions/FunctionRegistry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace NHibernate.Linq.Functions
1010
{
1111
public class FunctionRegistry : ILinqToHqlGeneratorsRegistry
1212
{
13-
public static readonly FunctionRegistry Instance = new FunctionRegistry();
13+
public static readonly ILinqToHqlGeneratorsRegistry Instance = new FunctionRegistry();
1414

1515
private readonly Dictionary<MethodInfo, IHqlGeneratorForMethod> registeredMethods = new Dictionary<MethodInfo, IHqlGeneratorForMethod>();
1616
private readonly Dictionary<MemberInfo, IHqlGeneratorForProperty> registeredProperties = new Dictionary<MemberInfo, IHqlGeneratorForProperty>();

src/NHibernate/Linq/Visitors/HqlGeneratorExpressionTreeVisitor.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class HqlGeneratorExpressionTreeVisitor : IHqlExpressionVisitor
1212
{
1313
private readonly HqlTreeBuilder _hqlTreeBuilder;
1414
private readonly VisitorParameters _parameters;
15-
static private readonly FunctionRegistry FunctionRegistry = FunctionRegistry.Instance;
15+
private readonly ILinqToHqlGeneratorsRegistry functionRegistry;
1616

1717
public static HqlTreeNode Visit(Expression expression, VisitorParameters parameters)
1818
{
@@ -23,7 +23,8 @@ public static HqlTreeNode Visit(Expression expression, VisitorParameters paramet
2323

2424
public HqlGeneratorExpressionTreeVisitor(VisitorParameters parameters)
2525
{
26-
_parameters = parameters;
26+
functionRegistry = FunctionRegistry.Instance;
27+
_parameters = parameters;
2728
_hqlTreeBuilder = new HqlTreeBuilder();
2829
}
2930

@@ -352,9 +353,8 @@ protected HqlTreeNode VisitMemberExpression(MemberExpression expression)
352353

353354
// Look for "special" properties (DateTime.Month etc)
354355
IHqlGeneratorForProperty generator;
355-
generator = FunctionRegistry.GetGenerator(expression.Member);
356356

357-
if (generator != null)
357+
if (functionRegistry.TryGetGenerator(expression.Member, out generator))
358358
{
359359
return generator.BuildHql(expression.Member, expression.Expression, _hqlTreeBuilder, this);
360360
}
@@ -398,7 +398,7 @@ protected HqlTreeNode VisitMethodCallExpression(MethodCallExpression expression)
398398
IHqlGeneratorForMethod generator;
399399

400400
var method = expression.Method;
401-
if (!FunctionRegistry.TryGetGenerator(method, out generator))
401+
if (!functionRegistry.TryGetGenerator(method, out generator))
402402
{
403403
throw new NotSupportedException(method.ToString());
404404
}

src/NHibernate/Linq/Visitors/SelectClauseVisitor.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace NHibernate.Linq.Visitors
1010
{
1111
public class SelectClauseVisitor : ExpressionTreeVisitor
1212
{
13-
static private readonly FunctionRegistry FunctionRegistry = FunctionRegistry.Instance;
13+
private readonly ILinqToHqlGeneratorsRegistry functionRegistry;
1414

1515
private HashSet<Expression> _hqlNodes;
1616
private readonly ParameterExpression _inputParameter;
@@ -20,7 +20,8 @@ public class SelectClauseVisitor : ExpressionTreeVisitor
2020

2121
public SelectClauseVisitor(System.Type inputType, VisitorParameters parameters)
2222
{
23-
_inputParameter = Expression.Parameter(inputType, "input");
23+
functionRegistry = FunctionRegistry.Instance;
24+
_inputParameter = Expression.Parameter(inputType, "input");
2425
_parameters = parameters;
2526
}
2627

@@ -82,7 +83,7 @@ private static bool CanBeEvaluatedInHqlSelectStatement(Expression expression)
8283
{
8384
// Depends if it's in the function registry
8485
IHqlGeneratorForMethod methodGenerator;
85-
if (!FunctionRegistry.TryGetGenerator(((MethodCallExpression) expression).Method, out methodGenerator))
86+
if (!functionRegistry.TryGetGenerator(((MethodCallExpression) expression).Method, out methodGenerator))
8687
{
8788
return false;
8889
}

0 commit comments

Comments
 (0)