void (@NotNull PsiNewExpression expression) { super.visitNewExpression(expression); final PsiType type = expression.getType(); if (!(type instanceof PsiArrayType)) { return; } int size = 1; final PsiExpression[] dimensions = expression.getArrayDimensions(); for (final PsiExpression dimension : dimensions) { final Integer intValue = (Integer)ConstantExpressionUtil.computeCastTo( dimension, PsiTypes.intType()); if (intValue != null) { size *= intValue.intValue(); } } if (size <= m_limit) { return; } if (outOfMemoryExceptionCaught(expression)) { return; } registerNewExpressionError(expression); }