method refs and invokeDynamic bytecode parsing to register corresponding dependencies correctly (IDEA-137568)

This commit is contained in:
Eugene Zhuravlev
2015-03-20 21:02:33 +01:00
parent 61048afa20
commit 0504e11398
31 changed files with 428 additions and 23 deletions
@@ -0,0 +1,16 @@
Cleaning output files:
out/production/ChangeLambdaSAMMethodSignature/ppp/Client.class
out/production/ChangeLambdaSAMMethodSignature/ppp/DataProvider.class
out/production/ChangeLambdaSAMMethodSignature/ppp/Repository.class
End of files
Compiling files:
src/ppp/Client.java
src/ppp/DataProvider.java
src/ppp/Repository.java
End of files
Cleaning output files:
out/production/ChangeLambdaSAMMethodSignature/ppp/Main.class
End of files
Compiling files:
src/ppp/Main.java
End of files
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData()) {
System.out.println(s);
}
}
}
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData(10)) {
System.out.println(s);
}
}
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData();
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData(int param);
}
@@ -0,0 +1,9 @@
package ppp;
public class Main {
public static void main(String[] args) {
Repository repo = new Repository();
Client client = new Client();
client.execute(()-> repo.getStorages());
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages(int param) {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,12 @@
Cleaning output files:
out/production/ChangeLambdaTargetReturnType/ppp/Repository.class
End of files
Compiling files:
src/ppp/Repository.java
End of files
Cleaning output files:
out/production/ChangeLambdaTargetReturnType/ppp/Main.class
End of files
Compiling files:
src/ppp/Main.java
End of files
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData()) {
System.out.println(s);
}
}
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData();
}
@@ -0,0 +1,9 @@
package ppp;
public class Main {
public static void main(String[] args) {
Repository repo = new Repository();
Client client = new Client();
client.execute(()-> repo.getStorages());
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.Collection;
public class Repository {
public Collection<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,12 @@
Cleaning output files:
out/production/ChangeMethodRefReturnType/ppp/Repository.class
End of files
Compiling files:
src/ppp/Repository.java
End of files
Cleaning output files:
out/production/ChangeMethodRefReturnType/ppp/Main.class
End of files
Compiling files:
src/ppp/Main.java
End of files
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData()) {
System.out.println(s);
}
}
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData();
}
@@ -0,0 +1,9 @@
package ppp;
public class Main {
public static void main(String[] args) {
Repository repo = new Repository();
Client client = new Client();
client.execute(repo::getStorages);
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.Collection;
public class Repository {
public Collection<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,16 @@
Cleaning output files:
out/production/ChangeSAMMethodSignature/ppp/Client.class
out/production/ChangeSAMMethodSignature/ppp/DataProvider.class
out/production/ChangeSAMMethodSignature/ppp/Repository.class
End of files
Compiling files:
src/ppp/Client.java
src/ppp/DataProvider.java
src/ppp/Repository.java
End of files
Cleaning output files:
out/production/ChangeSAMMethodSignature/ppp/Main.class
End of files
Compiling files:
src/ppp/Main.java
End of files
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData()) {
System.out.println(s);
}
}
}
@@ -0,0 +1,8 @@
package ppp;
public class Client {
public void execute(DataProvider data) {
for (String s : data.getData(10)) {
System.out.println(s);
}
}
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData();
}
@@ -0,0 +1,7 @@
package ppp;
import java.util.Collection;
public interface DataProvider {
Collection<String> getData(int param);
}
@@ -0,0 +1,9 @@
package ppp;
public class Main {
public static void main(String[] args) {
Repository repo = new Repository();
Client client = new Client();
client.execute(repo::getStorages);
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages() {
return Arrays.asList("a", "b", "c");
}
}
@@ -0,0 +1,10 @@
package ppp;
import java.util.Arrays;
import java.util.List;
public class Repository {
public List<String> getStorages(int param) {
return Arrays.asList("a", "b", "c");
}
}