blob: ab8aed4b5f92d30bea9ce1c9564df7daaaeb04b0 [file] [log] [blame]
// Copyright (c) 2024, 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.optimize.argumentpropagation.codescanner;
import com.android.tools.r8.graph.DexField;
import com.android.tools.r8.optimize.compose.UpdateChangedFlagsAbstractFunction;
public interface InFlow {
default boolean isAbstractFunction() {
return false;
}
default AbstractFunction asAbstractFunction() {
return null;
}
default boolean isBaseInFlow() {
return false;
}
default BaseInFlow asBaseInFlow() {
return null;
}
default boolean isCastAbstractFunction() {
return false;
}
default CastAbstractFunction asCastAbstractFunction() {
return null;
}
default boolean isFieldValue() {
return false;
}
default boolean isFieldValue(DexField field) {
return false;
}
default FieldValue asFieldValue() {
return null;
}
default boolean isInstanceFieldReadAbstractFunction() {
return false;
}
default InstanceFieldReadAbstractFunction asInstanceFieldReadAbstractFunction() {
return null;
}
default boolean isMethodParameter() {
return false;
}
default MethodParameter asMethodParameter() {
return null;
}
default boolean isUnknownAbstractFunction() {
return false;
}
default boolean isUpdateChangedFlagsAbstractFunction() {
return false;
}
default UpdateChangedFlagsAbstractFunction asUpdateChangedFlagsAbstractFunction() {
return null;
}
}