public Method(string name, string[] argNames, Statement[] statements) { Contract.Requires(!string.IsNullOrEmpty(name), "name is null or empty"); Contract.Requires(argNames != null, "argNames is null"); Contract.Requires(statements != null, "statements is null"); Name = name; m_argNames = argNames; m_statements = statements; }
public For(int line, string local, Expression elements, Expression filter, Statement[] block) : base(line) { Contract.Requires(!string.IsNullOrEmpty(local), "local is null or null"); Contract.Requires(elements != null, "elements is null"); Contract.Requires(block != null, "block is null"); m_local = local; m_elements = elements; m_filter = filter; m_block = block; }
public Let(int line, string[] locals, Expression[] values, Statement[] block) : base(line) { Contract.Requires(locals != null, "locals is null"); Contract.Requires(values != null, "value is null"); Contract.Requires(locals.Length == values.Length, "lengths don't match"); Contract.Requires(block != null, "block is null"); m_locals = locals; m_values = values; m_block = block; }
public Conditional(int line, Expression[] predicates, Statement[][] blocks) : base(line) { Contract.Requires(predicates != null, "predicates is null"); Contract.Requires(blocks != null, "blocks is null"); Contract.Requires(predicates.Length == blocks.Length, "lengths differ"); m_predicates = predicates; m_blocks = blocks; }