blob: a37443909fd1817198049602c8dc872280e1398a [file] [log] [blame]
// Copyright (c) 2019, 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.code;
public interface InstructionVisitor<T> {
T visit(Add instruction);
T visit(AlwaysMaterializingDefinition instruction);
T visit(AlwaysMaterializingNop instruction);
T visit(AlwaysMaterializingUser instruction);
T visit(And instruction);
T visit(Argument instruction);
T visit(ArrayGet instruction);
T visit(ArrayLength instruction);
T visit(ArrayPut instruction);
T visit(Assume instruction);
T visit(CheckCast instruction);
T visit(Cmp instruction);
T visit(ConstClass instruction);
T visit(ConstMethodHandle instruction);
T visit(ConstMethodType instruction);
T visit(ConstNumber instruction);
T visit(ConstString instruction);
T visit(DebugLocalRead instruction);
T visit(DebugLocalsChange instruction);
T visit(DebugLocalUninitialized instruction);
T visit(DebugLocalWrite instruction);
T visit(DebugPosition instruction);
T visit(DexItemBasedConstString instruction);
T visit(Div instruction);
T visit(Dup instruction);
T visit(Dup2 instruction);
T visit(Goto instruction);
T visit(If instruction);
T visit(Inc instruction);
T visit(InitClass instruction);
T visit(InstanceGet instruction);
T visit(InstanceOf instruction);
T visit(InstancePut instruction);
T visit(InvokeCustom instruction);
T visit(InvokeDirect instruction);
T visit(InvokeInterface instruction);
T visit(InvokeMultiNewArray instruction);
T visit(InvokeNewArray instruction);
T visit(InvokePolymorphic instruction);
T visit(InvokeStatic instruction);
T visit(InvokeSuper instruction);
T visit(InvokeVirtual instruction);
T visit(Load instruction);
T visit(Monitor instruction);
T visit(Move instruction);
T visit(MoveException instruction);
T visit(Mul instruction);
T visit(Neg instruction);
T visit(NewArrayEmpty instruction);
T visit(NewArrayFilledData instruction);
T visit(NewInstance instruction);
T visit(Not instruction);
T visit(NumberConversion instruction);
T visit(Or instruction);
T visit(Pop instruction);
T visit(Rem instruction);
T visit(Return instruction);
T visit(Shl instruction);
T visit(Shr instruction);
T visit(StaticGet instruction);
T visit(StaticPut instruction);
T visit(Store instruction);
T visit(Sub instruction);
T visit(Swap instruction);
T visit(IntSwitch instruction);
T visit(StringSwitch instruction);
T visit(Throw instruction);
T visit(Ushr instruction);
T visit(Xor instruction);
}