mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-14 14:41:28 +00:00
FIXED: block & conditional expressions: support for CPPredicate -predicateWithSubstitutionVariables:
This commit is contained in:
@@ -75,6 +75,18 @@
|
||||
return _block(object, args, context);
|
||||
}
|
||||
|
||||
- (CPExpression)_expressionWithSubstitutionVariables:(CPDictionary)bindings
|
||||
{
|
||||
var args = [];
|
||||
|
||||
[_arguments enumerateObjectsUsingBlock:function(exp, idx)
|
||||
{
|
||||
[args addObject:[exp _expressionWithSubstitutionVariables:bindings]];
|
||||
}];
|
||||
|
||||
return [[_CPBlockExpression alloc] initWithBlock:_block arguments:args];
|
||||
}
|
||||
|
||||
- (CPString)description
|
||||
{
|
||||
return [CPString stringWithFormat:@"Block(0x%@)", [CPString stringWithHash:[self UID]]];
|
||||
|
||||
@@ -76,6 +76,15 @@
|
||||
return [exp expressionValueWithObject:object context:context];
|
||||
}
|
||||
|
||||
- (CPExpression)_expressionWithSubstitutionVariables:(CPDictionary)bindings
|
||||
{
|
||||
var s_predicate = [_predicate predicateWithSubstitutionVariables:bindings],
|
||||
s_trueExp = [_trueExpression _expressionWithSubstitutionVariables:bindings],
|
||||
s_falseExp = [_falseExpression _expressionWithSubstitutionVariables:bindings];
|
||||
|
||||
return [[_CPConditionalExpression alloc] initWithPredicate:s_predicate trueExpression:s_trueExp falseExpression:s_falseExp];
|
||||
}
|
||||
|
||||
- (CPString)description
|
||||
{
|
||||
return [CPString stringWithFormat:@"TERNARY(%@,%@,%@)", [_predicate predicateFormat], [_trueExpression description], [_falseExpression description]];
|
||||
|
||||
Reference in New Issue
Block a user