Skip to content

Commit 916c6e4

Browse files
committed
Fix formatting
1 parent 0f2ac02 commit 916c6e4

File tree

1 file changed

+53
-49
lines changed
  • substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports

1 file changed

+53
-49
lines changed

substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports/CallTreeCypher.java

Lines changed: 53 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ public class CallTreeCypher {
3333

3434
private static final AtomicInteger virtualNodeId = new AtomicInteger(-1);
3535
public static final Pattern DISPLAY_PATTERN = Pattern.compile(
36-
"\\b[a-zA-Z]|[A-Z]|\\."
37-
);
36+
"\\b[a-zA-Z]|[A-Z]|\\.");
3837

3938
public static void print(BigBang bigbang, String path, String reportName) {
4039
// Re-initialize method ids back to 0 to better diagnose disparities
@@ -66,31 +65,32 @@ private static void printAll(Map<AnalysisMethod, MethodNode> methodToNode, Strin
6665
}
6766

6867
final String vmFileName = ReportUtils.report("call tree for vm entry point", path + File.separatorChar + "reports", "csv_call_tree_vm_" + reportName, "csv",
69-
CallTreeCypher::printVMEntryPoint);
68+
CallTreeCypher::printVMEntryPoint);
7069

7170
final String methodsFileName = ReportUtils.report("call tree for methods", path + File.separatorChar + "reports", "csv_call_tree_methods_" + reportName, "csv",
72-
writer -> printMethodNodes(methodToNode.values(), writer));
71+
writer -> printMethodNodes(methodToNode.values(), writer));
7372

7473
final String virtualMethodsFileName = ReportUtils.report("call tree for virtual methods", path + File.separatorChar + "reports", "csv_call_tree_virtual_methods_" + reportName, "csv",
75-
writer -> printVirtualNodes(virtualNodes, writer));
74+
writer -> printVirtualNodes(virtualNodes, writer));
7675

7776
final String entryPointsFileName = ReportUtils.report("call tree for entry points", path + File.separatorChar + "reports", "csv_call_tree_entry_points_" + reportName, "csv",
78-
writer -> printEntryPointIds(entryPointIds, writer));
77+
writer -> printEntryPointIds(entryPointIds, writer));
7978

8079
final String directEdgesFileName = ReportUtils.report("call tree for direct edges", path + File.separatorChar + "reports", "csv_call_tree_direct_edges_" + reportName, "csv",
81-
writer -> printBciEdges(directEdges, writer));
80+
writer -> printBciEdges(directEdges, writer));
8281

8382
final String overridenByEdgesFileName = ReportUtils.report("call tree for overriden by edges", path + File.separatorChar + "reports", "csv_call_tree_override_by_edges_" + reportName, "csv",
84-
writer -> printNonBciEdges(overridenByEdges, writer));
83+
writer -> printNonBciEdges(overridenByEdges, writer));
8584

8685
final String virtualEdgesFileName = ReportUtils.report("call tree for virtual edges", path + File.separatorChar + "reports", "csv_call_tree_virtual_edges_" + reportName, "csv",
87-
writer -> printBciEdges(virtualEdges, writer));
86+
writer -> printBciEdges(virtualEdges, writer));
8887

8988
ReportUtils.report("call tree cypher", path + File.separatorChar + "reports", "cypher_call_tree_" + reportName, "cypher",
90-
writer -> printCypher(vmFileName, methodsFileName, virtualMethodsFileName, entryPointsFileName, directEdgesFileName, overridenByEdgesFileName, virtualEdgesFileName, writer));
89+
writer -> printCypher(vmFileName, methodsFileName, virtualMethodsFileName, entryPointsFileName, directEdgesFileName, overridenByEdgesFileName, virtualEdgesFileName, writer));
9190
}
9291

