mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 22:09:38 +07:00
Deprecated extension method syntax dropped
This commit is contained in:
@@ -44,6 +44,6 @@ class UnsupportedFeatures {
|
||||
}
|
||||
|
||||
interface I {
|
||||
<error descr="Extension methods are not supported at this language level">void m() default { }</error>
|
||||
<error descr="Extension methods are not supported at this language level">default void m() { }</error>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
class Test {
|
||||
public static final BinaryOperator<Integer> rPlus = (x, y) -> x + y;
|
||||
|
||||
interface BinaryOperator<T> extends Combiner<T,T,T> {
|
||||
public T operate(T left, T right);
|
||||
|
||||
@Override
|
||||
T combine(T t1, T t2) default {
|
||||
default T combine(T t1, T t2) {
|
||||
return operate(t1, t2);
|
||||
}
|
||||
}
|
||||
@@ -13,5 +14,3 @@ class Test {
|
||||
V combine(T t, U u);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
interface I {
|
||||
void m1() <error descr="Deprecated extension method syntax">default</error> { }
|
||||
|
||||
default void m2() <error descr="Deprecated extension method syntax">default</error> { }
|
||||
|
||||
@SuppressWarnings("extensionSyntax")
|
||||
void m3() default { }
|
||||
}
|
||||
@@ -17,11 +17,11 @@
|
||||
class C {
|
||||
interface I {
|
||||
int i = 42;
|
||||
void m() default { }
|
||||
default void m() { }
|
||||
}
|
||||
|
||||
interface II extends I {
|
||||
void m() default {
|
||||
default void m() {
|
||||
I.super.m();
|
||||
<error descr="Unqualified super reference is not allowed in extension method">super.m</error>();
|
||||
|
||||
@@ -46,18 +46,18 @@ class C {
|
||||
}
|
||||
|
||||
class D {
|
||||
<error descr="Extension methods can only be used within an interface">void m()</error> default { }
|
||||
<error descr="Extension methods can only be used within an interface">default void m()</error> { }
|
||||
}
|
||||
|
||||
interface IllegalMods {
|
||||
<error descr="Static methods in interfaces should have a body">static void m1()</error>;
|
||||
<error descr="Illegal combination of modifiers: 'static' and 'default'">static</error> void m2() default { }
|
||||
void m1()<error descr="'{' or ';' expected"> </error>default<error descr="Identifier or type expected">;</error> <error descr="Not allowed in interface">{ }</error>
|
||||
|
||||
<error descr="Static methods in interfaces should have a body">static void m2()</error>;
|
||||
<error descr="Illegal combination of modifiers: 'static' and 'default'">static</error> <error descr="Illegal combination of modifiers: 'default' and 'static'">default</error> void m3() { }
|
||||
|
||||
<error descr="Illegal combination of modifiers: 'abstract' and 'default'">abstract</error> void m4() default { }
|
||||
<error descr="Illegal combination of modifiers: 'abstract' and 'default'">abstract</error> <error descr="Illegal combination of modifiers: 'default' and 'abstract'">default</error> void m5() { }
|
||||
<error descr="Illegal combination of modifiers: 'abstract' and 'default'">abstract</error> <error descr="Illegal combination of modifiers: 'default' and 'abstract'">default</error> void m4() { }
|
||||
|
||||
<error descr="Extension method should have a body">default void m6()</error>;
|
||||
<error descr="Extension method should have a body">default void m5()</error>;
|
||||
|
||||
<error descr="Modifier 'default' not allowed here">default</error> int i;
|
||||
<error descr="Modifier 'default' not allowed here">default</error> interface X { }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import java.util.*;
|
||||
|
||||
class MyTest2{
|
||||
class MyTest2 {
|
||||
{
|
||||
Comparator<? super String> comparator = String::compareToIgnoreCase;
|
||||
}
|
||||
@@ -16,5 +16,5 @@ interface Foo2<T> {
|
||||
void bar(T i, T j);
|
||||
}
|
||||
interface Bar2 {
|
||||
public void xxx(Bar2 p) default {}
|
||||
default void xxx(Bar2 p) { }
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ class Test {
|
||||
interface InOut<A> {
|
||||
A run() throws IOException;
|
||||
|
||||
<B> InOut<B> bind(final Eff<A, InOut<B>> f) default {
|
||||
default <B> InOut<B> bind(final Eff<A, InOut<B>> f) {
|
||||
return () -> f.f(InOut.this.run()).run();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ class Test {
|
||||
interface InOut<A> {
|
||||
A run() throws IOException;
|
||||
|
||||
<B> InOut<B> bind(final Eff<A, InOut<B>> f) default {
|
||||
default <B> InOut<B> bind(final Eff<A, InOut<B>> f) {
|
||||
return new In<caret>Out<B>() {
|
||||
@Override
|
||||
public B run() throws IOException {
|
||||
|
||||
@@ -4,7 +4,7 @@ interface A<T> {
|
||||
}
|
||||
|
||||
interface B<T> extends A<T> {
|
||||
void m1(T t) default { }
|
||||
default void m1(T t) { }
|
||||
}
|
||||
|
||||
class MyClass<T> implements B<T> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
interface A<T> {
|
||||
void m(T t) default { }
|
||||
default void m(T t) { }
|
||||
}
|
||||
|
||||
class MyClass<T> implements A<T> {
|
||||
|
||||
@@ -4,7 +4,7 @@ interface A<T> {
|
||||
}
|
||||
|
||||
interface B<T> extends A<T> {
|
||||
void m1(T t) default { }
|
||||
default void m1(T t) { }
|
||||
}
|
||||
|
||||
class MyClass<T> implements B<T> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
interface A<T> {
|
||||
void m(T t) default { }
|
||||
default void m(T t) { }
|
||||
}
|
||||
|
||||
class MyClass<T> implements A<T> {
|
||||
|
||||
@@ -2,10 +2,11 @@ PsiJavaFile:Extension.java
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiMethod:f
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiModifierList:default
|
||||
PsiKeyword:default('default')
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTypeElement:int
|
||||
PsiKeyword:int('int')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -22,8 +23,6 @@ PsiJavaFile:Extension.java
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiKeyword:default('default')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -36,4 +35,4 @@ PsiJavaFile:Extension.java
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -15,9 +15,12 @@ PsiJavaFile:Unclosed8.java
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiKeyword:default('default')
|
||||
PsiErrorElement:'{' or ';' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiModifierList:default
|
||||
PsiKeyword:default('default')
|
||||
PsiErrorElement:Identifier or type expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -1,25 +0,0 @@
|
||||
PsiJavaFile:Unclosed9.java
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiMethod:f
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeParameterList
|
||||
<empty list>
|
||||
PsiTypeElement:void
|
||||
PsiKeyword:void('void')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:f('f')
|
||||
PsiParameterList:()
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiReferenceList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiKeyword:default('default')
|
||||
PsiErrorElement:'{' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:SEMICOLON(';')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -2,7 +2,7 @@ interface Base {
|
||||
}
|
||||
|
||||
interface I2 extends Base {
|
||||
void foo<caret>() default {
|
||||
default void foo<caret>() {
|
||||
System.out.println("Hi there.");
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
interface Base {
|
||||
void foo() default {
|
||||
default void foo() {
|
||||
System.out.println("Hi there.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
interface Base {
|
||||
void foo<caret>() default {
|
||||
default void foo<caret>() {
|
||||
System.out.println("Hi there.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
interface Base {
|
||||
void foo<caret>() default {
|
||||
default void foo<caret>() {
|
||||
System.out.println("Hi there.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ interface Base {
|
||||
}
|
||||
|
||||
interface I2 extends Base {
|
||||
void foo() default {
|
||||
default void foo() {
|
||||
System.out.println("Hi there.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user