blob: 79ab2bdd27487c4b2e602668a27726e98b9e4576 [file] [log] [blame]
// invalid expressions
public class a12 {
static int i;
int f(int i) {
<error descr="Not a statement">1;</error>
<error descr="Not a statement">1==2;</error>
<error descr="Not a statement">1==2 ? 1 : 3;</error>
<error descr="Not a statement">f(1) == 3;</error>
<error descr="Not a statement">1,2;</error>
<error descr="Not a statement">~1;</error>
<error descr="Not a statement">!(1==2);</error>
<error descr="Not a statement">new int[0];</error>
<error descr="Not a statement">new a12[10];</error>
<error descr="Not a statement">new a12[]{};</error>
<error descr="Not a statement">new int[]{1};</error>
<error descr="Not a statement">new String[]{new String()};</error>
if (i==1)
<error descr="Not a statement">String s00 = "";</error>
for (;;)
<error descr="Not a statement">String s01 = "";</error>
for (<error descr="Not a statement">1==2,i=3;</error> i<3; <error descr="Not a statement">!(1==2)</error>);
label2:
<error descr="Not a statement">int ksdfgdf;</error>
int i1=3, g=5;
g++;
++g;
for (int k=1,l=3; k<3; k++,l--) {;};
class s {}
new s() { void f(){}};
return 3;
}
//////////////////////////
void f() {
a12 a[] = new a12[4];
int[] ai = null;
<error descr="Variable expected">5</error> = 5;
<error descr="Variable expected">5</error>++;
++<error descr="Variable expected">5</error>;
<error descr="Variable expected">5</error> += 5;
<error descr="Cannot resolve method 'foo123Unresolved(?)'">foo123Unresolved</error>(<error descr="Expression expected">String</error>);
<error descr="Cannot resolve method 'foo123Unresolved(?)'">foo123Unresolved</error>(<error descr="Cannot resolve symbol 'xxxx'">xxxx</error>);
<error descr="Cannot resolve method 'xxxxxx(?)'">xxxxxx</error>(<error descr="Cannot resolve symbol 'xxxxxx'">xxxxxx</error>);
// incomplete code should not cause 'expr expected'
Object<error descr="';' expected"> </error>
<error descr="Array type expected; found: 'int'">4</error>[1] = 5;
a[<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">"d"</error>] = null;
<error descr="Array type expected; found: 'a12'">a[0]</error>[1] = 5;
<error descr="Array type expected; found: 'int'">i</error>[0] = 5;
i = ai[<error descr="Incompatible types. Found: 'a12', required: 'int'">a[1]</error>];
final a12[] a12a = new a12[<error descr="Incompatible types. Found: 'null', required: 'int'">{null}</error>];
int[] iarr = new int[<error descr="Incompatible types. Found: 'null', required: 'int'">{0}</error>];
new String[<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">"d"</error>];
new String[<error descr="Incompatible types. Found: 'double', required: 'int'">1.1</error>]
[<error descr="Incompatible types. Found: 'a12', required: 'int'">this</error>];
a[0] = null;
(a)[(1)].i = 3;
(( i) ) = (5);
a12.i = 0;
arr()[0] = 1;
new int[] { 1,3} [0] = 2;
Object[] var = null;
i = var.length;
// array initializers
var = <error descr="Array initializer is not allowed here">{ null, null }</error>;
Object var1 = <error descr="Array initializer is not allowed here">{ null, null }</error>;
int[] var2 = { 1,2 };
var2 = new int[] { 2, 4};
int[][] ii2 = { { 1,2}, {4} };
}
<error descr="Illegal type: 'void'">void</error>[] fv() {
if (1==2) return new <error descr="Illegal type: 'void'">void</error>[0];
return null;
}
int[] arr() { return new int[0]; }
public <error descr="Invalid method declaration; return type required">foo</error>() {
}
{
new Object() {
<error descr="Invalid method declaration; return type required">Object</error>() {}
};
}
// do not warn about illegal type in incomplete declarations (http://www.intellij.net/tracker/idea/viewSCR?publicId=9586)
void foo<EOLError descr="';' expected"></EOLError>
}