public IntegerArrayTypeNode(int lineNumber)
 {
     ArrayType IntArrayType = new ArrayType("int[]");
     IntArrayType.ElementType = IntType.Instance;
     IntArrayType.NoOfDimensions = 1;
     Type = IntArrayType;
     this.lineNumber = lineNumber;
 }
        public override void Visit(NewIntegerArrayExpressionNode node)
        {
            node.expression.Accept(this);

            if (!AreTypeCompatible(node.expression.ExpressionType.GetType(), typeof(IntType)))
                throw new Exception("Integer Array Size Expression's Type is not Int!");

            ArrayType nodeType = new ArrayType("int[]");
            nodeType.ElementType = IntType.Instance;
            nodeType.NoOfDimensions = 1;
            node.ExpressionType = nodeType;
        }