if (leftNode == null) return searchConst(s, name);
if (iVisited instanceof Colon2ConstNode) {
// 1. Load the module first (lhs of node)
// 2. Then load the constant from the module
Operand module = build(iVisited.getLeftNode(), s);
if (module instanceof MetaObject) module = MetaObject.create(((MetaObject)module).scope);
Variable constVal = s.getNewTemporaryVariable();
s.addInstr(new GetConstInstr(constVal, module, name));
return constVal;
} else if (iVisited instanceof Colon2MethodNode) {
Colon2MethodNode c2mNode = (Colon2MethodNode)iVisited;
List<Operand> args = setupCallArgs(null, s);
Operand block = setupCallClosure(null, s);
Variable callResult = s.getNewTemporaryVariable();
Instr callInstr = new CallInstr(callResult, new MethAddr(c2mNode.getName()),
null, args.toArray(new Operand[args.size()]), block);
s.addInstr(callInstr);
return callResult;