tfpt review "/shelveset:AstImprovements;REDMOND\tomat"
Comment :
DLR:
Adds ExpressionCollectionBuilder (moves the implementation from IronRuby).
This allows to construct optimized expressions via C# initializer syntax. Adds a
subclass BlockBuilder that can be used to build blocks like so:
Expression result = new BlockBuilder {
expression1,
...
(condition) ? foo : null,
anotherExpression
};
If the expression used in the initializer is null it is skipped.
If the expression is a sequence of expressions (IEnumerable<Expression>)
its content is included in the block.
BlockBuilder defines an implicit conversion to Expression.
Ruby:
Tree transformation refactorings:
- Replaces some AstFactory utility methods with AstUtils equivalents.
- Creates Lambda<T> explicitly to avoid calls to MakeGenericType.
- Uses BlockBuilder for building complex blocks.
Tomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AstImprovements.diff
Type: application/octet-stream
Size: 84549 bytes
Desc: AstImprovements.diff
URL:
<http://rubyforge.org/pipermail/ironruby-core/attachments/20091209/878c6c53/attachment-0001.obj>