• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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