public IntegerRange(long min, long max) { this.min = min; this.max = max; if (min == max) { Type = new IntegerType(min); } else { Type = new ArrayType(new IntegerType(min, max), new IntegerType(max - min + 1)); } }
public ArrayLiteral(List<IExpression> contents) { Type = new ArrayType(new UnknownType(), new IntegerType(0)); this.contents = contents; if (contents.Count > 0) { Type = new ArrayType(contents[0].Type, new IntegerType(contents.Count)); } }