Cleanup (migrates graph usages to lighter API; drops unneeded caching)

This commit is contained in:
Roman Shevchenko
2016-11-21 12:34:38 +01:00
parent e5df7f59ab
commit 028fab11f4
2 changed files with 7 additions and 6 deletions
@@ -16,9 +16,10 @@
package org.jetbrains.jps.builders.impl;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.graph.CachingSemiGraph;
import com.intellij.util.graph.DFSTBuilder;
import com.intellij.util.graph.Graph;
import com.intellij.util.graph.GraphGenerator;
import com.intellij.util.graph.InboundSemiGraph;
import gnu.trove.THashMap;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.builders.*;
@@ -81,7 +82,7 @@ public class BuildTargetIndexImpl implements BuildTargetIndex {
myDependencies.put(target, realDependencies);
}
GraphGenerator<BuildTarget<?>> graph = GraphGenerator.create(CachingSemiGraph.create(new GraphGenerator.SemiGraph<BuildTarget<?>>() {
Graph<BuildTarget<?>> graph = GraphGenerator.generate(new InboundSemiGraph<BuildTarget<?>>() {
@Override
public Collection<BuildTarget<?>> getNodes() {
return realTargets;
@@ -91,7 +92,7 @@ public class BuildTargetIndexImpl implements BuildTargetIndex {
public Iterator<BuildTarget<?>> getIn(BuildTarget<?> n) {
return myDependencies.get(n).iterator();
}
}));
});
DFSTBuilder<BuildTarget<?>> builder = new DFSTBuilder<BuildTarget<?>>(graph);
Collection<Collection<BuildTarget<?>>> components = builder.getComponents();
@@ -34,9 +34,9 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.search.scope.packageSet.NamedScope;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Consumer;
import com.intellij.util.graph.CachingSemiGraph;
import com.intellij.util.graph.DFSTBuilder;
import com.intellij.util.graph.GraphGenerator;
import com.intellij.util.graph.InboundSemiGraph;
import com.intellij.util.xmlb.annotations.Attribute;
import com.intellij.util.xmlb.annotations.Tag;
import com.intellij.util.xmlb.annotations.Transient;
@@ -536,7 +536,7 @@ public class InspectionProfileImpl extends NewInspectionProfile {
addTool(project, toolWrapper, dependencies);
}
DFSTBuilder<String> builder = new DFSTBuilder<>(GraphGenerator.create(CachingSemiGraph.create(new GraphGenerator.SemiGraph<String>() {
DFSTBuilder<String> builder = new DFSTBuilder<>(GraphGenerator.generate(new InboundSemiGraph<String>() {
@Override
public Collection<String> getNodes() {
return dependencies.keySet();
@@ -546,7 +546,7 @@ public class InspectionProfileImpl extends NewInspectionProfile {
public Iterator<String> getIn(String n) {
return dependencies.get(n).iterator();
}
})));
}));
if (builder.isAcyclic()) {
myScopesOrder = ArrayUtil.toStringArray(builder.getSortedNodes());
}