.class public Lkotlin/jvm/internal/Reflection; .super Ljava/lang/Object; .source "Reflection.java" # static fields .field private static final EMPTY_K_CLASS_ARRAY:[Lkotlin/reflect/KClass; .field static final REFLECTION_NOT_AVAILABLE:Ljava/lang/String; = " (Kotlin reflection is not available)" .field private static final factory:Lkotlin/jvm/internal/ReflectionFactory; # direct methods .method static constructor ()V .registers 2 const/4 v0, 0x0 .line 26 :try_start_1 const-string v1, "kotlin.reflect.jvm.internal.ReflectionFactoryImpl" invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v1 .line 27 invoke-virtual {v1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v1 check-cast v1, Lkotlin/jvm/internal/ReflectionFactory; :try_end_d .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_d} :catch_e .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_d} :catch_e .catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_d} :catch_e .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_d} :catch_e move-object v0, v1 :catch_e if-eqz v0, :cond_11 goto :goto_16 .line 34 :cond_11 new-instance v0, Lkotlin/jvm/internal/ReflectionFactory; invoke-direct {v0}, Lkotlin/jvm/internal/ReflectionFactory;->()V :goto_16 sput-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; const/4 v0, 0x0 .line 39 new-array v0, v0, [Lkotlin/reflect/KClass; sput-object v0, Lkotlin/jvm/internal/Reflection;->EMPTY_K_CLASS_ARRAY:[Lkotlin/reflect/KClass; return-void .end method .method public constructor ()V .registers 1 .line 20 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static createKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; .registers 2 .line 42 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->createKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 return-object p0 .end method .method public static createKotlinClass(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KClass; .registers 3 .line 46 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0, p1}, Lkotlin/jvm/internal/ReflectionFactory;->createKotlinClass(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KClass; move-result-object p0 return-object p0 .end method .method public static function(Lkotlin/jvm/internal/FunctionReference;)Lkotlin/reflect/KFunction; .registers 2 .line 89 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->function(Lkotlin/jvm/internal/FunctionReference;)Lkotlin/reflect/KFunction; move-result-object p0 return-object p0 .end method .method public static getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; .registers 2 .line 59 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 return-object p0 .end method .method public static getOrCreateKotlinClass(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KClass; .registers 3 .line 63 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0, p1}, Lkotlin/jvm/internal/ReflectionFactory;->getOrCreateKotlinClass(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KClass; move-result-object p0 return-object p0 .end method .method public static getOrCreateKotlinClasses([Ljava/lang/Class;)[Lkotlin/reflect/KClass; .registers 5 .line 67 array-length v0, p0 if-nez v0, :cond_6 .line 68 sget-object p0, Lkotlin/jvm/internal/Reflection;->EMPTY_K_CLASS_ARRAY:[Lkotlin/reflect/KClass; return-object p0 .line 69 :cond_6 new-array v1, v0, [Lkotlin/reflect/KClass; const/4 v2, 0x0 :goto_9 if-ge v2, v0, :cond_16 .line 71 aget-object v3, p0, v2 invoke-static {v3}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object v3 aput-object v3, v1, v2 add-int/lit8 v2, v2, 0x1 goto :goto_9 :cond_16 return-object v1 .end method .method public static getOrCreateKotlinPackage(Ljava/lang/Class;)Lkotlin/reflect/KDeclarationContainer; .registers 3 .line 51 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; const-string v1, "" invoke-virtual {v0, p0, v1}, Lkotlin/jvm/internal/ReflectionFactory;->getOrCreateKotlinPackage(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KDeclarationContainer; move-result-object p0 return-object p0 .end method .method public static getOrCreateKotlinPackage(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KDeclarationContainer; .registers 3 .line 55 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0, p1}, Lkotlin/jvm/internal/ReflectionFactory;->getOrCreateKotlinPackage(Ljava/lang/Class;Ljava/lang/String;)Lkotlin/reflect/KDeclarationContainer; move-result-object p0 return-object p0 .end method .method public static mutableProperty0(Lkotlin/jvm/internal/MutablePropertyReference0;)Lkotlin/reflect/KMutableProperty0; .registers 2 .line 99 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->mutableProperty0(Lkotlin/jvm/internal/MutablePropertyReference0;)Lkotlin/reflect/KMutableProperty0; move-result-object p0 return-object p0 .end method .method public static mutableProperty1(Lkotlin/jvm/internal/MutablePropertyReference1;)Lkotlin/reflect/KMutableProperty1; .registers 2 .line 107 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->mutableProperty1(Lkotlin/jvm/internal/MutablePropertyReference1;)Lkotlin/reflect/KMutableProperty1; move-result-object p0 return-object p0 .end method .method public static mutableProperty2(Lkotlin/jvm/internal/MutablePropertyReference2;)Lkotlin/reflect/KMutableProperty2; .registers 2 .line 115 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->mutableProperty2(Lkotlin/jvm/internal/MutablePropertyReference2;)Lkotlin/reflect/KMutableProperty2; move-result-object p0 return-object p0 .end method .method public static nullableTypeOf(Ljava/lang/Class;)Lkotlin/reflect/KType; .registers 4 .line 152 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v1 const/4 v2, 0x1 invoke-virtual {v0, p0, v1, v2}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static nullableTypeOf(Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 4 .line 157 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; move-result-object p1 const/4 v1, 0x1 invoke-virtual {v0, p0, p1, v1}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static nullableTypeOf(Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 6 .line 162 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 const/4 v1, 0x2 new-array v1, v1, [Lkotlin/reflect/KTypeProjection; const/4 v2, 0x0 aput-object p1, v1, v2 const/4 p1, 0x1 aput-object p2, v1, p1 invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object p2 invoke-virtual {v0, p0, p2, p1}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static varargs nullableTypeOf(Ljava/lang/Class;[Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 4 .line 167 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {p1}, Lkotlin/collections/ArraysKt;->toList([Ljava/lang/Object;)Ljava/util/List; move-result-object p1 const/4 v1, 0x1 invoke-virtual {v0, p0, p1, v1}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static nullableTypeOf(Lkotlin/reflect/KClassifier;)Lkotlin/reflect/KType; .registers 4 .line 147 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v1 const/4 v2, 0x1 invoke-virtual {v0, p0, v1, v2}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static property0(Lkotlin/jvm/internal/PropertyReference0;)Lkotlin/reflect/KProperty0; .registers 2 .line 95 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->property0(Lkotlin/jvm/internal/PropertyReference0;)Lkotlin/reflect/KProperty0; move-result-object p0 return-object p0 .end method .method public static property1(Lkotlin/jvm/internal/PropertyReference1;)Lkotlin/reflect/KProperty1; .registers 2 .line 103 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->property1(Lkotlin/jvm/internal/PropertyReference1;)Lkotlin/reflect/KProperty1; move-result-object p0 return-object p0 .end method .method public static property2(Lkotlin/jvm/internal/PropertyReference2;)Lkotlin/reflect/KProperty2; .registers 2 .line 111 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->property2(Lkotlin/jvm/internal/PropertyReference2;)Lkotlin/reflect/KProperty2; move-result-object p0 return-object p0 .end method .method public static renderLambdaToString(Lkotlin/jvm/internal/FunctionBase;)Ljava/lang/String; .registers 2 .line 83 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->renderLambdaToString(Lkotlin/jvm/internal/FunctionBase;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static renderLambdaToString(Lkotlin/jvm/internal/Lambda;)Ljava/lang/String; .registers 2 .line 78 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0}, Lkotlin/jvm/internal/ReflectionFactory;->renderLambdaToString(Lkotlin/jvm/internal/Lambda;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static setUpperBounds(Lkotlin/reflect/KTypeParameter;Lkotlin/reflect/KType;)V .registers 3 .line 179 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; move-result-object p1 invoke-virtual {v0, p0, p1}, Lkotlin/jvm/internal/ReflectionFactory;->setUpperBounds(Lkotlin/reflect/KTypeParameter;Ljava/util/List;)V return-void .end method .method public static varargs setUpperBounds(Lkotlin/reflect/KTypeParameter;[Lkotlin/reflect/KType;)V .registers 3 .line 184 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p1}, Lkotlin/collections/ArraysKt;->toList([Ljava/lang/Object;)Ljava/util/List; move-result-object p1 invoke-virtual {v0, p0, p1}, Lkotlin/jvm/internal/ReflectionFactory;->setUpperBounds(Lkotlin/reflect/KTypeParameter;Ljava/util/List;)V return-void .end method .method public static typeOf(Ljava/lang/Class;)Lkotlin/reflect/KType; .registers 4 .line 127 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v1 const/4 v2, 0x0 invoke-virtual {v0, p0, v1, v2}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static typeOf(Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 4 .line 132 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; move-result-object p1 const/4 v1, 0x0 invoke-virtual {v0, p0, p1, v1}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static typeOf(Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 6 .line 137 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 const/4 v1, 0x2 new-array v1, v1, [Lkotlin/reflect/KTypeProjection; const/4 v2, 0x0 aput-object p1, v1, v2 const/4 p1, 0x1 aput-object p2, v1, p1 invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object p1 invoke-virtual {v0, p0, p1, v2}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static varargs typeOf(Ljava/lang/Class;[Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType; .registers 4 .line 142 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {p0}, Lkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/KClass; move-result-object p0 invoke-static {p1}, Lkotlin/collections/ArraysKt;->toList([Ljava/lang/Object;)Ljava/util/List; move-result-object p1 const/4 v1, 0x0 invoke-virtual {v0, p0, p1, v1}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static typeOf(Lkotlin/reflect/KClassifier;)Lkotlin/reflect/KType; .registers 4 .line 122 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v1 const/4 v2, 0x0 invoke-virtual {v0, p0, v1, v2}, Lkotlin/jvm/internal/ReflectionFactory;->typeOf(Lkotlin/reflect/KClassifier;Ljava/util/List;Z)Lkotlin/reflect/KType; move-result-object p0 return-object p0 .end method .method public static typeParameter(Ljava/lang/Object;Ljava/lang/String;Lkotlin/reflect/KVariance;Z)Lkotlin/reflect/KTypeParameter; .registers 5 .line 174 sget-object v0, Lkotlin/jvm/internal/Reflection;->factory:Lkotlin/jvm/internal/ReflectionFactory; invoke-virtual {v0, p0, p1, p2, p3}, Lkotlin/jvm/internal/ReflectionFactory;->typeParameter(Ljava/lang/Object;Ljava/lang/String;Lkotlin/reflect/KVariance;Z)Lkotlin/reflect/KTypeParameter; move-result-object p0 return-object p0 .end method