CodeGraph constructCodeGraph() {
CubeData data = cubeClient.getData();
hasUpdate = false;
CodeGraphImpl result = CodeGraphImpl.make();
result.setCodeBlockMap(JsoStringMap.<CodeBlock>create());
result.setInheritanceAssociations(JsoArray.<InheritanceAssociation>create());
result.setTypeAssociations(JsoArray.<TypeAssociation>create());
result.setImportAssociations(JsoArray.<ImportAssociation>create());
CodeGraph fullGraph = data.getFullGraph();
CodeGraph workspaceTree = data.getWorkspaceTree();
CodeBlock fileTree = data.getFileTree();
CodeGraph libsSubgraph = data.getLibsSubgraph();
if (fullGraph != null) {
mergeCodeGraph(fullGraph, result);
}
if (workspaceTree != null) {
mergeCodeGraph(workspaceTree, result);
}
if (fileTree != null) {
result.getCodeBlockMap().put(fileTree.getId(), fileTree);
}
if (libsSubgraph != null) {
mergeCodeGraph(libsSubgraph, result);
}
return result;