コード例 #1
0
ファイル: Evaluator.cs プロジェクト: wj32/Lambda
 public Expression GetLazyExpression(LazyExpression expression)
 {
     return _lazyExpressions[expression.Id];
 }
コード例 #2
0
ファイル: Evaluator.cs プロジェクト: wj32/Lambda
            public Expression EvaluateLazyExpression(LazyExpression expression, int depthLimit, bool stopOnAbstraction)
            {
                if (_evaluatedLazyExpressions.Contains(expression.Id))
                    return _lazyExpressions[expression.Id];

                var result = Evaluate(_lazyExpressions[expression.Id], depthLimit, this, stopOnAbstraction);

                if (!stopOnAbstraction)
                {
                    _lazyExpressions[expression.Id] = result;
                    _evaluatedLazyExpressions.Add(expression.Id);
                }

                return result;
            }