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); }
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); }
public override void Visit(ArrayTypeAST arrayAST) { }
public virtual void Visit(ArrayTypeAST arrayAST) { }