blob: 4c6cf04846cadee30fb4afa81f5d549dc4b455d6 [file] [log] [blame]
// Copyright (c) 2021, 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.ir.analysis.value;
import com.android.tools.r8.utils.OptionalBool;
public interface ConstantOrNonConstantNumberValue {
boolean containsInt(int value);
OptionalBool isSubsetOf(int[] values);
ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue();
boolean isSingleNumberValue();
SingleNumberValue asSingleNumberValue();
boolean isNonConstantNumberValue();
NonConstantNumberValue asNonConstantNumberValue();
boolean isNumberFromIntervalValue();
NumberFromIntervalValue asNumberFromIntervalValue();
boolean isNumberFromSetValue();
NumberFromSetValue asNumberFromSetValue();
boolean mayOverlapWith(ConstantOrNonConstantNumberValue other);
}