package me.tomassetti.bytecode_generation.pushop;
import me.tomassetti.bytecode_generation.BytecodeSequence;
import me.tomassetti.jvm.JvmFieldDefinition;
import org.objectweb.asm.MethodVisitor;
import static org.objectweb.asm.Opcodes.*;
public class PushStaticField extends BytecodeSequence {
private JvmFieldDefinition fieldDefinition;
public PushStaticField(JvmFieldDefinition fieldDefinition) {
this.fieldDefinition = fieldDefinition;
}
@Override
public void operate(MethodVisitor mv) {
if (fieldDefinition.isStatic()) {
mv.visitFieldInsn(GETSTATIC, fieldDefinition.getOwnerInternalName(), fieldDefinition.getFieldName(), fieldDefinition.getDescriptor());
} else {
throw new UnsupportedOperationException();
}
}
}