@Override
public BasicValue binaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2) throws AnalyzerException {
if(insn.getOpcode() == Opcodes.AALOAD) {
Type t1 = value1.getType();
if(t1 == null || t1.getSort() != Type.ARRAY) {
throw new AnalyzerException(insn, "AALOAD needs an array as first parameter");
}
Type resultType = Type.getType(t1.getDescriptor().substring(1));
return new BasicValue(resultType);
}