class OperatorEvaluate extends OperatorBase {
    public OperatorEvaluate(String name) {
        this.name = name;
    }

    public OperatorEvaluate(String aliasName, String name, String errorInfo) {
        this.name = name;
        this.aliasName = aliasName;
        this.errorInfo = errorInfo;
    }

    @Override
    public OperateData executeInner(InstructionSetContext parent, ArraySwap list) throws Exception {
        return executeInner(parent, list.get(0), list.get(1));
    }

    public OperateData executeInner(InstructionSetContext parent,
        OperateData op1, OperateData op2) throws Exception {<FILL_FUNCTION_BODY>}
}

        Class<?> targetType = op1.getDefineType();
        Class<?> sourceType = op2.getType(parent);
        if (targetType != null) {
            if (!ExpressUtil.isAssignable(targetType, sourceType)) {
                throw new QLException("赋值时候，类型转换错误：" + ExpressUtil.getClassName(sourceType) + " 不能转换为 "
                    + ExpressUtil.getClassName(targetType));
            }

        }
        Object result = op2.getObject(parent);
        if (targetType != null) {
            result = ExpressUtil.castObject(result, targetType, false);
        }
        op1.setObject(parent, result);
        return op1;
    
<methods>public non-sealed void <init>() ,public com.ql.util.express.OperateData execute(com.ql.util.express.InstructionSetContext, com.ql.util.express.ArraySwap, List<java.lang.String>) throws java.lang.Exception,public abstract com.ql.util.express.OperateData executeInner(com.ql.util.express.InstructionSetContext, com.ql.util.express.ArraySwap) throws java.lang.Exception,public java.lang.String getAliasName() ,public java.lang.String getErrorInfo() ,public java.lang.String getName() ,public java.lang.String[] getOperateDataAnnotation() ,public java.lang.String[] getOperateDataDesc() ,public boolean isPrecise() ,public void setAliasName(java.lang.String) ,public void setErrorInfo(java.lang.String) ,public void setName(java.lang.String) ,public void setPrecise(boolean) ,public java.lang.Object[] toObjectList(com.ql.util.express.InstructionSetContext, com.ql.util.express.ArraySwap) throws java.lang.Exception,public java.lang.String toString() <variables>protected java.lang.String aliasName,protected java.lang.String errorInfo,protected boolean isPrecise,protected java.lang.String name,protected java.lang.String[] operateDataAnnotation,protected java.lang.String[] operateDataDesc