blob: 2e1d073dbc27b5412dfd7d2b1e35a35787e7453c [file] [log] [blame]
// Copyright (c) 2018, 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.utils.codeinspector;
import com.android.tools.r8.cf.code.CfFieldInstruction;
import com.android.tools.r8.cf.code.CfInstruction;
public class FieldAccessCfInstructionSubject extends CfInstructionSubject
implements FieldAccessInstructionSubject {
private final CodeInspector codeInspector;
public FieldAccessCfInstructionSubject(
CodeInspector codeInspector, CfInstruction instruction, MethodSubject method) {
super(instruction, method);
this.codeInspector = codeInspector;
assert isFieldAccess();
}
@Override
public TypeSubject holder() {
return new TypeSubject(codeInspector, ((CfFieldInstruction) instruction).getField().holder);
}
@Override
public TypeSubject type() {
return new TypeSubject(codeInspector, ((CfFieldInstruction) instruction).getField().type);
}
@Override
public String name() {
return ((CfFieldInstruction) instruction).getField().name.toString();
}
}