|  | // Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | package com.android.tools.r8.naming; | 
|  |  | 
|  | /** Represents a line number range. */ | 
|  | public class Range { | 
|  |  | 
|  | public final int from; | 
|  | public final int to; | 
|  |  | 
|  | public Range(int from, int to) { | 
|  | this.from = from; | 
|  | this.to = to; | 
|  | // TODO(b/145897713): Seems like we should be able to assert from <= to. | 
|  | } | 
|  |  | 
|  | public boolean contains(int value) { | 
|  | return from <= value && value <= to; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public String toString() { | 
|  | return from + ":" + to; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public boolean equals(Object o) { | 
|  | if (this == o) { | 
|  | return true; | 
|  | } | 
|  | if (!(o instanceof Range)) { | 
|  | return false; | 
|  | } | 
|  |  | 
|  | Range range = (Range) o; | 
|  | return from == range.from && to == range.to; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public int hashCode() { | 
|  | int result = from; | 
|  | result = 31 * result + to; | 
|  | return result; | 
|  | } | 
|  | } |