|
|
|
@ -33,16 +33,14 @@ parse.BinaryOperation = function(contract, expression, skipStatementRegistry) { |
|
|
|
|
// Free-floating ternary conditional
|
|
|
|
|
if (expression.left && expression.left.type === 'Conditional'){ |
|
|
|
|
parse[expression.left.type](contract, expression.left, true); |
|
|
|
|
register.statement(contract, expression); |
|
|
|
|
|
|
|
|
|
// Ternary conditional assignment
|
|
|
|
|
} else if (expression.right && expression.right.type === 'Conditional'){ |
|
|
|
|
parse[expression.right.type](contract, expression.right, true); |
|
|
|
|
register.statement(contract, expression); |
|
|
|
|
|
|
|
|
|
// Regular binary operation
|
|
|
|
|
} else if(!skipStatementRegistry){ |
|
|
|
|
register.statement(contract, expression); |
|
|
|
|
// noop
|
|
|
|
|
|
|
|
|
|
// LogicalOR condition search...
|
|
|
|
|
} else { |
|
|
|
@ -91,7 +89,7 @@ parse.FunctionCall = function(contract, expression, skipStatementRegistry) { |
|
|
|
|
|
|
|
|
|
parse.Conditional = function(contract, expression, skipStatementRegistry) { |
|
|
|
|
parse[expression.condition.type] && |
|
|
|
|
parse[expression.condition.type](contract, expression.condition, skipStatementRegistry); |
|
|
|
|
parse[expression.condition.type](contract, expression.condition, true); |
|
|
|
|
|
|
|
|
|
register.conditional(contract, expression); |
|
|
|
|
}; |
|
|
|
|