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.
4package com.android.tools.r8.code;
5
6import com.android.tools.r8.ir.code.MemberType;
7import com.android.tools.r8.ir.conversion.IRBuilder;
8
9public class AgetChar extends Format23x {
10
11  public static final int OPCODE = 0x49;
12  public static final String NAME = "AgetChar";
13  public static final String SMALI_NAME = "aget-char";
14
15  /*package*/ AgetChar(int high, BytecodeStream stream) {
16    super(high, stream);
17  }
18
19  public AgetChar(int AA, int BB, int CC) {
20    super(AA, BB, CC);
21  }
22
23  public String getName() {
24    return NAME;
25  }
26
27  public String getSmaliName() {
28    return SMALI_NAME;
29  }
30
31  public int getOpcode() {
32    return OPCODE;
33  }
34
35  @Override
36  public void buildIR(IRBuilder builder) {
37    builder.addArrayGet(MemberType.CHAR, AA, BB, CC);
38  }
39
40  @Override
41  public boolean canThrow() {
42    return true;
43  }
44}
45