.class public final Lkotlin/time/MeasureTimeKt; .super Ljava/lang/Object; .source "measureTime.kt" # annotations .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nmeasureTime.kt\nKotlin\n*S Kotlin\n*F\n+ 1 measureTime.kt\nkotlin/time/MeasureTimeKt\n*L\n1#1,86:1\n33#1,7:87\n78#1,7:94\n*S KotlinDebug\n*F\n+ 1 measureTime.kt\nkotlin/time/MeasureTimeKt\n*L\n21#1:87,7\n66#1:94,7\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\"\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u001a/\u0010\u0000\u001a\u00020\u00012\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u00020\u00040\u0003H\u0087\u0008\u00f8\u0001\u0000\u00f8\u0001\u0001\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001\u00a2\u0006\u0002\u0010\u0005\u001a3\u0010\u0006\u001a\u0008\u0012\u0004\u0012\u0002H\u00080\u0007\"\u0004\u0008\u0000\u0010\u00082\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u0002H\u00080\u0003H\u0087\u0008\u00f8\u0001\u0001\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001\u001a3\u0010\u0000\u001a\u00020\u0001*\u00020\t2\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u00020\u00040\u0003H\u0087\u0008\u00f8\u0001\u0000\u00f8\u0001\u0001\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001\u00a2\u0006\u0002\u0010\n\u001a7\u0010\u0006\u001a\u0008\u0012\u0004\u0012\u0002H\u00080\u0007\"\u0004\u0008\u0000\u0010\u0008*\u00020\t2\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u0002H\u00080\u0003H\u0087\u0008\u00f8\u0001\u0001\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001\u0082\u0002\u000b\n\u0002\u0008\u0019\n\u0005\u0008\u009920\u0001\u00a8\u0006\u000b" } d2 = { "measureTime", "Lkotlin/time/Duration;", "block", "Lkotlin/Function0;", "", "(Lkotlin/jvm/functions/Function0;)J", "measureTimedValue", "Lkotlin/time/TimedValue;", "T", "Lkotlin/time/TimeSource;", "(Lkotlin/time/TimeSource;Lkotlin/jvm/functions/Function0;)J", "kotlin-stdlib" } k = 0x2 mv = { 0x1, 0x5, 0x1 } .end annotation # direct methods .method public static final measureTime(Lkotlin/jvm/functions/Function0;)J .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function0<", "Lkotlin/Unit;", ">;)J" } .end annotation const-string v0, "block" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 21 sget-object v0, Lkotlin/time/TimeSource$Monotonic;->INSTANCE:Lkotlin/time/TimeSource$Monotonic; check-cast v0, Lkotlin/time/TimeSource; .line 91 invoke-interface {v0}, Lkotlin/time/TimeSource;->markNow()Lkotlin/time/TimeMark; move-result-object v0 .line 92 invoke-interface {p0}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; .line 93 invoke-virtual {v0}, Lkotlin/time/TimeMark;->elapsedNow-UwyO8pc()J move-result-wide v0 return-wide v0 .end method .method public static final measureTime(Lkotlin/time/TimeSource;Lkotlin/jvm/functions/Function0;)J .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/time/TimeSource;", "Lkotlin/jvm/functions/Function0<", "Lkotlin/Unit;", ">;)J" } .end annotation const-string v0, "$this$measureTime" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "block" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 37 invoke-interface {p0}, Lkotlin/time/TimeSource;->markNow()Lkotlin/time/TimeMark; move-result-object p0 .line 38 invoke-interface {p1}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; .line 39 invoke-virtual {p0}, Lkotlin/time/TimeMark;->elapsedNow-UwyO8pc()J move-result-wide p0 return-wide p0 .end method .method public static final measureTimedValue(Lkotlin/jvm/functions/Function0;)Lkotlin/time/TimedValue; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function0<", "+TT;>;)", "Lkotlin/time/TimedValue<", "TT;>;" } .end annotation const-string v0, "block" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 66 sget-object v0, Lkotlin/time/TimeSource$Monotonic;->INSTANCE:Lkotlin/time/TimeSource$Monotonic; check-cast v0, Lkotlin/time/TimeSource; .line 98 invoke-interface {v0}, Lkotlin/time/TimeSource;->markNow()Lkotlin/time/TimeMark; move-result-object v0 .line 99 invoke-interface {p0}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object p0 .line 100 new-instance v1, Lkotlin/time/TimedValue; invoke-virtual {v0}, Lkotlin/time/TimeMark;->elapsedNow-UwyO8pc()J move-result-wide v2 const/4 v0, 0x0 invoke-direct {v1, p0, v2, v3, v0}, Lkotlin/time/TimedValue;->(Ljava/lang/Object;JLkotlin/jvm/internal/DefaultConstructorMarker;)V return-object v1 .end method .method public static final measureTimedValue(Lkotlin/time/TimeSource;Lkotlin/jvm/functions/Function0;)Lkotlin/time/TimedValue; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/time/TimeSource;", "Lkotlin/jvm/functions/Function0<", "+TT;>;)", "Lkotlin/time/TimedValue<", "TT;>;" } .end annotation const-string v0, "$this$measureTimedValue" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "block" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 82 invoke-interface {p0}, Lkotlin/time/TimeSource;->markNow()Lkotlin/time/TimeMark; move-result-object p0 .line 83 invoke-interface {p1}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object p1 .line 84 new-instance v0, Lkotlin/time/TimedValue; invoke-virtual {p0}, Lkotlin/time/TimeMark;->elapsedNow-UwyO8pc()J move-result-wide v1 const/4 p0, 0x0 invoke-direct {v0, p1, v1, v2, p0}, Lkotlin/time/TimedValue;->(Ljava/lang/Object;JLkotlin/jvm/internal/DefaultConstructorMarker;)V return-object v0 .end method