public class org.codehaus.plexus.util.dag.TopologicalSorter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.codehaus.plexus.util.dag.TopologicalSorter
super_class: java.lang.Object
{
private static final java.lang.Integer NOT_VISITED;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer VISITING;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer VISITED;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic org.codehaus.plexus.util.dag.TopologicalSorter.NOT_VISITED:Ljava/lang/Integer;
1: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic org.codehaus.plexus.util.dag.TopologicalSorter.VISITING:Ljava/lang/Integer;
2: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic org.codehaus.plexus.util.dag.TopologicalSorter.VISITED:Ljava/lang/Integer;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/dag/TopologicalSorter;
public static java.util.List<java.lang.String> sort(org.codehaus.plexus.util.dag.DAG);
descriptor: (Lorg/codehaus/plexus/util/dag/DAG;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.dfs:(Lorg/codehaus/plexus/util/dag/DAG;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/codehaus/plexus/util/dag/DAG;
Signature: (Lorg/codehaus/plexus/util/dag/DAG;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
graph final
public static java.util.List<java.lang.String> sort(org.codehaus.plexus.util.dag.Vertex);
descriptor: (Lorg/codehaus/plexus/util/dag/Vertex;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
start local 1 1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
aload 1
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.dfsVisit:(Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;Ljava/util/List;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 vertex Lorg/codehaus/plexus/util/dag/Vertex;
1 3 1 retValue Ljava/util/List<Ljava/lang/String;>;
Signature: (Lorg/codehaus/plexus/util/dag/Vertex;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
vertex final
private static java.util.List<java.lang.String> dfs(org.codehaus.plexus.util.dag.DAG);
descriptor: (Lorg/codehaus/plexus/util/dag/DAG;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
start local 1 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: aload 0
invokevirtual org.codehaus.plexus.util.dag.DAG.getVertices:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.codehaus.plexus.util.dag.DAG java.util.List java.util.Map top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.codehaus.plexus.util.dag.Vertex
astore 3
start local 3 4: aload 3
aload 2
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.isNotVisited:(Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;)Z
ifeq 6
5: aload 3
aload 2
aload 1
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.dfsVisit:(Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;Ljava/util/List;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 graph Lorg/codehaus/plexus/util/dag/DAG;
1 8 1 retValue Ljava/util/List<Ljava/lang/String;>;
2 8 2 vertexStateMap Ljava/util/Map<Lorg/codehaus/plexus/util/dag/Vertex;Ljava/lang/Integer;>;
4 6 3 vertex Lorg/codehaus/plexus/util/dag/Vertex;
Signature: (Lorg/codehaus/plexus/util/dag/DAG;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
graph final
private static boolean isNotVisited(org.codehaus.plexus.util.dag.Vertex, java.util.Map<org.codehaus.plexus.util.dag.Vertex, java.lang.Integer>);
descriptor: (Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 2
ifnull 2
getstatic org.codehaus.plexus.util.dag.TopologicalSorter.NOT_VISITED:Ljava/lang/Integer;
aload 2
invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
ifne 2
iconst_0
ireturn
StackMap locals: java.lang.Integer
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 vertex Lorg/codehaus/plexus/util/dag/Vertex;
0 3 1 vertexStateMap Ljava/util/Map<Lorg/codehaus/plexus/util/dag/Vertex;Ljava/lang/Integer;>;
1 3 2 state Ljava/lang/Integer;
Signature: (Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map<Lorg/codehaus/plexus/util/dag/Vertex;Ljava/lang/Integer;>;)Z
MethodParameters:
Name Flags
vertex final
vertexStateMap final
private static void dfsVisit(org.codehaus.plexus.util.dag.Vertex, java.util.Map<org.codehaus.plexus.util.dag.Vertex, java.lang.Integer>, java.util.List<java.lang.String>);
descriptor: (Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getstatic org.codehaus.plexus.util.dag.TopologicalSorter.VISITING:Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual org.codehaus.plexus.util.dag.Vertex.getChildren:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.codehaus.plexus.util.dag.Vertex java.util.Map java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.codehaus.plexus.util.dag.Vertex
astore 3
start local 3 3: aload 3
aload 1
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.isNotVisited:(Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;)Z
ifeq 5
4: aload 3
aload 1
aload 2
invokestatic org.codehaus.plexus.util.dag.TopologicalSorter.dfsVisit:(Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map;Ljava/util/List;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 1
aload 0
getstatic org.codehaus.plexus.util.dag.TopologicalSorter.VISITED:Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
aload 0
invokevirtual org.codehaus.plexus.util.dag.Vertex.getLabel:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 vertex Lorg/codehaus/plexus/util/dag/Vertex;
0 9 1 vertexStateMap Ljava/util/Map<Lorg/codehaus/plexus/util/dag/Vertex;Ljava/lang/Integer;>;
0 9 2 list Ljava/util/List<Ljava/lang/String;>;
3 5 3 v Lorg/codehaus/plexus/util/dag/Vertex;
Signature: (Lorg/codehaus/plexus/util/dag/Vertex;Ljava/util/Map<Lorg/codehaus/plexus/util/dag/Vertex;Ljava/lang/Integer;>;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
vertex final
vertexStateMap final
list final
}
SourceFile: "TopologicalSorter.java"