.class public Lcom/google/common/graph/ImmutableGraph; .super Lcom/google/common/graph/ForwardingGraph; .source "ImmutableGraph.java" # annotations .annotation runtime Lcom/google/common/graph/ElementTypesAreNonnullByDefault; .end annotation .annotation runtime Lcom/google/errorprone/annotations/Immutable; containerOf = { "N" } .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/graph/ImmutableGraph$Builder; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Lcom/google/common/graph/ForwardingGraph<", "TN;>;" } .end annotation # instance fields .field private final backingGraph:Lcom/google/common/graph/BaseGraph; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/graph/BaseGraph<", "TN;>;" } .end annotation .end field # direct methods .method constructor (Lcom/google/common/graph/BaseGraph;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/graph/BaseGraph<", "TN;>;)V" } .end annotation .line 53 invoke-direct {p0}, Lcom/google/common/graph/ForwardingGraph;->()V iput-object p1, p0, Lcom/google/common/graph/ImmutableGraph;->backingGraph:Lcom/google/common/graph/BaseGraph; return-void .end method .method private static connectionsOf(Lcom/google/common/graph/Graph;Ljava/lang/Object;)Lcom/google/common/graph/GraphConnections; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/graph/Graph<", "TN;>;TN;)", "Lcom/google/common/graph/GraphConnections<", "TN;", "Lcom/google/common/graph/GraphConstants$Presence;", ">;" } .end annotation .line 95 sget-object v0, Lcom/google/common/graph/GraphConstants$Presence;->EDGE_EXISTS:Lcom/google/common/graph/GraphConstants$Presence; .line 96 invoke-static {v0}, Lcom/google/common/base/Functions;->constant(Ljava/lang/Object;)Lcom/google/common/base/Function; move-result-object v0 .line 97 invoke-interface {p0}, Lcom/google/common/graph/Graph;->isDirected()Z move-result v1 if-eqz v1, :cond_0 .line 98 invoke-interface {p0, p1}, Lcom/google/common/graph/Graph;->incidentEdges(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 invoke-static {p1, p0, v0}, Lcom/google/common/graph/DirectedGraphConnections;->ofImmutable(Ljava/lang/Object;Ljava/lang/Iterable;Lcom/google/common/base/Function;)Lcom/google/common/graph/DirectedGraphConnections; move-result-object p0 goto :goto_0 .line 100 :cond_0 invoke-interface {p0, p1}, Lcom/google/common/graph/Graph;->adjacentNodes(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 invoke-static {p0, v0}, Lcom/google/common/collect/Maps;->asMap(Ljava/util/Set;Lcom/google/common/base/Function;)Ljava/util/Map; move-result-object p0 .line 99 invoke-static {p0}, Lcom/google/common/graph/UndirectedGraphConnections;->ofImmutable(Ljava/util/Map;)Lcom/google/common/graph/UndirectedGraphConnections; move-result-object p0 :goto_0 return-object p0 .end method .method public static copyOf(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/ImmutableGraph; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/graph/Graph<", "TN;>;)", "Lcom/google/common/graph/ImmutableGraph<", "TN;>;" } .end annotation .line 59 instance-of v0, p0, Lcom/google/common/graph/ImmutableGraph; if-eqz v0, :cond_0 .line 60 check-cast p0, Lcom/google/common/graph/ImmutableGraph; goto :goto_0 .line 61 :cond_0 new-instance v0, Lcom/google/common/graph/ImmutableGraph; new-instance v1, Lcom/google/common/graph/StandardValueGraph; .line 63 invoke-static {p0}, Lcom/google/common/graph/GraphBuilder;->from(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder; move-result-object v2 invoke-static {p0}, Lcom/google/common/graph/ImmutableGraph;->getNodeConnections(Lcom/google/common/graph/Graph;)Lcom/google/common/collect/ImmutableMap; move-result-object v3 invoke-interface {p0}, Lcom/google/common/graph/Graph;->edges()Ljava/util/Set; move-result-object p0 invoke-interface {p0}, Ljava/util/Set;->size()I move-result p0 int-to-long v4, p0 invoke-direct {v1, v2, v3, v4, v5}, Lcom/google/common/graph/StandardValueGraph;->(Lcom/google/common/graph/AbstractGraphBuilder;Ljava/util/Map;J)V invoke-direct {v0, v1}, Lcom/google/common/graph/ImmutableGraph;->(Lcom/google/common/graph/BaseGraph;)V move-object p0, v0 :goto_0 return-object p0 .end method .method public static copyOf(Lcom/google/common/graph/ImmutableGraph;)Lcom/google/common/graph/ImmutableGraph; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/graph/ImmutableGraph<", "TN;>;)", "Lcom/google/common/graph/ImmutableGraph<", "TN;>;" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 73 invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/google/common/graph/ImmutableGraph; return-object p0 .end method .method private static getNodeConnections(Lcom/google/common/graph/Graph;)Lcom/google/common/collect/ImmutableMap; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/graph/Graph<", "TN;>;)", "Lcom/google/common/collect/ImmutableMap<", "TN;", "Lcom/google/common/graph/GraphConnections<", "TN;", "Lcom/google/common/graph/GraphConstants$Presence;", ">;>;" } .end annotation .line 86 invoke-static {}, Lcom/google/common/collect/ImmutableMap;->builder()Lcom/google/common/collect/ImmutableMap$Builder; move-result-object v0 .line 87 invoke-interface {p0}, Lcom/google/common/graph/Graph;->nodes()Ljava/util/Set; move-result-object v1 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 .line 88 invoke-static {p0, v2}, Lcom/google/common/graph/ImmutableGraph;->connectionsOf(Lcom/google/common/graph/Graph;Ljava/lang/Object;)Lcom/google/common/graph/GraphConnections; move-result-object v3 invoke-virtual {v0, v2, v3}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder; goto :goto_0 .line 90 :cond_0 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableMap$Builder;->buildOrThrow()Lcom/google/common/collect/ImmutableMap; move-result-object p0 return-object p0 .end method # virtual methods .method public bridge synthetic adjacentNodes(Ljava/lang/Object;)Ljava/util/Set; .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->adjacentNodes(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public bridge synthetic allowsSelfLoops()Z .locals 0 .line 46 invoke-super {p0}, Lcom/google/common/graph/ForwardingGraph;->allowsSelfLoops()Z move-result p0 return p0 .end method .method public bridge synthetic degree(Ljava/lang/Object;)I .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->degree(Ljava/lang/Object;)I move-result p0 return p0 .end method .method delegate()Lcom/google/common/graph/BaseGraph; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/graph/BaseGraph<", "TN;>;" } .end annotation iget-object p0, p0, Lcom/google/common/graph/ImmutableGraph;->backingGraph:Lcom/google/common/graph/BaseGraph; return-object p0 .end method .method public bridge synthetic hasEdgeConnecting(Lcom/google/common/graph/EndpointPair;)Z .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->hasEdgeConnecting(Lcom/google/common/graph/EndpointPair;)Z move-result p0 return p0 .end method .method public bridge synthetic hasEdgeConnecting(Ljava/lang/Object;Ljava/lang/Object;)Z .locals 0 .line 46 invoke-super {p0, p1, p2}, Lcom/google/common/graph/ForwardingGraph;->hasEdgeConnecting(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p0 return p0 .end method .method public bridge synthetic inDegree(Ljava/lang/Object;)I .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->inDegree(Ljava/lang/Object;)I move-result p0 return p0 .end method .method public incidentEdgeOrder()Lcom/google/common/graph/ElementOrder; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/graph/ElementOrder<", "TN;>;" } .end annotation .line 78 invoke-static {}, Lcom/google/common/graph/ElementOrder;->stable()Lcom/google/common/graph/ElementOrder; move-result-object p0 return-object p0 .end method .method public bridge synthetic incidentEdges(Ljava/lang/Object;)Ljava/util/Set; .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->incidentEdges(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public bridge synthetic isDirected()Z .locals 0 .line 46 invoke-super {p0}, Lcom/google/common/graph/ForwardingGraph;->isDirected()Z move-result p0 return p0 .end method .method public bridge synthetic nodeOrder()Lcom/google/common/graph/ElementOrder; .locals 0 .line 46 invoke-super {p0}, Lcom/google/common/graph/ForwardingGraph;->nodeOrder()Lcom/google/common/graph/ElementOrder; move-result-object p0 return-object p0 .end method .method public bridge synthetic nodes()Ljava/util/Set; .locals 0 .line 46 invoke-super {p0}, Lcom/google/common/graph/ForwardingGraph;->nodes()Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public bridge synthetic outDegree(Ljava/lang/Object;)I .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->outDegree(Ljava/lang/Object;)I move-result p0 return p0 .end method .method public bridge synthetic predecessors(Ljava/lang/Object;)Ljava/util/Set; .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->predecessors(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public bridge synthetic successors(Ljava/lang/Object;)Ljava/util/Set; .locals 0 .line 46 invoke-super {p0, p1}, Lcom/google/common/graph/ForwardingGraph;->successors(Ljava/lang/Object;)Ljava/util/Set; move-result-object p0 return-object p0 .end method