granularity level: instruction

		.class public final Lr0/b;
.super Ljava/lang/Object;
.source "SourceFile"


.field public final a:Ljava/lang/String;
.field public final b:Ljava/util/Set;
.field public final c:Ljava/util/Set;
.field public final d:I
.field public final e:I
.field public final f:Lr0/e;
.field public final g:Ljava/util/Set;


.method public constructor <init>(Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;IILr0/e;Ljava/util/Set;)V
	.locals 0

	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	iput-object p1, p0, Lr0/b;->a:Ljava/lang/String;
	invoke-static {p2}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
	move-result-object p1
	iput-object p1, p0, Lr0/b;->b:Ljava/util/Set;
	invoke-static {p3}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
	move-result-object p1
	iput-object p1, p0, Lr0/b;->c:Ljava/util/Set;
	iput p4, p0, Lr0/b;->d:I
	iput p5, p0, Lr0/b;->e:I
	iput-object p6, p0, Lr0/b;->f:Lr0/e;
	invoke-static {p7}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
	move-result-object p1
	iput-object p1, p0, Lr0/b;->g:Ljava/util/Set;
	return-void
.end method

.method public static varargs a(Ljava/lang/Object;Ljava/lang/Class;[Ljava/lang/Class;)Lr0/b;
	.locals 8

	const/4 v1, 0x0
	new-instance v0, Ljava/util/HashSet;
	invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
	new-instance v2, Ljava/util/HashSet;
	invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
	const/4 v5, 0x0
	new-instance v7, Ljava/util/HashSet;
	invoke-direct {v7}, Ljava/util/HashSet;-><init>()V
	invoke-virtual {v0, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
	array-length p1, p2
	const/4 v3, 0x0
	:goto_0
	if-ge v3, p1, :cond_1
	aget-object v4, p2, v3
	if-eqz v4, :cond_0
	add-int/lit8 v3, v3, 0x1
	goto :goto_0
	:cond_0
	new-instance p0, Ljava/lang/NullPointerException;
	const-string p1, "Null interface"
	invoke-direct {p0, p1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
	throw p0
	:cond_1
	invoke-static {v0, p2}, Ljava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z
	new-instance v6, Lj/b;
	const/4 p1, 0x0
	invoke-direct {v6, p1, p0}, Lj/b;-><init>(ILjava/lang/Object;)V
	new-instance p0, Lr0/b;
	new-instance p1, Ljava/util/HashSet;
	invoke-direct {p1, v0}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
	new-instance v3, Ljava/util/HashSet;
	invoke-direct {v3, v2}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
	move-object v0, p0
	move-object v2, p1
	move v4, v5
	invoke-direct/range {v0 .. v7}, Lr0/b;-><init>(Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;IILr0/e;Ljava/util/Set;)V
	return-object p0
.end method

.method public final toString()Ljava/lang/String;
	.locals 2

	new-instance v0, Ljava/lang/StringBuilder;
	const-string v1, "Component<"
	invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
	iget-object v1, p0, Lr0/b;->b:Ljava/util/Set;
	invoke-interface {v1}, Ljava/util/Set;->toArray()[Ljava/lang/Object;
	move-result-object v1
	invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
	move-result-object v1
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	const-string v1, ">{"
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	iget v1, p0, Lr0/b;->d:I
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
	const-string v1, ", type="
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	iget v1, p0, Lr0/b;->e:I
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
	const-string v1, ", deps="
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	iget-object v1, p0, Lr0/b;->c:Ljava/util/Set;
	invoke-interface {v1}, Ljava/util/Set;->toArray()[Ljava/lang/Object;
	move-result-object v1
	invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
	move-result-object v1
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	const-string v1, "}"
	invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
	invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
	move-result-object v0
	return-object v0
.end method