mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
new expression: keep calm with invalid code (IDEA-189834)
This commit is contained in:
+3
-1
@@ -113,7 +113,9 @@ public class PsiNewExpressionImpl extends ExpressionPsiElement implements PsiNew
|
||||
public PsiExpression[] getArrayDimensions() {
|
||||
PsiExpression[] expressions = getChildrenAsPsiElements(ElementType.ARRAY_DIMENSION_BIT_SET, PsiExpression.ARRAY_FACTORY);
|
||||
PsiExpression qualifier = getQualifier();
|
||||
if (qualifier == null) {
|
||||
if (qualifier == null ||
|
||||
//invalid qualifier
|
||||
!ElementType.ARRAY_DIMENSION_BIT_SET.contains(qualifier.getNode().getElementType())) {
|
||||
return expressions;
|
||||
}
|
||||
else {
|
||||
|
||||
+9
@@ -110,3 +110,12 @@ public class a12 {
|
||||
}
|
||||
|
||||
|
||||
//invalid arrays
|
||||
class array {
|
||||
{
|
||||
int[] a1 =<error descr="Expression expected"> </error><error descr="Unexpected token">.</error>new <error descr="Cannot resolve symbol 'C'">C</error>[0];
|
||||
int[] a2 = {}.new <error descr="Cannot resolve symbol 'D'">D</error>[0];
|
||||
int[] a3 = t -><error descr="'{' expected"> </error>.new <error descr="Cannot resolve symbol 'E'">E</error>[0];
|
||||
int[] a4 = <error descr="Cannot resolve symbol 'a'">a</error>::<error descr="';' expected"><error descr="Identifier expected"><error descr="Unexpected token">.</error></error></error>new <error descr="Cannot resolve symbol 'F'">F</error>[0];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user