private TypeInfo Visit(AssignMemberCallNode node, MethodBuilder builder, CodegenContext context) { var whereType = Visit(node.MemberCallNode.Where as dynamic, builder, context); VarInfo varInfo = types.GetType(whereType.Name).GetField(node.MemberCallNode.MemberName); context.LastVar = varInfo; return(varInfo.Type); }
private void Visit(AssignNode node) { CommonTree replace = null; CommonTree parent = node.LValue; int index = node.LValue.ChildIndex; var lvalue = node.LValue.Expression; if (lvalue is VarNode) { replace = new AssignVarNode(lvalue as VarNode); } else if (lvalue is MemberCallNode) { replace = new AssignMemberCallNode(lvalue as MemberCallNode); } Replace(parent, replace, index); }