-
-
Notifications
You must be signed in to change notification settings - Fork 110
jimple IR Can be simplified? #692
Copy link
Copy link
Closed
Description
Here is source code
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%
List<String> names = new ArrayList();
names.add("s");
names.forEach(cmd -> {
System.out.println(cmd);
});
%>The currently generated IR is as follows:
$stack16 = new java.util.ArrayList;
specialinvoke $stack16.<java.util.ArrayList: void <init>()>();
names = $stack16;
$stack51 = names;
$stack50 = "s";
$stack17 = interfaceinvoke $stack51.<java.util.List: boolean add(java.lang.Object)>($stack50);
$stack52 = names;
$stack18 = dynamicinvoke "accept" // deleted something.....
interfaceinvoke $stack52.<java.util.List: void forEach(java.util.function.Consumer)>($stack18);
expected IR
names = new java.util.ArrayList;
specialinvoke names.<java.util.ArrayList: void <init>()>();
$stack50 = "s";
$stack17 = interfaceinvoke names.<java.util.List: boolean add(java.lang.Object)>($stack50);
$stack18 = dynamicinvoke "accept" // deleted something.....
interfaceinvoke names.<java.util.List: void forEach(java.util.function.Consumer)>($stack18);
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels