class FieldCallInstructionFactory extends InstructionFactory {
    @Override
    public boolean createInstruction(ExpressRunner expressRunner, InstructionSet result,
        Stack<ForRelBreakContinue> forStack,
        ExpressNode node, boolean isRoot) throws Exception {<FILL_FUNCTION_BODY>}
}

        ExpressNode[] children = node.getChildrenArray();

        //处理对象
        boolean returnValue = expressRunner.createInstructionSetPrivate(result, forStack, children[0], false);

        //处理属性名称
        if (!"CONST_STRING".equalsIgnoreCase(children[1].getNodeType().getName())) {
            throw new QLCompileException("对象属性名称不是字符串常量:" + children[1]);
        }

        String fieldName = (String)children[1].getObjectValue();

        OperatorBase op = new OperatorField(fieldName);
        result.addInstruction(new InstructionOperator(op, 1).setLine(node.getLine()));
        return returnValue;
    
<methods>public non-sealed void <init>() ,public abstract boolean createInstruction(com.ql.util.express.ExpressRunner, com.ql.util.express.InstructionSet, Stack<com.ql.util.express.instruction.ForRelBreakContinue>, com.ql.util.express.parse.ExpressNode, boolean) throws java.lang.Exception,public static com.ql.util.express.instruction.InstructionFactory getInstructionFactory(java.lang.String) <variables>private static final Map<java.lang.String,com.ql.util.express.instruction.InstructionFactory> INSTRUCTION_FACTORY_MAP