private TypeInfo Visit(AssignVarNode node, MethodBuilder builder, CodegenContext context) { context.LastVar = builder.MethodInfo.GetVar(node.VarName); if (context.LastVar == null) { context.LastVar = context.CurrentClass.GetField(node.VarName); } return(context.LastVar.Type); }
public override void VisitAssignVarNode(AssignVarNode node) { node.Expression.Visit(this); node.ID.Visit(this); var kindAssigment = SyntaxKind.SimpleAssignmentExpression; var assignVar = AssignmentExpression(kindAssigment, expressions.Pop(), expressions.Pop()); assignVar = GetNodeWithAnnotation(assignVar, node.Location) as AssignmentExpressionSyntax; AddStatementToCurrentBlock(ExpressionStatement(assignVar)); }
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); }
public virtual void VisitAssignVarNode(AssignVarNode node) { }