(function(app) { "use strict"; function BitwiseOperation (expr) { this.expression = expr; this.operand1 = expr.operand1; this.operand2 = expr.operand2; this.sign = expr.sign; this.string = expr.expressionString; } function BitwiseNumbersViewModel(expr) { this.expression = expr; this.operands = expr.numbers; var numbers = this.numbers = []; expr.numbers.forEach(function (o) { numbers.push(o.value); }); } function BitwiseExpressionViewModel() { this.items = []; this.maxNumberOfBits = 0; } BitwiseExpressionViewModel.buildMultiple = function (expr) { var op = expr.expressions[0], i = 1, l = expr.expressions.length, ex, m = new BitwiseExpressionViewModel(); m.addOperand(op); for (;i