.class public final Lkotlin/time/MonotonicTimeSource; .super Ljava/lang/Object; .source "MonoTimeSource.kt" # interfaces .implements Lkotlin/time/TimeSource$WithComparableMarks; # annotations .annotation runtime Lkotlin/Metadata; d1 = { "\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u000e\n\u0002\u0010\u000e\n\u0000\u0008\u00c1\u0002\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u001d\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\u0008\u001a\u00020\t\u00a2\u0006\u0004\u0008\n\u0010\u000bJ\u001d\u0010\u000c\u001a\u00020\t2\u0006\u0010\r\u001a\u00020\u00062\u0006\u0010\u000e\u001a\u00020\u0006\u00a2\u0006\u0004\u0008\u000f\u0010\u000bJ\u0015\u0010\u0010\u001a\u00020\t2\u0006\u0010\u0007\u001a\u00020\u0006\u00a2\u0006\u0004\u0008\u0011\u0010\u0012J\u0012\u0010\u0013\u001a\u00020\u0006H\u0016\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0014\u0010\u0015J\u0008\u0010\u0016\u001a\u00020\u0004H\u0002J\u0008\u0010\u0017\u001a\u00020\u0018H\u0016R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\u0008!\u00a8\u0006\u0019" } d2 = { "Lkotlin/time/MonotonicTimeSource;", "Lkotlin/time/TimeSource$WithComparableMarks;", "()V", "zero", "", "adjustReading", "Lkotlin/time/TimeSource$Monotonic$ValueTimeMark;", "timeMark", "duration", "Lkotlin/time/Duration;", "adjustReading-6QKq23U", "(JJ)J", "differenceBetween", "one", "another", "differenceBetween-fRLX17w", "elapsedFrom", "elapsedFrom-6eNON_k", "(J)J", "markNow", "markNow-z9LOYto", "()J", "read", "toString", "", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x9, 0x0 } xi = 0x30 .end annotation # static fields .field public static final INSTANCE:Lkotlin/time/MonotonicTimeSource; .field private static final zero:J # direct methods .method static constructor ()V .locals 2 new-instance v0, Lkotlin/time/MonotonicTimeSource; invoke-direct {v0}, Lkotlin/time/MonotonicTimeSource;->()V sput-object v0, Lkotlin/time/MonotonicTimeSource;->INSTANCE:Lkotlin/time/MonotonicTimeSource; .line 12 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v0 sput-wide v0, Lkotlin/time/MonotonicTimeSource;->zero:J return-void .end method .method private constructor ()V .locals 0 .line 10 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private final read()J .locals 4 .line 13 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v0 sget-wide v2, Lkotlin/time/MonotonicTimeSource;->zero:J sub-long/2addr v0, v2 return-wide v0 .end method # virtual methods .method public final adjustReading-6QKq23U(JJ)J .locals 0 .line 24 sget-object p0, Lkotlin/time/DurationUnit;->NANOSECONDS:Lkotlin/time/DurationUnit; invoke-static {p1, p2, p0, p3, p4}, Lkotlin/time/LongSaturatedMathKt;->saturatingAdd-NuflL3o(JLkotlin/time/DurationUnit;J)J move-result-wide p0 invoke-static {p0, p1}, Lkotlin/time/TimeSource$Monotonic$ValueTimeMark;->constructor-impl(J)J move-result-wide p0 return-wide p0 .end method .method public final differenceBetween-fRLX17w(JJ)J .locals 0 .line 21 sget-object p0, Lkotlin/time/DurationUnit;->NANOSECONDS:Lkotlin/time/DurationUnit; invoke-static {p1, p2, p3, p4, p0}, Lkotlin/time/LongSaturatedMathKt;->saturatingOriginsDiff(JJLkotlin/time/DurationUnit;)J move-result-wide p0 return-wide p0 .end method .method public final elapsedFrom-6eNON_k(J)J .locals 2 .line 18 invoke-direct {p0}, Lkotlin/time/MonotonicTimeSource;->read()J move-result-wide v0 sget-object p0, Lkotlin/time/DurationUnit;->NANOSECONDS:Lkotlin/time/DurationUnit; invoke-static {v0, v1, p1, p2, p0}, Lkotlin/time/LongSaturatedMathKt;->saturatingDiff(JJLkotlin/time/DurationUnit;)J move-result-wide p0 return-wide p0 .end method .method public bridge synthetic markNow()Lkotlin/time/ComparableTimeMark; .locals 2 .line 10 invoke-virtual {p0}, Lkotlin/time/MonotonicTimeSource;->markNow-z9LOYto()J move-result-wide v0 invoke-static {v0, v1}, Lkotlin/time/TimeSource$Monotonic$ValueTimeMark;->box-impl(J)Lkotlin/time/TimeSource$Monotonic$ValueTimeMark; move-result-object p0 return-object p0 .end method .method public bridge synthetic markNow()Lkotlin/time/TimeMark; .locals 2 .line 10 invoke-virtual {p0}, Lkotlin/time/MonotonicTimeSource;->markNow-z9LOYto()J move-result-wide v0 invoke-static {v0, v1}, Lkotlin/time/TimeSource$Monotonic$ValueTimeMark;->box-impl(J)Lkotlin/time/TimeSource$Monotonic$ValueTimeMark; move-result-object p0 return-object p0 .end method .method public markNow-z9LOYto()J .locals 2 .line 16 invoke-direct {p0}, Lkotlin/time/MonotonicTimeSource;->read()J move-result-wide v0 invoke-static {v0, v1}, Lkotlin/time/TimeSource$Monotonic$ValueTimeMark;->constructor-impl(J)J move-result-wide v0 return-wide v0 .end method .method public toString()Ljava/lang/String; .locals 0 const-string p0, "TimeSource(System.nanoTime())" return-object p0 .end method