93-
private static void printCypher(String vmFileName, String methodsFileName, String virtualMethodsFileName, String entryPointsFileName, String directEdgesFileName, String overridenByEdgesFileName, String virtualEdgesFileName, PrintWriter writer) {
92+
private static void printCypher(String vmFileName, String methodsFileName, String virtualMethodsFileName, String entryPointsFileName, String directEdgesFileName, String overridenByEdgesFileName,
93+
String virtualEdgesFileName, PrintWriter writer) {
9494
writer.println("CREATE CONSTRAINT unique_vm_id ON (v:VM) ASSERT v.vmId IS UNIQUE;");
9595
writer.println("CREATE CONSTRAINT unique_method_id ON (m:Method) ASSERT m.methodId IS UNIQUE;");
9696
writer.println("");
@@ -136,7 +136,8 @@ private static void printVMEntryPoint(PrintWriter writer) {
136136
writer.println(convertToCSV("0", "VM"));
137137
}
138138

139-
private static void walkNodes(MethodNode methodNode, Map<Integer, Set<BciEndEdge>> directEdges, Map<Integer, Set<BciEndEdge>> virtualEdges, Map<Integer, Set<Integer>> overridenByEdges, Map<List<String>, Integer> virtualNodes, Set<MethodNode> nonVirtualNodes) {
139+
private static void walkNodes(MethodNode methodNode, Map<Integer, Set<BciEndEdge>> directEdges, Map<Integer, Set<BciEndEdge>> virtualEdges, Map<Integer, Set<Integer>> overridenByEdges,
140+
Map<List<String>, Integer> virtualNodes, Set<MethodNode> nonVirtualNodes) {
140141
for (InvokeNode invoke : methodNode.invokes) {
141142
if (invoke.isDirectInvoke) {
142143
if (invoke.callees.size() > 0) {
@@ -162,9 +163,9 @@ private static void walkNodes(MethodNode methodNode, Map<Integer, Set<BciEndEdge
162163
private static void printMethodNodes(Collection<MethodNode> methods, PrintWriter writer) {
163164
writer.println(convertToCSV("Id", "Name", "Type", "Parameters", "Return", "Display"));
164165
methods.stream()
165-
.map(CallTreeCypher::methodNodeInfo)
166-
.map(CallTreeCypher::convertToCSV)
167-
.forEach(writer::println);
166+
.map(CallTreeCypher::methodNodeInfo)
167+
.map(CallTreeCypher::convertToCSV)
168+
.forEach(writer::println);
168169
}
169170

170171
private static List<String> methodNodeInfo(MethodNode method) {
@@ -184,24 +185,24 @@ private static void addVirtualMethodEdge(int startId, InvokeNode invoke, int end
184185
private static void addDirectEdge(int nodeId, InvokeNode invoke, Node calleeNode, Map<Integer, Set<BciEndEdge>> edges, Set<MethodNode> nodes) {
185186
Set<BciEndEdge> nodeEdges = edges.computeIfAbsent(nodeId, k -> new HashSet<>());
186187
MethodNode methodNode = calleeNode instanceof MethodNode
187-
? (MethodNode) calleeNode
188-
: ((MethodNodeReference) calleeNode).methodNode;
188+
? (MethodNode) calleeNode
189+
: ((MethodNodeReference) calleeNode).methodNode;
189190
nodes.add(methodNode);
190191
nodeEdges.add(new BciEndEdge(methodNode.id, bytecodeIndexes(invoke)));
191192
}
192193

193194
private static List<Integer> bytecodeIndexes(InvokeNode node) {
194195
return Stream.of(node.sourceReferences)
195-
.map(source -> source.bci)
196-
.collect(Collectors.toList());
196+
.map(source -> source.bci)
197+
.collect(Collectors.toList());
197198
}
198199

199200
private static void printVirtualNodes(Map<List<String>, Integer> virtualNodes, PrintWriter writer) {
200201
writer.println(convertToCSV("Id", "Name", "Type", "Parameters", "Return", "Display"));
201202
virtualNodes.entrySet().stream()
202-
.map(CallTreeCypher::virtualMethodAndIdInfo)
203-
.map(CallTreeCypher::convertToCSV)
204-
.forEach(writer::println);
203+
.map(CallTreeCypher::virtualMethodAndIdInfo)
204+
.map(CallTreeCypher::convertToCSV)
205+
.forEach(writer::println);
205206
}
206207

207208
private static List<String> virtualMethodAndIdInfo(Map.Entry<List<String>, Integer> entry) {
@@ -222,61 +223,62 @@ private static void printEntryPointIds(Set<Integer> entryPoints, PrintWriter wri
222223
private static void addOverridenByEdge(int nodeId, Node calleeNode, Map<Integer, Set<Integer>> edges, Set<MethodNode> nodes) {
223224
Set<Integer> nodeEdges = edges.computeIfAbsent(nodeId, k -> new HashSet<>());
224225
MethodNode methodNode = calleeNode instanceof MethodNode
225-
? (MethodNode) calleeNode
226-
: ((MethodNodeReference) calleeNode).methodNode;
226+
? (MethodNode) calleeNode
227+
: ((MethodNodeReference) calleeNode).methodNode;
227228
nodes.add(methodNode);
228229
nodeEdges.add(methodNode.id);
229230
}
230231

231232
private static void printBciEdges(Map<Integer, Set<BciEndEdge>> edges, PrintWriter writer) {
232233
final Set<BciEdge> idEdges = edges.entrySet().stream()
233-
.flatMap(entry -> entry.getValue().stream().map(endId -> new BciEdge(entry.getKey(), endId)))
234-
.collect(Collectors.toSet());
234+
.flatMap(entry -> entry.getValue().stream().map(endId -> new BciEdge(entry.getKey(), endId)))
235+
.collect(Collectors.toSet());
235236

236237
writer.println(convertToCSV("StartId", "EndId", "BytecodeIndexes"));
237238
idEdges.stream()
238-
.map(edge -> convertToCSV(String.valueOf(edge.startId), String.valueOf(edge.endEdge.id), showBytecodeIndexes(edge.endEdge.bytecodeIndexes)))
239-
.forEach(writer::println);
239+
.map(edge -> convertToCSV(String.valueOf(edge.startId), String.valueOf(edge.endEdge.id), showBytecodeIndexes(edge.endEdge.bytecodeIndexes)))
240+
.forEach(writer::println);
240241
}
241242

242243
private static String showBytecodeIndexes(List<Integer> bytecodeIndexes) {
243244
return bytecodeIndexes.stream()
244-
.map(String::valueOf)
245-
.collect(Collectors.joining("->"));
245+
.map(String::valueOf)
246+
.collect(Collectors.joining("->"));
246247
}
247248

248249
private static void printNonBciEdges(Map<Integer, Set<Integer>> edges, PrintWriter writer) {
249250
final Set<NonBciEdge> idEdges = edges.entrySet().stream()
250-
.flatMap(entry -> entry.getValue().stream().map(endId -> new NonBciEdge(entry.getKey(), endId)))
251-
.collect(Collectors.toSet());
251+
.flatMap(entry -> entry.getValue().stream().map(endId -> new NonBciEdge(entry.getKey(), endId)))
252+
.collect(Collectors.toSet());
252253

253254
writer.println(convertToCSV("StartId", "EndId"));
254255
idEdges.stream()
255-
.map(edge -> convertToCSV(String.valueOf(edge.startId), String.valueOf(edge.endId)))
256-
.forEach(writer::println);
256+
.map(edge -> convertToCSV(String.valueOf(edge.startId), String.valueOf(edge.endId)))
257+
.forEach(writer::println);
257258
}
258259

259260
private static List<String> virtualMethodInfo(AnalysisMethod method) {
260261
return resolvedJavaMethodInfo(null, method);
261262
}
262263

263264
private static List<String> resolvedJavaMethodInfo(Integer id, ResolvedJavaMethod method) {
264-
// TODO method parameter types are opaque, but could in the future be split out and link together
265-
// e.g. each method could BELONG to a type, and a method could have PARAMETER relationships with N types
266-
// see https://neo4j.com/developer/guide-import-csv/#_converting_data_values_with_load_csv for examples
267-
final String parameters =
268-
method.getSignature().getParameterCount(false) > 0
265+
// TODO method parameter types are opaque, but could in the future be split out and link
266+
// together
267+
// e.g. each method could BELONG to a type, and a method could have PARAMETER relationships
268+
// with N types
269+
// see https://neo4j.com/developer/guide-import-csv/#_converting_data_values_with_load_csv
270+
// for examples
271+
final String parameters = method.getSignature().getParameterCount(false) > 0
269272
? method.format("%P").replace(",", "")
270273
: "empty";
271274

272275
return Arrays.asList(
273-
id == null ? null : Integer.toString(id),
274-
method.getName(),
275-
method.getDeclaringClass().toJavaName(true),
276-
parameters,
277-
method.getSignature().getReturnType(null).toJavaName(true),
278-
display(method)
279-
);
276+
id == null ? null : Integer.toString(id),
277+
method.getName(),
278+
method.getDeclaringClass().toJavaName(true),
279+
parameters,
280+
method.getSignature().getReturnType(null).toJavaName(true),
281+
display(method));
280282
}
281283

282284
private static String display(ResolvedJavaMethod method) {
@@ -335,11 +337,13 @@ private BciEndEdge(int id, List<Integer> bytecodeIndexes) {
335337

336338
@Override
337339
public boolean equals(Object o) {
338-
if (this == o) return true;
339-
if (o == null || getClass() != o.getClass()) return false;
340+
if (this == o)
341+
return true;
342+
if (o == null || getClass() != o.getClass())
343+
return false;
340344
BciEndEdge endEdge = (BciEndEdge) o;
341345
return id == endEdge.id &&
342-
bytecodeIndexes.equals(endEdge.bytecodeIndexes);
346+
bytecodeIndexes.equals(endEdge.bytecodeIndexes);
343347
}
344348

345349
@Override

0 commit comments

Comments
 (0)