1 // Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file 2 // for details. All rights reserved. Use of this source code is governed by a 3 // BSD-style license that can be found in the LICENSE file. 4 package com.android.tools.r8.code; 5 6 import com.android.tools.r8.ir.code.MemberType; 7 import com.android.tools.r8.ir.conversion.IRBuilder; 8 9 public class AgetByte extends Format23x { 10 11 public static final int OPCODE = 0x48; 12 public static final String NAME = "AgetByte"; 13 public static final String SMALI_NAME = "aget-byte"; 14 AgetByte(int high, BytecodeStream stream)15 /*package*/ AgetByte(int high, BytecodeStream stream) { 16 super(high, stream); 17 } 18 AgetByte(int AA, int BB, int CC)19 public AgetByte(int AA, int BB, int CC) { 20 super(AA, BB, CC); 21 } 22 getName()23 public String getName() { 24 return NAME; 25 } 26 getSmaliName()27 public String getSmaliName() { 28 return SMALI_NAME; 29 } 30 getOpcode()31 public int getOpcode() { 32 return OPCODE; 33 } 34 35 @Override buildIR(IRBuilder builder)36 public void buildIR(IRBuilder builder) { 37 builder.addArrayGet(MemberType.BYTE, AA, BB, CC); 38 } 39 40 @Override canThrow()41 public boolean canThrow() { 42 return true; 43 } 44 } 45