Example #1
0
        public ArrayTypeAST GetArrayType(ArrayAccessAST arrayAccess)
        {
            arrayAccess.ArrayVariableName.Accept(this);

            ArrayTypeAST arrayType = _stateInfo.currentType as ArrayTypeAST;

            if (arrayType == null)
            {
                throw new Exception("Invalid array type " + arrayAccess.ArrayVariableName);
            }

            return(arrayType);
        }
Example #2
0
        public static TypeAST GetArrayContainedType(ArrayTypeAST arrayType, int accessDimensions = 1)
        {
            var accessType = arrayType.TypeOfContainedValues;

            for (var i = 1; i < accessDimensions; i++)
            {
                var arrayCast = (accessType as ArrayTypeAST);

                if (arrayCast == null)
                {
                    throw new Exception("Array dimensions error: cannot access to " + i + "rd dimension of " + arrayType);
                }

                accessType = arrayCast.TypeOfContainedValues;
            }

            return(accessType);
        }
Example #3
0
 public override void Visit(ArrayTypeAST arrayAST)
 {
 }
Example #4
0
 public virtual void Visit(ArrayTypeAST arrayAST)
 {
 }