lambda can be converted to method reference inspection

This commit is contained in:
anna
2012-10-09 15:51:41 +02:00
parent c4695e9e30
commit 0fbf5f2464
32 changed files with 774 additions and 1 deletions

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class NonStaticInner {
class Inner {
Inner() {}
}
interface I1 {
Inner m(NonStaticInner rec);
}
static {
I1 i1 = NonStaticInner.Inner::new;
}
}

View File

@@ -0,0 +1,17 @@
// "Replace lambda with method reference" "true"
class StaticInner {
static class Inner {
Inner(StaticInner outer) {}
}
interface I1 {
Inner m(StaticInner rec);
}
static {
I1 i1 = StaticInner.Inner::new;
}
}

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class MyTest2<X> {
MyTest2(X x) {
}
interface I<Z> {
MyTest2<Z> m(Z z);
}
public static void main(String[] args) {
I<String> s = MyTest2::new;
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = NonStaticInner3.Foo::new;
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = NonStaticInner3.Foo::new;
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = NonStaticInner3.Foo::new;
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = NonStaticInner3.Foo::new;
}
}

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
}
interface I1<X> {
X m();
}
{
I1<Foo> b2 = NonStaticInner3.Foo::new;
}
}

View File

@@ -0,0 +1,9 @@
// "Replace lambda with method reference" "true"
class Example {
public void m() {
}
{
Runnable r = this::m;
}
}

View File

@@ -0,0 +1,9 @@
// "Replace lambda with method reference" "true"
class Example {
public static void m() {
}
{
Runnable r = Example::m;
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "true"
class Example {
interface I {
void foo(Example e);
}
void m() {}
{
I i = Example::m;
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "true"
class Example {
interface I {
void foo(int i);
}
void m(int i) {}
{
I i = this::m;
}
}

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class NonStaticInner {
class Inner {
Inner() {}
}
interface I1 {
Inner m(NonStaticInner rec);
}
static {
I1 i1 = (rec) -> r<caret>ec.new Inner();
}
}

View File

@@ -0,0 +1,17 @@
// "Replace lambda with method reference" "true"
class StaticInner {
static class Inner {
Inner(StaticInner outer) {}
}
interface I1 {
Inner m(StaticInner rec);
}
static {
I1 i1 = (rec) -> <caret>new Inner(rec);
}
}

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class MyTest2<X> {
MyTest2(X x) {
}
interface I<Z> {
MyTest2<Z> m(Z z);
}
public static void main(String[] args) {
I<String> s = (z) -> new MyTe<caret>st2<String>(z);
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> <caret>new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> <caret>new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> <caret>rec.new Foo(i);
I4<Foo> b2 = (rec) -> rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> <caret>rec.new Foo();
}
}

View File

@@ -0,0 +1,33 @@
// "Replace lambda with method reference" "false"
class NonStaticInner3 {
class Foo {
Foo(Integer i) {}
Foo() {}
}
interface I1<X> {
X m(int i);
}
interface I2<X> {
X m();
}
interface I3<X> {
X m(NonStaticInner3 rec, int i);
}
interface I4<X> {
X m(NonStaticInner3 rec);
}
{
I1<Foo> b1 = (i) -> new Foo(i);
I2<Foo> b2 = () -> new Foo();
}
{
I3<Foo> b1 = (rec, i) -> rec.new Foo(i);
I4<Foo> b2 = (rec) -> <caret>new Foo();
}
}

View File

@@ -0,0 +1,13 @@
// "Replace lambda with method reference" "true"
class NonStaticInner3 {
class Foo {
}
interface I1<X> {
X m();
}
{
I1<Foo> b2 = () -> <caret>new Foo();
}
}

View File

@@ -0,0 +1,9 @@
// "Replace lambda with method reference" "true"
class Example {
public void m() {
}
{
Runnable r = () -> <caret>m();
}
}

View File

@@ -0,0 +1,9 @@
// "Replace lambda with method reference" "true"
class Example {
public static void m() {
}
{
Runnable r = () -> <caret>m();
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "true"
class Example {
interface I {
void foo(Example e);
}
void m() {}
{
I i = (e) -> e<caret>.m();
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "false"
class Example {
interface I {
void foo(Example e);
}
void m() {}
{
I i = (e) -> <caret>.m();
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "true"
class Example {
interface I {
void foo(int i);
}
void m(int i) {}
{
I i = (i1) -> <caret>m(i1);
}
}

View File

@@ -0,0 +1,12 @@
// "Replace lambda with method reference" "false"
class Example {
interface I {
void foo(int i);
}
void m(int i) {}
{
I i = (i1) -> <caret>m(i1 + 1);
}
}