117 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package kotlin.ranges;
 | |
| 
 | |
| import java.util.Iterator;
 | |
| import kotlin.Metadata;
 | |
| import kotlin.internal.ProgressionUtilKt;
 | |
| import kotlin.jvm.internal.DefaultConstructorMarker;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| import kotlin.jvm.internal.markers.KMappedMarker;
 | |
| 
 | |
| /* compiled from: Progressions.kt */
 | |
| @Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0010\f\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\t\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0016\u0018\u0000 \u00192\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0019B\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u0011\u001a\u0004\u0018\u00010\u0012H\u0096\u0002J\b\u0010\u0013\u001a\u00020\u0006H\u0016J\b\u0010\u0014\u001a\u00020\u0010H\u0016J\t\u0010\u0015\u001a\u00020\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u0011\u0010\b\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\nR\u0011\u0010\u000b\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\r\u0010\u000e¨\u0006\u001a"}, d2 = {"Lkotlin/ranges/CharProgression;", "", "", "start", "endInclusive", "step", "", "(CCI)V", "first", "getFirst", "()C", "last", "getLast", "getStep", "()I", "equals", "", "other", "", "hashCode", "isEmpty", "iterator", "Lkotlin/collections/CharIterator;", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
| /* loaded from: classes.dex */
 | |
| public class CharProgression implements Iterable<Character>, KMappedMarker {
 | |
| 
 | |
|     /* renamed from: Companion, reason: from kotlin metadata */
 | |
|     public static final Companion INSTANCE = new Companion(null);
 | |
|     private final char first;
 | |
|     private final char last;
 | |
|     private final int step;
 | |
| 
 | |
|     public final char getFirst() {
 | |
|         return this.first;
 | |
|     }
 | |
| 
 | |
|     public final char getLast() {
 | |
|         return this.last;
 | |
|     }
 | |
| 
 | |
|     public final int getStep() {
 | |
|         return this.step;
 | |
|     }
 | |
| 
 | |
|     public CharProgression(char c, char c2, int i) {
 | |
|         if (i == 0) {
 | |
|             throw new IllegalArgumentException("Step must be non-zero.");
 | |
|         }
 | |
|         if (i == Integer.MIN_VALUE) {
 | |
|             throw new IllegalArgumentException("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");
 | |
|         }
 | |
|         this.first = c;
 | |
|         this.last = (char) ProgressionUtilKt.getProgressionLastElement((int) c, (int) c2, i);
 | |
|         this.step = i;
 | |
|     }
 | |
| 
 | |
|     @Override // java.lang.Iterable
 | |
|     public Iterator<Character> iterator() {
 | |
|         return new CharProgressionIterator(this.first, this.last, this.step);
 | |
|     }
 | |
| 
 | |
|     public boolean isEmpty() {
 | |
|         if (this.step > 0) {
 | |
|             if (Intrinsics.compare((int) this.first, (int) this.last) > 0) {
 | |
|                 return true;
 | |
|             }
 | |
|         } else if (Intrinsics.compare((int) this.first, (int) this.last) < 0) {
 | |
|             return true;
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public boolean equals(Object other) {
 | |
|         if (other instanceof CharProgression) {
 | |
|             if (!isEmpty() || !((CharProgression) other).isEmpty()) {
 | |
|                 CharProgression charProgression = (CharProgression) other;
 | |
|                 if (this.first != charProgression.first || this.last != charProgression.last || this.step != charProgression.step) {
 | |
|                 }
 | |
|             }
 | |
|             return true;
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public int hashCode() {
 | |
|         if (isEmpty()) {
 | |
|             return -1;
 | |
|         }
 | |
|         return (((this.first * 31) + this.last) * 31) + this.step;
 | |
|     }
 | |
| 
 | |
|     public String toString() {
 | |
|         StringBuilder sb;
 | |
|         int i;
 | |
|         if (this.step > 0) {
 | |
|             sb = new StringBuilder();
 | |
|             sb.append(this.first);
 | |
|             sb.append("..");
 | |
|             sb.append(this.last);
 | |
|             sb.append(" step ");
 | |
|             i = this.step;
 | |
|         } else {
 | |
|             sb = new StringBuilder();
 | |
|             sb.append(this.first);
 | |
|             sb.append(" downTo ");
 | |
|             sb.append(this.last);
 | |
|             sb.append(" step ");
 | |
|             i = -this.step;
 | |
|         }
 | |
|         sb.append(i);
 | |
|         return sb.toString();
 | |
|     }
 | |
| 
 | |
|     /* compiled from: Progressions.kt */
 | |
|     @Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\f\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\t¨\u0006\n"}, d2 = {"Lkotlin/ranges/CharProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/CharProgression;", "rangeStart", "", "rangeEnd", "step", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     public static final class Companion {
 | |
|         public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
 | |
|             this();
 | |
|         }
 | |
| 
 | |
|         private Companion() {
 | |
|         }
 | |
| 
 | |
|         public final CharProgression fromClosedRange(char rangeStart, char rangeEnd, int step) {
 | |
|             return new CharProgression(rangeStart, rangeEnd, step);
 | |
|         }
 | |
|     }
 | |
| }
 |