Merge remote-tracking branch 'origin/master'

This commit is contained in:
Roman Shevchenko
2017-04-07 18:54:51 +02:00
79 changed files with 773 additions and 684 deletions
@@ -20,4 +20,9 @@ interface E {
interface F {
<error descr="Modifier 'private' not allowed here">private</error> int m = 0;
}
@interface G {
<error descr="Modifier 'private' not allowed here">private</error> String m();
<error descr="Modifier 'private' not allowed here">private</error> String m1() {return "";}
}
@@ -0,0 +1,25 @@
interface A {
void m();
}
interface A1 extends A {
<error descr="Static method 'm()' in 'A1' cannot override instance method 'm()' in 'A'">private static void m()</error> {}
}
interface A2 extends A {
<error descr="'m()' in 'A2' clashes with 'm()' in 'A'; attempting to assign weaker access privileges ('private'); was 'public'">private</error> void m() {}
}
interface B {
private void m() {}
}
interface B1 extends B {
private void m() {}
}
interface B2 extends B {
private static void m() {}
}
interface B3 extends B {
default void m() {}
}
interface B4 extends B {
void m();
}
@@ -0,0 +1,10 @@
// "Access static 'I.m()' via class 'I' reference" "true"
interface I {
static void m() {}
}
class A implements I {
{
I.m();
}
}
@@ -0,0 +1,10 @@
// "Access static 'I.m()' via class 'I' reference" "true"
interface I {
static void m() {}
}
class A implements I {
{
this.<caret>m();
}
}
@@ -0,0 +1,10 @@
// "Make 'I.foo' public" "true"
interface I {
default void foo() { }
}
class A implements I {
{
this.foo();
}
}
@@ -0,0 +1,10 @@
// "Make 'I.foo' public" "true"
interface I {
private void foo() { }
}
class A implements I {
{
this.fo<caret>o();
}
}